blob: cce4619cdf7abeb6ec67696a0023d7d51a317044 [file] [log] [blame]
Eric Andersen2d523c22004-10-09 01:06:03 +00001#
2
Peter Korsgaard6a53b722011-02-02 14:53:23 +01003mainmenu "Buildroot $BR2_VERSION Configuration"
Eric Andersen2d523c22004-10-09 01:06:03 +00004
5config BR2_HAVE_DOT_CONFIG
6 bool
7 default y
8
Bernhard Reutner-Fischerf5b8cd42007-09-25 11:37:31 +00009config BR2_VERSION
10 string
Yann E. MORIN56c68bc2010-10-31 17:35:14 +010011 option env="BR2_VERSION_FULL"
Bernhard Reutner-Fischerf5b8cd42007-09-25 11:37:31 +000012
Francois Perrad1d4104f2012-07-18 15:59:09 +020013config BR2_HOSTARCH
14 string
15 option env="HOSTARCH"
16
Bernhard Reutner-Fischerbb9e6a72007-09-28 21:54:36 +000017source "target/Config.in.arch"
Bernhard Reutner-Fischer7d8a59b2007-07-08 16:28:54 +000018
Eric Andersen8e5fb3f2004-12-11 13:01:10 +000019menu "Build options"
20
Thomas Petazzoni15929262010-04-10 22:55:01 +020021menu "Commands"
22
Eric Andersen2d523c22004-10-09 01:06:03 +000023config BR2_WGET
Eric Andersen8e5fb3f2004-12-11 13:01:10 +000024 string "Wget command"
Peter Korsgaard6871b162010-11-04 19:16:43 +010025 default "wget --passive-ftp -nd -t 3"
Eric Andersen2d523c22004-10-09 01:06:03 +000026
Maxime Petazzonicf711112010-09-02 12:09:45 +020027config BR2_SVN
28 string "Subversion (svn) command"
29 default "svn"
Eric Andersene30cf262005-01-23 11:20:30 +000030
Maxime Petazzonicf711112010-09-02 12:09:45 +020031config BR2_BZR
32 string "Bazaar (bzr) command"
33 default "bzr"
Sven Neumanndf03cda2009-08-07 11:57:54 +020034
Ulf Samuelsson85f54fb2007-08-24 05:31:07 +000035config BR2_GIT
Maxime Petazzonicf711112010-09-02 12:09:45 +020036 string "Git command"
37 default "git"
Ulf Samuelsson85f54fb2007-08-24 05:31:07 +000038
David Wagner2690e762011-09-29 21:57:46 +020039config BR2_LOCALFILES
40 string "Local files retrieval command"
41 default "cp"
42
Thomas De Schampheleirec61788f2011-10-19 09:25:40 +020043config BR2_SCP
44 string "Secure copy (scp) command"
45 default "scp"
46
47config BR2_SSH
48 string "Secure shell (ssh) command"
49 default "ssh"
50
Thomas De Schampheleiref694c072011-10-19 09:25:47 +020051config BR2_HG
52 string "Mercurial (hg) command"
53 default "hg"
54
Bernhard Reutner-Fischer859b9132006-10-01 15:07:45 +000055config BR2_ZCAT
56 string "zcat command"
Bernhard Reutner-Fischera9612bf2007-03-09 08:26:10 +000057 default "gzip -d -c"
Bernhard Reutner-Fischer859b9132006-10-01 15:07:45 +000058 help
59 Command to be used to extract a gzip'ed file to stdout.
60 zcat is identical to gunzip -c except that the former may
61 not be available on your system.
Bernhard Reutner-Fischera9612bf2007-03-09 08:26:10 +000062 Default is "gzip -d -c"
63 Other possible values include "gunzip -c" or "zcat".
Bernhard Reutner-Fischer6e2823c2006-11-17 15:43:51 +000064
65config BR2_BZCAT
66 string "bzcat command"
67 default "bzcat"
68 help
69 Command to be used to extract a bzip2'ed file to stdout.
70 bzcat is identical to bunzip2 -c except that the former may
71 not be available on your system.
72 Default is "bzcat"
73 Other possible values include "bunzip2 -c" or "bzip2 -d -c".
Bernhard Reutner-Fischer859b9132006-10-01 15:07:45 +000074
Allan W. Nielsen177b4b42011-05-10 08:17:05 +020075config BR2_XZCAT
76 string "xzcat command"
77 default "xzcat"
78 help
79 Command to be used to extract a xz'ed file to stdout.
80 Default is "xzcat"
81
Bernhard Reutner-Fischerce90aae2005-12-10 14:59:02 +000082config BR2_TAR_OPTIONS
83 string "Tar options"
Bernhard Reutner-Fischer7df4de62005-12-10 15:36:43 +000084 default ""
85 help
86 Options to pass to tar when extracting the sources.
87 E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
88 and to be verbose.
Bernhard Reutner-Fischerce90aae2005-12-10 14:59:02 +000089
Thomas Petazzoni15929262010-04-10 22:55:01 +020090endmenu
91
Mike Frysinger59a63a92005-10-01 00:35:24 +000092config BR2_DL_DIR
93 string "Download dir"
H Hartley Sweetenbe695dc2009-09-23 08:46:52 +020094 default "$(TOPDIR)/dl"
Mike Frysinger59a63a92005-10-01 00:35:24 +000095 help
96 Directory to store all the source files that we need to fetch.
Ulf Samuelsson67050e12007-08-21 01:28:12 +000097 If the Linux shell environment has defined the BUILDROOT_DL_DIR
98 environment variable, then this overrides this configuration item.
Mike Frysinger59a63a92005-10-01 00:35:24 +000099
H Hartley Sweetenbe695dc2009-09-23 08:46:52 +0200100 The default is $(TOPDIR)/dl
Bernhard Reutner-Fischer4b0d5a82007-09-26 21:12:38 +0000101
Gustavo Zacariasa2b4f7f2011-02-02 10:05:56 -0300102config BR2_HOST_DIR
103 string "Host dir"
104 default "$(BASE_DIR)/host"
105 help
106 Directory to store all the binary files that are built for the host.
107 This includes the cross compilation toolchain when building the
108 internal buildroot toolchain.
109
110 The default is $(BASE_DIR)/host
111
Thomas Petazzoni80080072010-12-05 21:52:37 +0100112menu "Mirrors and Download locations"
113
114config BR2_PRIMARY_SITE
115 string "Primary download site"
116 default ""
117 help
118 Primary site to download from. If this option is set then buildroot
119 will try to download package source first from this site and try the
120 default if the file is not found.
Thomas De Schampheleirec61788f2011-10-19 09:25:40 +0200121 Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
122 scp://[user@]host:path.
123 NOTE: This works for all packages using the central package
124 infrastructure (generic, autotools, cmake, ...)
Thomas Petazzoni80080072010-12-05 21:52:37 +0100125
Thomas De Schampheleire5a83e082012-06-22 07:37:03 +0200126config BR2_PRIMARY_SITE_ONLY
127 bool "Only allow downloads from primary download site"
128 depends on BR2_PRIMARY_SITE != ""
129 help
130 If this option is enabled, downloads will only be attempted
131 from the primary download site. Other locations, like the
132 package's official download location or the backup download
133 site, will not be considered. Therefore, if the package is
134 not present on the primary site, the download fails.
135
136 This is useful for project developers who want to ensure
137 that the project can be built even if the upstream tarball
138 locations disappear.
139
140if !BR2_PRIMARY_SITE_ONLY
141
Thomas Petazzoni80080072010-12-05 21:52:37 +0100142config BR2_BACKUP_SITE
143 string "Backup download site"
144 default "http://sources.buildroot.net/"
145 help
146 Backup site to download from. If this option is set then buildroot
147 will fall back to download package sources from here if the
148 normal location fails.
149
Thomas Petazzoni80080072010-12-05 21:52:37 +0100150config BR2_KERNEL_MIRROR
151 string "Kernel.org mirror"
152 default "http://www.kernel.org/pub/"
153 help
154 kernel.org is mirrored on a number of servers around the world.
155 The following allows you to select your preferred mirror.
156
157 Have a look on the kernel.org site for a list of mirrors, then enter
158 the URL to the base directory. Examples:
159
160 http://www.XX.kernel.org/pub (XX = country code)
161 http://mirror.aarnet.edu.au/pub/ftp.kernel.org
162
163config BR2_GNU_MIRROR
164 string "GNU Software mirror"
165 default "http://ftp.gnu.org/pub/gnu"
166 help
167 GNU has multiple software mirrors scattered around the world.
168 The following allows you to select your preferred mirror.
169
170 Have a look on the gnu.org site for a list of mirrors, then enter
171 the URL to the base directory. Examples:
172
173 http://ftp.gnu.org/pub/gnu
174 http://mirror.aarnet.edu.au/pub/gnu
175
176config BR2_DEBIAN_MIRROR
177 string "Debian Software mirror"
178 default "http://ftp.debian.org"
179 help
180 Debian has multiple software mirrors scattered around the world.
181 The following allows you to select your preferred mirror.
182
183 Usually, just add your country code like XX here:
184 http://ftp.XX.debian.org
185
Thomas De Schampheleire5a83e082012-06-22 07:37:03 +0200186endif
187
Thomas Petazzoni80080072010-12-05 21:52:37 +0100188endmenu
Thomas Petazzoniaa41d372010-04-10 22:55:38 +0200189
Eric Andersen8e5fb3f2004-12-11 13:01:10 +0000190config BR2_JLEVEL
Nathan Lynch5016aa02012-06-16 09:37:17 +0000191 int "Number of jobs to run simultaneously (0 for auto)"
192 default "0"
Eric Andersen8e5fb3f2004-12-11 13:01:10 +0000193 help
Nathan Lynch5016aa02012-06-16 09:37:17 +0000194 Number of jobs to run simultaneously. If 0, determine
195 automatically according to number of CPUs on the host
196 system.
Bernhard Reutner-Fischer93ab6d32007-01-28 12:03:58 +0000197
Thomas Petazzoni17b66af2010-12-07 21:09:56 +0100198config BR2_CCACHE
199 bool "Enable compiler cache"
200 help
201 This option will enable the use of ccache, a compiler
202 cache. It will cache the result of previous builds to speed
203 up future builds. The cache is stored in
204 $HOME/.buildroot-ccache.
205
Thomas Petazzonif044e032012-03-07 20:26:50 +0100206 Note that Buildroot does not try to invalidate the cache
207 contents when the compiler changes in an incompatible
208 way. Therefore, if you make a change to the compiler version
209 and/or configuration, you are responsible for purging the
210 ccache cache by removing the $HOME/.buildroot-ccache
211 directory.
212
Thomas De Schampheleire43329072012-05-16 21:39:28 +0200213config BR2_CCACHE_DIR
214 string "Compiler cache location"
215 depends on BR2_CCACHE
216 default "$(HOME)/.buildroot-ccache"
217 help
218 Where ccache should store cached files.
219
Bernhard Reutner-Fischer7779fd72007-02-09 13:31:55 +0000220config BR2_DEPRECATED
Bernhard Reutner-Fischer5e1f0342007-02-09 13:35:41 +0000221 bool "Show packages that are deprecated or obsolete"
Bernhard Reutner-Fischer7779fd72007-02-09 13:31:55 +0000222 help
Bernhard Reutner-Fischer5e1f0342007-02-09 13:35:41 +0000223 This option hides outdated/obsolete versions of packages.
Eric Andersenba7c48f2004-12-11 10:25:40 +0000224
John Voltz41f6b792008-03-12 13:07:10 +0000225config BR2_ENABLE_DEBUG
226 bool "build packages with debugging symbols"
John Voltz41f6b792008-03-12 13:07:10 +0000227 help
Thomas Petazzonia9a34672012-03-14 23:49:58 +0100228 Build packages with debugging symbols enabled. All libraries
229 and binaries in the 'staging' directory will have debugging
230 symbols, which allows remote debugging even if libraries and
231 binaries are stripped on the target. Whether libraries and
232 binaries are stripped on the target is controlled by the
233 BR2_STRIP_* options below.
John Voltz41f6b792008-03-12 13:07:10 +0000234
235if BR2_ENABLE_DEBUG
236choice
237 prompt "gcc debug level"
238 default BR2_DEBUG_2
239 help
240 Set the debug level for gcc
241
242config BR2_DEBUG_1
243 bool "debug level 1"
244 help
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000245 Debug level 1 produces minimal information, enough
246 for making backtraces in parts of the program that
247 you don't plan to debug. This includes descriptions
John Voltz41f6b792008-03-12 13:07:10 +0000248 of functions and external variables, but no information
249 about local variables and no line numbers.
250
251config BR2_DEBUG_2
252 bool "debug level 2"
253 help
254 The default gcc debug level is 2
255
256config BR2_DEBUG_3
257 bool "debug level 3"
258 help
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000259 Level 3 includes extra information, such as all the
John Voltz41f6b792008-03-12 13:07:10 +0000260 macro definitions present in the program. Some debuggers
261 support macro expansion when you use -g3.
262endchoice
263endif
264
Bernhard Reutner-Fischerbbd251a2007-07-31 18:06:50 +0000265choice
Thomas Petazzonia9a34672012-03-14 23:49:58 +0100266 prompt "strip command for binaries on target"
Bernhard Reutner-Fischerbbd251a2007-07-31 18:06:50 +0000267 default BR2_STRIP_strip
Bernhard Reutner-Fischerbbd251a2007-07-31 18:06:50 +0000268
269config BR2_STRIP_strip
270 bool "strip"
Mike Frysingerfebe3222011-02-07 00:49:10 -0500271 depends on !BR2_ELF2FLT
Bernhard Reutner-Fischerbbd251a2007-07-31 18:06:50 +0000272 help
Thomas Petazzonia9a34672012-03-14 23:49:58 +0100273 Binaries and libraries in the target filesystem will be
274 stripped using the normal 'strip' command. This allows to
275 save space, mainly by removing debugging symbols. Debugging
276 symbols on the target are needed for native debugging, but
277 not when remote debugging is used.
Ulf Samuelsson85f54fb2007-08-24 05:31:07 +0000278
Bernhard Reutner-Fischerbbd251a2007-07-31 18:06:50 +0000279config BR2_STRIP_sstrip
280 bool "sstrip"
281 select BR2_PACKAGE_SSTRIP_HOST
Mike Frysingerfebe3222011-02-07 00:49:10 -0500282 depends on !BR2_ELF2FLT
Bernhard Reutner-Fischerbbd251a2007-07-31 18:06:50 +0000283 help
Thomas Petazzonia9a34672012-03-14 23:49:58 +0100284 Binaries and libraries in the target filesystem will be
285 stripped using the 'sstrip' command, which strips a little
286 bit more than the traditional 'strip' command. This allows to
287 save space, mainly by removing debugging symbols. Debugging
288 symbols on the target are needed for native debugging, but
289 not when remote debugging is used.
Ulf Samuelsson85f54fb2007-08-24 05:31:07 +0000290
Bernhard Reutner-Fischerbbd251a2007-07-31 18:06:50 +0000291config BR2_STRIP_none
292 bool "none"
293 help
Thomas Petazzonia9a34672012-03-14 23:49:58 +0100294 Do not strip binaries and libraries in the target
295 filesystem.
Bernhard Reutner-Fischerbbd251a2007-07-31 18:06:50 +0000296endchoice
297
Thomas De Schampheleire2a970452012-06-21 19:34:50 +0000298config BR2_STRIP_EXCLUDE_FILES
299 string "executables that should not be stripped"
300 depends on !BR2_STRIP_none
301 default ""
302 help
303 You may specify a space-separated list of binaries and libraries
304 here that should not be stripped on the target.
305
306config BR2_STRIP_EXCLUDE_DIRS
307 string "directories that should be skipped when stripping"
308 depends on !BR2_STRIP_none
309 default ""
310 help
311 You may specify a space-separated list of directories that should
312 be skipped when stripping. Binaries and libraries in these
313 directories will not be touched.
314 The directories should be specified relative to the target directory,
315 without leading slash.
316
John Voltz41f6b792008-03-12 13:07:10 +0000317choice
318 prompt "gcc optimization level"
John Voltz7eb796b2008-03-16 13:26:14 +0000319 default BR2_OPTIMIZE_S
John Voltz923f42a2008-03-12 11:23:11 +0000320 help
John Voltz41f6b792008-03-12 13:07:10 +0000321 Set the optimization level for gcc
322
323config BR2_OPTIMIZE_0
324 bool "optimization level 0"
325 help
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000326 Do not optimize. This is the default.
John Voltz41f6b792008-03-12 13:07:10 +0000327
328config BR2_OPTIMIZE_1
329 bool "optimization level 1"
330 help
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000331 Optimize. Optimizing compilation takes somewhat more time,
332 and a lot more memory for a large function. With -O, the
333 compiler tries to reduce code size and execution time,
334 without performing any optimizations that take a great deal
335 of compilation time. -O turns on the following optimization
336 flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
337 -fcprop-registers -floop-optimize -fif-conversion
338 -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
339 -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
John Voltz41f6b792008-03-12 13:07:10 +0000340 -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000341 -O also turns on -fomit-frame-pointer on machines where doing
John Voltz41f6b792008-03-12 13:07:10 +0000342 so does not interfere with debugging.
343
344config BR2_OPTIMIZE_2
345 bool "optimization level 2"
346 help
347 Optimize even more. GCC performs nearly all supported optimizations
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000348 that do not involve a space-speed tradeoff. The compiler does not
349 perform loop unrolling or function inlining when you specify -O2.
350 As compared to -O, this option increases both compilation time and
351 the performance of the generated code. -O2 turns on all optimization
352 flags specified by -O. It also turns on the following optimization
353 flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
354 -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm
355 -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
356 -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
357 -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
358 -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
359 -freorder-functions -falign-functions -falign-jumps -falign-loops
John Voltz41f6b792008-03-12 13:07:10 +0000360 -falign-labels -ftree-vrp -ftree-pre
361 Please note the warning under -fgcse about invoking -O2 on programs
362 that use computed gotos.
363
364config BR2_OPTIMIZE_3
365 bool "optimization level 3"
366 help
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000367 Optimize yet more. -O3 turns on all optimizations specified by -O2
368 and also turns on the -finline-functions, -funswitch-loops and
John Voltz41f6b792008-03-12 13:07:10 +0000369 -fgcse-after-reload options.
370
371config BR2_OPTIMIZE_S
372 bool "optimize for size"
373 help
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000374 Optimize for size. -Os enables all -O2 optimizations that do not
John Voltz41f6b792008-03-12 13:07:10 +0000375 typically increase code size. It also performs further optimizations
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000376 designed to reduce code size. -Os disables the following optimization
377 flags: -falign-functions -falign-jumps -falign-loops -falign-labels
John Voltz41f6b792008-03-12 13:07:10 +0000378 -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
379 -ftree-vect-loop-version
Peter Korsgaard02a623d2008-08-04 19:07:05 +0000380
John Voltz41f6b792008-03-12 13:07:10 +0000381endchoice
John Voltz923f42a2008-03-12 11:23:11 +0000382
Bernhard Reutner-Fischer3096f342007-06-01 22:16:28 +0000383config BR2_PREFER_STATIC_LIB
384 bool "prefer static libraries"
Bernhard Reutner-Fischer3096f342007-06-01 22:16:28 +0000385 help
Bernhard Reutner-Fischerece6fe02007-06-02 16:36:43 +0000386 Where possible, build and use static libraries for the target.
387 This potentially increases your code size and should only be
388 used if you know what you do.
389 The default is to build dynamic libraries and use those on
390 the target filesystem.
Bernhard Reutner-Fischer3096f342007-06-01 22:16:28 +0000391
392 WARNING: This is highly experimental at the moment.
393
Peter Korsgaard886b2742008-10-20 11:32:25 +0000394config BR2_HAVE_DOCUMENTATION
395 bool "documentation on the target"
396 help
Thomas Petazzonib7030662010-04-10 22:47:28 +0200397 Install the documentation, including manual pages and info
398 pages, on the target.
Peter Korsgaard886b2742008-10-20 11:32:25 +0000399 If you say n here, your target will not contain any
400 documentation.
401
John Voltzf5b96fc2008-03-10 16:34:19 +0000402config BR2_HAVE_DEVFILES
403 bool "development files in target filesystem"
John Voltzbc67ca22008-03-10 15:22:43 +0000404 help
405 Install headers and static libraries in the
406 target filesystem
407
Thomas Petazzoniee0246e2011-09-29 21:57:38 +0200408config BR2_PACKAGE_OVERRIDE_FILE
409 string "location of a package override file"
410 default "$(TOPDIR)/local.mk"
411 help
412 A package override file is a short makefile that contains
413 variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
414 which allows to tell Buildroot to use an existing directory
415 as the source directory for a particular package. See the
416 Buildroot documentation for more details on this feature.
417
Eric Andersen8e5fb3f2004-12-11 13:01:10 +0000418endmenu
Eric Andersen2d523c22004-10-09 01:06:03 +0000419
Bernhard Reutner-Fischer50100392007-09-25 07:55:45 +0000420source "toolchain/Config.in"
421
Thomas Petazzoni6c3e3ad2012-11-03 08:27:58 +0000422source "system/Config.in"
Thomas Petazzonibeb43c72010-12-05 21:52:44 +0100423
Bernhard Reutner-Fischer50100392007-09-25 07:55:45 +0000424source "package/Config.in"
425
Thomas Petazzonid06e8022012-01-28 18:42:49 +0100426source "package/Config.in.host"
427
Thomas Petazzoni05852412010-03-10 22:30:06 +0100428source "fs/Config.in"
429
Thomas Petazzoni649b5b92010-03-14 18:20:45 +0100430source "boot/Config.in"
431
Thomas Petazzoni487e21c2010-04-03 18:46:46 +0200432source "linux/Config.in"