Building MiniGUI 4.0
This repo contains some scripts and dependencies to build MiniGUI 4.0.x
This instruction assumes that you are using Ubuntu Linux 16.04 LTS or 18.04 LTS.
Note that, we have switched the repos to branch rel-4-0.
Prerequisites
You should run apt install <package_name>
to install the following packages on your Ubuntu Linux.
- Building tools:
- git
- gcc/g++
- binutils
- autoconf/automake
- libtool
- make
- cmake
- pkg-config
- Dependent libraries:
- libgtk2.0-dev
- libjpeg-dev
- libpng12-dev (libpng-dev on Ubuntu Linux 18.04 instead)
- libfreetype6-dev
- libinput-dev
- libdrm-dev
- libsqlite3-dev
- libxml2-dev
- libssl1.0-dev
- electric-fence (used by mg-tests)
If you are using Ubuntu Linux 18.04, please install libpng-dev
. Ubuntu 18.04 does not provide support for libpng12-dev.
Steps
Please make sure that you can visit GitHub and you can do sudo
on your Linux box.
- Clone this repo from GitHub:
$ git clone https://github.com/VincentWei/build-minigui-4.0.git
$ cd build-minigui-4.0/
- Copy
config.sh
tomyconfig.sh
and editmyconfig.sh
to match your needs:
$ cp config.sh myconfig.sh
- Run
fetch-all.sh
to fetch all source from GitHub:
$ ./fetch-all.sh
- Run
build-deps.sh
to build and install gvfb, chipmunk, and harfbuzz:
$ ./build-deps.sh
- Run
build-all.sh
to build all:
$ ./build-all.sh
- Run
mguxdemo
:
$ cd /usr/local/bin
$ ./mguxdemo
When there were some updates in the remote repos, you can run update-all.sh
to update them. You can run clean-build-all.sh
to uninstall, clean, and re-install them.
Note that you might need to run ldconfig
to refresh the shared libraries cache when running mguxdemo
.
Commands to build dependencies
The following steps are those ones in build-deps.sh
. We list them here for your information:
- Make and install
gvfb
:
$ cd gvfb
$ cmake .
$ make; sudo make install
$ cd ..
- Make and install
chipmunk
library (DO NOT use the chipmunk-dev package which is provided by Ubuntu):
$ cd 3rd-party/chipmunk
$ cmake .
$ make; sudo make install
$ cd ../..
- Make and install
harfbuzz
library (DO NOT use the harfbuzz-dev package which is provided by Ubuntu):
$ cd 3rd-party/harfbuzz
$ ./autogen.sh
$ ./config-extern.sh
$ make; sudo make install
$ cd ../..
Cross Building
MiniGUI 4.0.x can run on lots of CPUs with different architechtures, such as ARM, MIPS and so on, after cross compiled. There is a directory named "cross-build", in which there are some scripts for cross compile.
As an example, there is a directory name "arm-r16-linux", which means: This directory is for ARM CPU --- r16, and the Operation System is Linux. In this directory, there are two scipts for download packages, and build MiniGUI 4.0.x for ARM version. You can read the README.md in this directory in detail:
Of course you can build your own directory for your developped CPU and OS.
Change Log
Currently, this repo just includes some scripts to build MiniGUI 4.0.x core, components, and demonstration apps.
Copying
Copyright (C) 2020 Beijing FMSoft Technologies Co., Ltd.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Special Statement
The above open source or free software license does not apply to any entity in the Exception List published by Beijing FMSoft Technologies Co., Ltd.
If you are or the entity you represent is listed in the Exception List, the above open source or free software license does not apply to you or the entity you represent. Regardless of the purpose, you should not use the software in any way whatsoever, including but not limited to downloading, viewing, copying, distributing, compiling, and running. If you have already downloaded it, you MUST destroy all of its copies.
The Exception List is published by FMSoft and may be updated from time to time. For more information, please see https://www.fmsoft.cn/exception-list.
Other Notes
Also note that the software in 3rd-party/
may use different licenses. Please refer to the LICENSE
or COPYING
files in the source trees for more information.
Note that the software fetched from remote repositories may use different licenses. Please refer to the LICENSE
or COPYING
files in the source trees for more information.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了