* updated klines (21.12.1 -> 21.12.2), untested
[t2-trunk.git] / scripts / config.hlp
blob908d8eb1dd2adf152819c3108751ab25218b7343
1 # --- T2-COPYRIGHT-NOTE-BEGIN ---
2 # This copyright note is auto-generated by scripts/Create-CopyPatch.
3
4 # T2 SDE: scripts/config.hlp
5 # Copyright (C) 2004 - 2021 The T2 SDE Project
6 # Copyright (C) 1998 - 2003 ROCK Linux Project
7
8 # More information can be found in the files COPYING and README.
9
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; version 2 of the License. A copy of the
13 # GNU General Public License can be found in the file COPYING.
14 # --- T2-COPYRIGHT-NOTE-END ---
16 COMMENT_ARCHCPUOPT
17   In this section you are able to select the architecture, the CPU and
18   whether you are cross-building/porting to another architecture.
20 COMMENT_TARGET
21   In this section you can select which distribution target you would like
22   to use.
24 COMMENT_LICENSE
25   This distribution may contain software that is not publicly
26   distributable. Please check the following to testify that you
27   are aware of this fact.
29 SDECFG_LICENSE_ISSUE
30   The user of the T2-SDE is responsible for himself to verify
31   that packages that carry a limitation for re-distribution
32   are not redistributed in any form (e.g. ISOs).
34   The developers of the T2-SDE deny any responsibility for
35   mis-use of these packages.
37 COMMENT_BUILD_SYS_CONF
38   Here you can set some basic options for our beautifull distribution
39   build system.
41 SDECFG_ARCH
42   This options controls the target architecture like alpha, ia64, mips,
43   ppc, sparc or x86.
45 SDECFG_SOFTFLOAT
46   Enable this option to generate code for software floating point.
47   This option enables software floating point via a user-space library,
48   instead of a more expensive trap into the kernel for emulation.
50 SDECFG_CROSSBUILD
51   This option needs to be selected to perform a cross-build to another
52   architecture.
54 SDECFG_TARGET
55   Please select the Target you want to build. Here's a short overview:
56    - Boot-, Install- and Rescue-System:
57         The boot-system. You need this if you want to install the system
58         you built with CD or floppy-disk.
59    - Desktop T2:
60         Intended for use on workstations / desktops.
61    - Diet LibC based T2:
62         A distribution using Diet LibC instead of GLibC. DietLibC is
63         a light-weight C-Library useful for embedded systems and other
64         low-memory devices.
65    - Generic T2:
66         A generic, all-purpose distribution that has simply everything.
67    - Minimal T2:
68         A basic system that has only minimally more than a LFS.
69    - Reference-Build for creating *.cache files:
70         This target is for internal use only. It's purpose is to create
71         package/*/*/*.cache files which are used to validate a package
72         and consolidate its various information.
73    - T2 Router:
74         This is a _very_ minimal system with only routing-capabilities.
76 SDECFG_PARALLEL_MAX
77   This option specifes the amount of parallel build jobs that are tried
78   to be kept active. This option is used by make and scons - and should
79   also be defined when you use distcc to perform distributed builds.
81 SDECFG_CONTINUE_ON_ERROR_AFTER
82   Build stage the build will continue after a package build error.
84 SDECFG_RETRY_BROKEN
85   This option controls whether the Build-System should try to build a
86   package that has not built flawlessly during the last build.
88 SDECFG_KEEP_SRC
89   This option controls whether the Build-System should cleanup
90   the src.* directory a package is build in. Possible choices
91   include to never keep the src dirs, even not on build errors,
92   to keep the src dirs on build errors, and to keep src. dirs
93   for packages out of a list. The later is useful if packages
94   are actively developed and the the exact setup is used to
95   continue developing, e.g. with the T2 cross compiler setup.
97 SDECFG_KEEP_SRC_LIST
98   The space (or comma, or collon) seperated list specifies which
99   packages the src dirs should be kept.
101 SDECFG_XTRACE
102   Please check here if you want additional (debug)-output in the build
103   log-files.
105 SDECFG_SRC_TMPFS
106   Check here if you want package buids to use tmpfs instead of the regular
107   filesystem on which T2 resides.
109 SDECFG_SRC_TMPFS_OPT
110   Please enter the tmpfs mount options here. For example:
112     size=800M,nr_inodes=100k
113   will mount an 800 Megabyte tmp-filesystem with 100,000 inodes.
115     size=4G,nr_inodes=500k
116   will mount a 4 Gigabyte tmp-filesystem with 500,000 inodes.
118   Please make sure that the filesystem is big enough to hold
119     - package-sources (unpacked)
120     - compile-time binaries
121     - and the binary package
122   The filesystem size also must not be so big as to hog all your RAM or
123   else your system might crash or start swapping.
125 SDECFG_SRC_TMPFS_LOG
126   Please enter the path to the tmpfs-logfile.
128 SDECFG_EXPERT
129   This button will enable a lot of additional configuration options.
130   Some of these will make small changes to what the system will look
131   like while others will have a huge impact on performance, stability
132   and usability of the final system.
134   Don't touch these if you don't know what you are doing.
136                           YOU HAVE BEEN WARNED!
138 SDECFG_PKGFILE_TYPE
139   The option allows to control the binary package format to be created.
140   The default is to create an ordenary .tar.bz2 - but tar.gz or .gem
141   are also among the options.
143 SDECFG_PKGFILE_VER
144   If selected the package version number will be added to the binary
145   package filenme.
147 SDECFG_PKGSEL
148   If selected you can modify the package list for the build.
150 MENU_PKGSEL_RULES
151   Here you can modify the package list for the build. You have the
152   choice between enable, disable or complete removal. A disabled
153   package can still be reenabled by a target, while a removed one
154   can not be selected by a target.
156   Use "X <pattern>" to enable  packages
157   Use "O <pattern>" to disable packages
158   Use "- <pattern>" to remove  packages
160   For example:
161   "- gnome*"
162   will not build Gnome at all.
164 SDECFG_SHOW_PKGLIST
165   This will display the complete, current package list.
167 SDECFG_CONFOPT_FILE:0
168   Here you can specify additional parameters passed to every ./configure
169   script.
171   Use "--with-option"    to enable  a feature
172   Use "--without-option" to disable a feature
173   Use "--option[=value]" to specify a custom option
175   The Build-Syste will always check whether the configure script supports
176   the options before the options is really passed as argument.
178 COMMENT_FLIST
179   Please see the help for the choice-menu.
181 SDECFG_FLIST
182   The T2 build scripts auto-detect which files are created by a package
183   build and use this information to create the package file-list. There
184   are three techniques which can be used to auto-detect this file list
186     * flist-wrapper
188   The flist-wrapper is the recommended way of doing it. It's an "elf
189   preload library". This is a library which is loaded _before_ the
190   c-library and so can overwrite functions of the c library. The
191   flist-wrapper lib is overwriting all functions which can be used
192   to create files and is writing the filenames to a log file before
193   running the original c library function.
194   This log file is used to create the package file list after the
195   build has been completed. The problem with the flist-wrapper lib is
196   that it doesn't work with statically built binaries or with non
197   glibc c libraries. In such environments (e.g. when building a
198   dietlibc based system), other techniques - such as those described
199   below - must be used for creating the file list.
201     * strace
203   This one is rather easy: The whole build is running in a process-
204   tree which is monitored by strace. The log file created by strace is
205   later used to create the package file list. However: this does only
206   work on architectures which do have an strace command - which is not
207   the case for all architectures the Linux kernel and glibc have been
208   ported to.
210     * find
212   This one is rather ugly (but sometimes the only alternative): When
213   the build is started, a 'timestamp-file' is created. After the build
214   has been completed, the find program is used to find all files which
215   are newer than the 'timestamp-file'. This is really slow now and has
216   the disadvantage that nothing else than the build process may create
217   or modify files while the build is running. This should only be used
218   if no other system for creating the file list can be used.
220 SDECFG_USE_CROSSCC
221   This option controls whether to bootstrap a new, clean and  up-to-date
222   toolchain to bootstrap the target system - even for native (non cross)
223   builds. This is needed when the host and target compiler or C library
224   differ in the ABI. THIS IS STRONGLY RECOMMENDED!
226 SDECFG_DO_REBUILD_STAGE
227   This options controls whether to rebuild all packages in the final
228   rebuild-stage.
229   Each and every package is rebuilt in Stage 9 once more and only then
230   are the binary-packages created. This has the advantage that
231   circular dependencies are resolved, but it also almost doubles the
232   build time.
233   In former times this was recommended - but nowadays this is only a
234   paranoia thing.
236 SDECFG_DO_CHECK
237   This options enables to run a make check / test target for packages
238   with support for this. This can be used as extended quality assurance
239   to make sure the resulting binaries work correct.
241 SDECFG_OPT
242   With this option, the level of optimization can be selected.
244 SDECFG_DEBUG
245   Enable this option if you want to have debug symbols in your binaries.
246   Setting it to 2 will create separate files with debugging symbols.
248 SDECFG_DEBUG_PATH
249   The path used to store the debugging information in. If the specified
250   path is relative, not starting with a slash (/), the new files will
251   be stored relative to the binary object being split.
253 SDECFG_LIMITCXX
254   Check here if you want to disable the C++ exceptions run-time type
255   identification. This can make the C++ binaries about 25% smaller,
256   but any C++ sources using exceptions or rtti, for example QT/KDE,
257   will fail to compile. If you don't know, don't touch.
259 SDECFG_MULTILIB
260   Enable installing several versions of the same library.
262 SDECFG_STATIC_IN_USR
263   Normally packages place static and shared libraries in the same
264   directory. However one might choose to only have files needed while
265   booting in the root (/) filesystem while the static libraries for
266   developemnt resist in the /usr file-system. This option enables to
267   generically move them from /lib* to /usr/lib*.
269 SDECFG_LTO
270   Enabling this option will enable passing -flto option to the compiler
271   and linker. This means compiling to an compiler internal intermediate
272   format and performing link-time-optimizations.
274   Currently this feature is considered experimental.
276 SDECFG_LD_AS_NEEDED
277   Enabling this option will enable passing the --as-needed option to
278   the linker, to only mark the relevant ELF section that are referenced
279   by the executable generated. This does often reduce the dependencies
280   of a binary quite a lot and can help speeding up application start-up
281   time.
283   Currently this feature is considered experimental - if you do not
284   know what --as-needed is about, you probably do not want to enable
285   this option.
287 SDECFG_PIE
288   Enabling this option will enable passing -fPIE/-pie to the GCC
289   compiler in order to generate Position Independant Executables,
290   executables that can be loaded to arbitrary memory locations by
291   the kernel. This feature is mostly used to enhace system security
292   as attack vectors become more random.
294   Currently this feature is considered experimental - if you do not
295   know what PIE is about, you probably do not want to enable this
296   option.
298 SDECFG_DISABLE_NLS
299   Please check here if you do not want to use Native Language Support.
301 SDECFG_CREATE_CACHE
302   Please check here if you want to create *.cache files after a build
303   has completed. This is the same as a reference build.
305 SDECFG_PARANOIA_CHECK
306   Please check here if you want to run sanity checks before building.
307   THIS IS STRONGLY RECOMMENDED!
309 SDECFG_IDCKSUM
310   Please check here if you want to use a checksum instead of the long
311   explanatory SDECFG-ID.