1 # --- T2-COPYRIGHT-NOTE-BEGIN ---
2 # T2 SDE: scripts/config.hlp
3 # Copyright (C) 2004 - 2022 The T2 SDE Project
4 # Copyright (C) 1998 - 2003 ROCK Linux Project
6 # This Copyright note is generated by scripts/Create-CopyPatch,
7 # more information can be found in the files COPYING and README.
9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License version 2.
11 # --- T2-COPYRIGHT-NOTE-END ---
14 In this section you are able to select the architecture, the CPU and
15 whether you are cross-building/porting to another architecture.
18 In this section you can select which distribution target you would like
22 This distribution may contain software that is not publicly
23 distributable. Please check the following to testify that you
24 are aware of this fact.
27 The user of the T2-SDE is responsible for himself to verify
28 that packages that carry a limitation for re-distribution
29 are not redistributed in any form (e.g. ISOs).
31 The developers of the T2-SDE deny any responsibility for
32 mis-use of these packages.
34 COMMENT_BUILD_SYS_CONF
35 Here you can set some basic options for our beautifull distribution
39 This options controls the target architecture like alpha, ia64, mips,
43 Enable this option to generate code for software floating point.
44 This option enables software floating point via a user-space library,
45 instead of a more expensive trap into the kernel for emulation.
48 This option needs to be selected to perform a cross-build to another
52 Please select the Target you want to build. Here's a short overview:
53 - Boot-, Install- and Rescue-System:
54 The boot-system. You need this if you want to install the system
55 you built with CD or floppy-disk.
57 Intended for use on workstations / desktops.
59 A distribution using Diet LibC instead of GLibC. DietLibC is
60 a light-weight C-Library useful for embedded systems and other
63 A generic, all-purpose distribution that has simply everything.
65 A basic system that has only minimally more than a LFS.
66 - Reference-Build for creating *.cache files:
67 This target is for internal use only. It's purpose is to create
68 package/*/*/*.cache files which are used to validate a package
69 and consolidate its various information.
71 This is a _very_ minimal system with only routing-capabilities.
74 This option specifes the amount of parallel build jobs that are tried
75 to be kept active. This option is used by make and scons - and should
76 also be defined when you use distcc to perform distributed builds.
78 SDECFG_CONTINUE_ON_ERROR_AFTER
79 Build stage the build will continue after a package build error.
82 This option controls whether the Build-System should try to build a
83 package that has not built flawlessly during the last build.
86 This option controls whether the Build-System should cleanup
87 the src.* directory a package is build in. Possible choices
88 include to never keep the src dirs, even not on build errors,
89 to keep the src dirs on build errors, and to keep src. dirs
90 for packages out of a list. The later is useful if packages
91 are actively developed and the the exact setup is used to
92 continue developing, e.g. with the T2 cross compiler setup.
95 The space (or comma, or collon) seperated list specifies which
96 packages the src dirs should be kept.
99 Please check here if you want additional (debug)-output in the build
103 Check here if you want package buids to use tmpfs instead of the regular
104 filesystem on which T2 resides.
107 Please enter the tmpfs mount options here. For example:
109 size=800M,nr_inodes=100k
110 will mount an 800 Megabyte tmp-filesystem with 100,000 inodes.
112 size=4G,nr_inodes=500k
113 will mount a 4 Gigabyte tmp-filesystem with 500,000 inodes.
115 Please make sure that the filesystem is big enough to hold
116 - package-sources (unpacked)
117 - compile-time binaries
118 - and the binary package
119 The filesystem size also must not be so big as to hog all your RAM or
120 else your system might crash or start swapping.
123 Please enter the path to the tmpfs-logfile.
126 This button will enable a lot of additional configuration options.
127 Some of these will make small changes to what the system will look
128 like while others will have a huge impact on performance, stability
129 and usability of the final system.
131 Don't touch these if you don't know what you are doing.
133 YOU HAVE BEEN WARNED!
136 The option allows to control the binary package format to be created.
137 The default is to create an ordenary .tar.bz2 - but tar.gz or .gem
138 are also among the options.
141 If selected the package version number will be added to the binary
145 If selected you can modify the package list for the build.
148 Here you can modify the package list for the build. You have the
149 choice between enable, disable or complete removal. A disabled
150 package can still be reenabled by a target, while a removed one
151 can not be selected by a target.
153 Use "X <pattern>" to enable packages
154 Use "O <pattern>" to disable packages
155 Use "- <pattern>" to remove packages
159 will not build Gnome at all.
162 This will display the complete, current package list.
164 SDECFG_CONFOPT_FILE:0
165 Here you can specify additional parameters passed to every ./configure
168 Use "--with-option" to enable a feature
169 Use "--without-option" to disable a feature
170 Use "--option[=value]" to specify a custom option
172 The Build-Syste will always check whether the configure script supports
173 the options before the options is really passed as argument.
176 Please see the help for the choice-menu.
179 The T2 build scripts auto-detect which files are created by a package
180 build and use this information to create the package file-list. There
181 are three techniques which can be used to auto-detect this file list
185 The flist-wrapper is the recommended way of doing it. It's an "elf
186 preload library". This is a library which is loaded _before_ the
187 c-library and so can overwrite functions of the c library. The
188 flist-wrapper lib is overwriting all functions which can be used
189 to create files and is writing the filenames to a log file before
190 running the original c library function.
191 This log file is used to create the package file list after the
192 build has been completed. The problem with the flist-wrapper lib is
193 that it doesn't work with statically built binaries or with non
194 glibc c libraries. In such environments (e.g. when building a
195 dietlibc based system), other techniques - such as those described
196 below - must be used for creating the file list.
200 This one is rather easy: The whole build is running in a process-
201 tree which is monitored by strace. The log file created by strace is
202 later used to create the package file list. However: this does only
203 work on architectures which do have an strace command - which is not
204 the case for all architectures the Linux kernel and glibc have been
209 This one is rather ugly (but sometimes the only alternative): When
210 the build is started, a 'timestamp-file' is created. After the build
211 has been completed, the find program is used to find all files which
212 are newer than the 'timestamp-file'. This is really slow now and has
213 the disadvantage that nothing else than the build process may create
214 or modify files while the build is running. This should only be used
215 if no other system for creating the file list can be used.
218 This option controls whether to bootstrap a new, clean and up-to-date
219 toolchain to bootstrap the target system - even for native (non cross)
220 builds. This is needed when the host and target compiler or C library
221 differ in the ABI. THIS IS STRONGLY RECOMMENDED!
223 SDECFG_DO_REBUILD_STAGE
224 This options controls whether to rebuild all packages in the final
226 Each and every package is rebuilt in Stage 9 once more and only then
227 are the binary-packages created. This has the advantage that
228 circular dependencies are resolved, but it also almost doubles the
230 In former times this was recommended - but nowadays this is only a
234 This options enables to run a make check / test target for packages
235 with support for this. This can be used as extended quality assurance
236 to make sure the resulting binaries work correct.
239 With this option, the level of optimization can be selected.
242 Enable this option if you want to have debug symbols in your binaries.
243 Setting it to 2 will create separate files with debugging symbols.
246 The path used to store the debugging information in. If the specified
247 path is relative, not starting with a slash (/), the new files will
248 be stored relative to the binary object being split.
251 Check here if you want to disable the C++ exceptions run-time type
252 identification. This can make the C++ binaries about 25% smaller,
253 but any C++ sources using exceptions or rtti, for example QT/KDE,
254 will fail to compile. If you don't know, don't touch.
257 Enable installing several versions of the same library.
260 Normally packages place static and shared libraries in the same
261 directory. However one might choose to only have files needed while
262 booting in the root (/) filesystem while the static libraries for
263 developemnt resist in the /usr file-system. This option enables to
264 generically move them from /lib* to /usr/lib*.
267 Enabling this option will enable passing -flto option to the compiler
268 and linker. This means compiling to an compiler internal intermediate
269 format and performing link-time-optimizations.
271 Currently this feature is considered experimental.
274 Enabling this option will enable passing the --as-needed option to
275 the linker, to only mark the relevant ELF section that are referenced
276 by the executable generated. This does often reduce the dependencies
277 of a binary quite a lot and can help speeding up application start-up
280 Currently this feature is considered experimental - if you do not
281 know what --as-needed is about, you probably do not want to enable
285 Enabling this option will enable passing -fPIE/-pie to the GCC
286 compiler in order to generate Position Independant Executables,
287 executables that can be loaded to arbitrary memory locations by
288 the kernel. This feature is mostly used to enhace system security
289 as attack vectors become more random.
291 Currently this feature is considered experimental - if you do not
292 know what PIE is about, you probably do not want to enable this
296 Please check here if you do not want to use Native Language Support.
299 Please check here if you want to create *.cache files after a build
300 has completed. This is the same as a reference build.
302 SDECFG_PARANOIA_CHECK
303 Please check here if you want to run sanity checks before building.
304 THIS IS STRONGLY RECOMMENDED!
307 Please check here if you want to use a checksum instead of the long
308 explanatory SDECFG-ID.