You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
build: Build all YIO components from GitHub source
All YIO components are now built from their GitHub repository sources,
and no longer downloaded as binary releases.
Not only is this more "Buildroot style", but also allows to adapt to new
Qt versions more quickly or use other build environments.
Copy file name to clipboardexpand all lines: README.md
+35-93
Original file line number
Diff line number
Diff line change
@@ -37,26 +37,32 @@ See dedicated [docker-build project](https://github.com/YIO-Remote/docker-build)
37
37
38
38
### Linux
39
39
40
-
The build process has been tested on Ubuntu 18.04.3, 19.04 and 19.10. Other Linux distributions should work as well.
40
+
The build process has been tested on Ubuntu 18.04.3, and 20.04. Other Linux distributions should work as well.
41
41
42
42
#### Prepare Build Environment
43
43
44
44
The minimal [Ubuntu 18.04.3 LTS Server](http://cdimage.ubuntu.com/releases/18.04.3/release/) version is well suited for a headless build VM. Use a desktop version if the VM should also be used for Qt development with Qt Creator.
45
45
46
46
Install required tools:
47
47
48
-
1. Prepare Ubuntu to build the Buildroot toolchain:
48
+
1. Prepare Ubuntu to build the Buildroot toolchain and compile the YIO Qt projects:
49
49
50
50
sudo apt-get install \
51
51
build-essential \
52
+
bzip2 \
52
53
g++ \
54
+
gdb-multiarch \
53
55
gettext \
54
-
patch \
55
56
git \
57
+
libavahi-client-dev \
58
+
libgl1-mesa-dev \
56
59
libncurses5-dev \
57
60
libtool \
58
61
npm \
62
+
patch \
59
63
python \
64
+
rsync \
65
+
tar \
60
66
texinfo \
61
67
unzip \
62
68
screen \
@@ -66,12 +72,6 @@ Install required tools:
66
72
67
73
2. Optional: install Qt with the [Qt online installer](https://www.qt.io/download-open-source).
68
74
69
-
3. Optional: dependencies for Qt development and building Linux target in Qt Creator:
70
-
71
-
sudo apt-get install \
72
-
libavahi-client-dev \
73
-
libgl1-mesa-dev
74
-
75
75
## Build SD Card Image
76
76
77
77
Checkout project:
@@ -123,32 +123,32 @@ Individual YIO components can be selected or deselected within menuconfig:
@@ -203,61 +203,3 @@ Cause: journald build bug when using many cores/threads (> 16)
203
203
Solution: reduce make parallelism
204
204
205
205
make BR2_JLEVEL=12
206
-
207
-
## Technology Research
208
-
209
-
The following technologies were / are investigated for finding an easy and automated solution to build the RPi image.
210
-
211
-
### Build and Use external Toolchain with Buildroot
212
-
213
-
A separate toolchain would speed up the build process. This can easily be achieved with [Buildroot Submodule](https://github.com/Openwide-Ingenierie/buildroot-submodule#using-buildroot-submodule-to-build-a-toolchain-separately).
214
-
215
-
A *make clean* will no longer erase the compiler toolchain and therefore speedup a new full build. Since Qt is required to build the YIO remote projects the complete Qt tools would have to be included as well to use the separate toolchain for the remote-software and -plugin projects. Therefore we are not using this feature to keep it simple and not to introduce another build dependency.
216
-
217
-
Using an external toolchain involves the following changes:
218
-
219
-
1. Dedicated Makefile for the toolchain: `Makefile.toolchain`
220
-
221
-
PROJECT_NAME := toolchain
222
-
include common.mk
223
-
224
-
2. A toolchain subproject with the toolchain configuration: `toolchain/defconfig`
The following technologies were / are investigated for finding an easy and automated solution to build the RPi image.
4
+
5
+
## Build and Use external Toolchain with Buildroot
6
+
7
+
A separate toolchain would speed up the build process. This can easily be achieved with [Buildroot Submodule](https://github.com/Openwide-Ingenierie/buildroot-submodule#using-buildroot-submodule-to-build-a-toolchain-separately).
8
+
9
+
A *make clean* will no longer erase the compiler toolchain and therefore speedup a new full build. Since Qt is required to build the YIO remote projects the complete Qt tools would have to be included as well to use the separate toolchain for the remote-software and -plugin projects. Therefore we are not using this feature to keep it simple and not to introduce another build dependency.
10
+
11
+
Using an external toolchain involves the following changes:
12
+
13
+
1. Dedicated Makefile for the toolchain: `Makefile.toolchain`
14
+
15
+
PROJECT_NAME := toolchain
16
+
include common.mk
17
+
18
+
2. A toolchain subproject with the toolchain configuration: `toolchain/defconfig`
0 commit comments