This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
compile [2019/12/30 21:10]
jernej [for current Github master]
compile [2020/02/19 09:27]
milhouse Document additional build options
Line 47: Line 47:
 ===== Specific Version ===== ===== Specific Version =====
-Checkout using a version tag, e.g. to build LibreELEC v9.0.use+Checkout using a version tag, e.g. to build LibreELEC v9.2.use
-  git checkout 9.0.1+  git checkout 9.2.0
 The git revision history will rewind to that tag. The git revision history will rewind to that tag.
Line 86: Line 86:
 \\ \\
 Rockchip RK3288 Rockchip RK3288
-  PROJECT=Rockchip DEVICE=TinkerBoard ​ARCH=arm make image +  PROJECT=Rockchip DEVICE=RK3288 ​ARCH=arm make image 
-  PROJECT=Rockchip DEVICE=MiQi ARCH=arm make image+  PROJECT=Rockchip DEVICE=RK3288 ​ARCH=arm ​UBOOT_SYSTEM=miqi make image 
 +  PROJECT=Rockchip DEVICE=RK3288 ARCH=arm UBOOT_SYSTEM=tinker ​make image
 \\ \\
 Rockchip RK3399 Rockchip RK3399
Line 214: Line 215:
   PROJECT=Virtual ARCH=x86_64   PROJECT=Virtual ARCH=x86_64
 </​tabbox>​ </​tabbox>​
 +====== Additional compile options (master/​LibreELEC 10.0+) ======
 +The following options can be used to customise the build experience:
 +^ Name             ^ Values ​    ^ Default ​   ^ Description ^
 +|''​THREADCOUNT'' ​   |''#'',''#​%'' ​  | ''​100%''​ |Maximum number of packages to build concurrently. On an 8-core system, ''​50%''​ would build up to 4 packages at a time. |
 +|''​ONELOG'' ​        ​|''​yes'',''​no''​ | ''​no'' ​  |If ''​yes'',​ packages will not create individual logs in ''​${THREAD_CONTROL}/​logs''​. If ''​THREADCOUNT''​ is 1 the default becomes ''​ONELOG=yes''​ in which case use ''​ONELOG=no''​ to ensure individual logs are created for each package. |
 +|''​LOGCOMBINE'' ​    ​|''​always'',''​never'',''​fail''​ | ''​always'' ​  ​|Determine under what circumstances package logs are written to ''​stdout''​. Using ''​never''​ and ''​fail''​ can slightly reduce IO. |
 +|''​MTBOOKENDS'' ​    ​|''​yes'',''​no''​ | ''​yes'' ​ |Adds ''<<<''​ and ''>>>''​ tags to the combined log output (to facilitate searching). |
 +|''​DISABLE_COLORS''​ |''​yes'',''​no''​ | ''​no'' ​  ​|Control whether build system output is colored or not. |
 +|''​MTCOLORS'' ​      ​|''​always'',''​never'',''​auto''​ | ''​auto'' ​  |If ''​DISABLE_COLORS=yes'',​ this option controls how ''​scripts/​pkgbuilder.py''​ progress and status information is colored. ''​auto''​ will disable colors when output is being redirected to a file (ie. not a terminal). |
 +|''​MTVERBOSE'' ​     |''​yes'',''​no''​ | ''​no'' ​  ​|Output additional job state information to ''​stderr''​ during the build. |
 +|''​MTPROGRESS'' ​    ​|''​yes'',''​no''​ | ''​no'' ​  ​|Output real-time load, memory and in-progress job information to ''​stderr''​ at 1-second intervals |
 +|''​MTDEBUG'' ​       |''​yes'',''​no''​ | ''​no'' ​  ​|Output detailed debug information to ''​${THREAD_CONTROL}/​debug.log''​ |
 +|''​MTADDONBUILD'' ​  ​|''​yes'',''​no''​ | ''​no'' ​  |If ''​no'',​ the build will end after the first failure. When building add-ons, we typically ignore individual package failures and continue building until all packages have been built (or failed). |
 +|''​MTIMMEDIATE'' ​   |''​yes'',''​no''​ | ''​no'' ​  |When ''​MTADDONBUILD=no''​ and a package fails, the build can finish after all currently building packages have completed, or it can terminate those packages immediately. Allowing packages that are currently building to finish building can save time when restarting the build. |
 +|''​MTINTERVAL'' ​    ​|''#'' ​         | ''​60'' ​  ​|System load information is captured at regular intervals in ''​${THREAD_CONTROL}/​loadstats''​. |
 +|''​AUTOREMOVE'' ​    ​|''​yes'',''​no''​ | ''​no'' ​  ​|Remove source code directories during the build once the source code directory is not required. |
 +Options can be specified on the command line, or added to ''​${HOME}/​.libreelec/​options''​. For example, adding the following to ''​${HOME}/​.libreelec/​options''​ would give a fairly clean and comprehensive output by default, while still allowing command line overrides:
 ====== Download package source code (optional) ====== ====== Download package source code (optional) ======