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