libffi: Add -mno-compact-eh when compiling for Mips
[buildroot-gz.git] / Config.in
blob78dea3be02ad154460c277afc4844ae68d7ecf60
3 mainmenu "Buildroot $BR2_VERSION Configuration"
5 config BR2_HAVE_DOT_CONFIG
6         bool
7         default y
9 config BR2_VERSION
10         string
11         option env="BR2_VERSION_FULL"
13 config BR2_HOSTARCH
14         string
15         option env="HOSTARCH"
17 # Hidden boolean selected by pre-built packages for x86, when they
18 # need to run on x86-64 machines (example: pre-built external
19 # toolchains, binary tools like SAM-BA, etc.).
20 config BR2_HOSTARCH_NEEDS_IA32_LIBS
21         bool
23 source "arch/Config.in"
25 menu "Build options"
27 menu "Commands"
29 config BR2_WGET
30         string "Wget command"
31         default "wget --passive-ftp -nd -t 3"
33 config BR2_SVN
34         string "Subversion (svn) command"
35         default "svn"
37 config BR2_BZR
38         string "Bazaar (bzr) command"
39         default "bzr"
41 config BR2_GIT
42         string "Git command"
43         default "git"
45 config BR2_LOCALFILES
46         string "Local files retrieval command"
47         default "cp"
49 config BR2_SCP
50         string "Secure copy (scp) command"
51         default "scp"
53 config BR2_SSH
54         string "Secure shell (ssh) command"
55         default "ssh"
57 config BR2_HG
58         string "Mercurial (hg) command"
59         default "hg"
61 config BR2_ZCAT
62         string "zcat command"
63         default "gzip -d -c"
64         help
65           Command to be used to extract a gzip'ed file to stdout.
66           zcat is identical to gunzip -c except that the former may
67           not be available on your system.
68           Default is "gzip -d -c"
69           Other possible values include "gunzip -c" or "zcat".
71 config BR2_BZCAT
72         string "bzcat command"
73         default "bzcat"
74         help
75           Command to be used to extract a bzip2'ed file to stdout.
76           bzcat is identical to bunzip2 -c except that the former may
77           not be available on your system.
78           Default is "bzcat"
79           Other possible values include "bunzip2 -c" or "bzip2 -d -c".
81 config BR2_XZCAT
82         string "xzcat command"
83         default "xzcat"
84         help
85           Command to be used to extract a xz'ed file to stdout.
86           Default is "xzcat"
88 config BR2_TAR_OPTIONS
89         string "Tar options"
90         default ""
91         help
92           Options to pass to tar when extracting the sources.
93           E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
94           and to be verbose.
96 endmenu
98 config BR2_DEFCONFIG_FROM_ENV
99         string
100         option env="BR2_DEFCONFIG"
102 config BR2_DEFCONFIG
103         string "Location to save buildroot config"
104         default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
105         default "$(CONFIG_DIR)/defconfig"
106         help
107           When running 'make savedefconfig', the defconfig file will be saved
108           in this location.
110 config BR2_DL_DIR
111         string "Download dir"
112         default "$(TOPDIR)/dl"
113         help
114           Directory to store all the source files that we need to fetch.
115           If the Linux shell environment has defined the BUILDROOT_DL_DIR
116           environment variable, then this overrides this configuration item.
118           The default is $(TOPDIR)/dl
120 config BR2_HOST_DIR
121         string "Host dir"
122         default "$(BASE_DIR)/host"
123         help
124           Directory to store all the binary files that are built for the host.
125           This includes the cross compilation toolchain when building the
126           internal buildroot toolchain.
128           The default is $(BASE_DIR)/host
130 menu "Mirrors and Download locations"
132 config BR2_PRIMARY_SITE
133         string "Primary download site"
134         default ""
135         help
136           Primary site to download from. If this option is set then buildroot
137           will try to download package source first from this site and try the
138           default if the file is not found.
139           Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
140           scp://[user@]host:path.
141           NOTE: This works for all packages using the central package
142           infrastructure (generic, autotools, cmake, ...)
144 config BR2_PRIMARY_SITE_ONLY
145         bool "Only allow downloads from primary download site"
146         depends on BR2_PRIMARY_SITE != ""
147         help
148           If this option is enabled, downloads will only be attempted
149           from the primary download site. Other locations, like the
150           package's official download location or the backup download
151           site, will not be considered. Therefore, if the package is
152           not present on the primary site, the download fails.
154           This is useful for project developers who want to ensure
155           that the project can be built even if the upstream tarball
156           locations disappear.
158 if !BR2_PRIMARY_SITE_ONLY
160 config BR2_BACKUP_SITE
161         string "Backup download site"
162         default "http://sources.buildroot.net/"
163         help
164           Backup site to download from. If this option is set then buildroot
165           will fall back to download package sources from here if the
166           normal location fails.
168 config BR2_KERNEL_MIRROR
169         string "Kernel.org mirror"
170         default "http://www.kernel.org/pub/"
171         help
172           kernel.org is mirrored on a number of servers around the world.
173           The following allows you to select your preferred mirror.
175           Have a look on the kernel.org site for a list of mirrors, then enter
176           the URL to the base directory.  Examples:
178              http://www.XX.kernel.org/pub (XX = country code)
179              http://mirror.aarnet.edu.au/pub/ftp.kernel.org
181 config BR2_GNU_MIRROR
182         string "GNU Software mirror"
183         default "http://ftp.gnu.org/pub/gnu"
184         help
185           GNU has multiple software mirrors scattered around the world.
186           The following allows you to select your preferred mirror.
188           Have a look on the gnu.org site for a list of mirrors, then enter
189           the URL to the base directory.  Examples:
191              http://ftp.gnu.org/pub/gnu
192              http://mirror.aarnet.edu.au/pub/gnu
194 config BR2_DEBIAN_MIRROR
195         string "Debian Software mirror"
196         default "http://ftp.debian.org"
197         help
198           Debian has multiple software mirrors scattered around the world.
199           The following allows you to select your preferred mirror.
201           Usually, just add your country code like XX here:
202           http://ftp.XX.debian.org
204 endif
206 endmenu
208 config BR2_JLEVEL
209         int "Number of jobs to run simultaneously (0 for auto)"
210         default "0"
211         help
212           Number of jobs to run simultaneously.  If 0, determine
213           automatically according to number of CPUs on the host
214           system.
216 config BR2_CCACHE
217         bool "Enable compiler cache"
218         help
219           This option will enable the use of ccache, a compiler
220           cache. It will cache the result of previous builds to speed
221           up future builds. The cache is stored in
222           $HOME/.buildroot-ccache.
224           Note that Buildroot does not try to invalidate the cache
225           contents when the compiler changes in an incompatible
226           way. Therefore, if you make a change to the compiler version
227           and/or configuration, you are responsible for purging the
228           ccache cache by removing the $HOME/.buildroot-ccache
229           directory.
231 config BR2_CCACHE_DIR
232         string "Compiler cache location"
233         depends on BR2_CCACHE
234         default "$(HOME)/.buildroot-ccache"
235         help
236           Where ccache should store cached files.
238 config BR2_DEPRECATED
239         bool "Show packages that are deprecated or obsolete"
240         help
241           This option hides outdated/obsolete versions of packages.
243 config BR2_ENABLE_DEBUG
244         bool "build packages with debugging symbols"
245         help
246           Build packages with debugging symbols enabled. All libraries
247           and binaries in the 'staging' directory will have debugging
248           symbols, which allows remote debugging even if libraries and
249           binaries are stripped on the target. Whether libraries and
250           binaries are stripped on the target is controlled by the
251           BR2_STRIP_* options below.
253 if BR2_ENABLE_DEBUG
254 choice
255         prompt "gcc debug level"
256         default BR2_DEBUG_2
257         help
258           Set the debug level for gcc
260 config BR2_DEBUG_1
261         bool "debug level 1"
262         help
263           Debug level 1 produces minimal information, enough
264           for making backtraces in parts of the program that
265           you don't plan to debug. This includes descriptions
266           of functions and external variables, but no information
267           about local variables and no line numbers.
269 config BR2_DEBUG_2
270         bool "debug level 2"
271         help
272           The default gcc debug level is 2
274 config BR2_DEBUG_3
275         bool "debug level 3"
276         help
277           Level 3 includes extra information, such as all the
278           macro definitions present in the program. Some debuggers
279           support macro expansion when you use -g3.
280 endchoice
281 endif
283 choice
284         prompt "strip command for binaries on target"
285         default BR2_STRIP_strip
287 config BR2_STRIP_strip
288         bool "strip"
289         depends on !BR2_ELF2FLT
290         help
291           Binaries and libraries in the target filesystem will be
292           stripped using the normal 'strip' command. This allows to
293           save space, mainly by removing debugging symbols. Debugging
294           symbols on the target are needed for native debugging, but
295           not when remote debugging is used.
297 config BR2_STRIP_sstrip
298         bool "sstrip"
299         select BR2_PACKAGE_SSTRIP_HOST
300         depends on !BR2_ELF2FLT
301         help
302           Binaries and libraries in the target filesystem will be
303           stripped using the 'sstrip' command, which strips a little
304           bit more than the traditional 'strip' command. This allows to
305           save space, mainly by removing debugging symbols. Debugging
306           symbols on the target are needed for native debugging, but
307           not when remote debugging is used.
309 config BR2_STRIP_none
310         bool "none"
311         help
312           Do not strip binaries and libraries in the target
313           filesystem.
314 endchoice
316 config BR2_STRIP_EXCLUDE_FILES
317         string "executables that should not be stripped"
318         depends on !BR2_STRIP_none
319         default ""
320         help
321           You may specify a space-separated list of binaries and libraries
322           here that should not be stripped on the target.
324 config BR2_STRIP_EXCLUDE_DIRS
325         string "directories that should be skipped when stripping"
326         depends on !BR2_STRIP_none
327         default ""
328         help
329           You may specify a space-separated list of directories that should
330           be skipped when stripping. Binaries and libraries in these
331           directories will not be touched.
332           The directories should be specified relative to the target directory,
333           without leading slash.
335 choice
336         prompt "gcc optimization level"
337         default BR2_OPTIMIZE_S
338         help
339           Set the optimization level for gcc
341 config BR2_OPTIMIZE_0
342         bool "optimization level 0"
343         help
344           Do not optimize. This is the default.
346 config BR2_OPTIMIZE_1
347         bool "optimization level 1"
348         help
349           Optimize. Optimizing compilation takes somewhat more time,
350           and a lot more memory for a large function. With -O, the
351           compiler tries to reduce code size and execution time,
352           without performing any optimizations that take a great deal
353           of compilation time. -O turns on the following optimization
354           flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
355           -fcprop-registers -floop-optimize -fif-conversion
356           -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
357           -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
358           -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
359           -O also turns on -fomit-frame-pointer on machines where doing
360           so does not interfere with debugging.
362 config BR2_OPTIMIZE_2
363         bool "optimization level 2"
364         help
365           Optimize even more. GCC performs nearly all supported optimizations
366           that do not involve a space-speed tradeoff. The compiler does not
367           perform loop unrolling or function inlining when you specify -O2.
368           As compared to -O, this option increases both compilation time and
369           the performance of the generated code. -O2 turns on all optimization
370           flags specified by -O. It also turns on the following optimization
371           flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
372           -fcse-follow-jumps -fcse-skip-blocks -fgcse  -fgcse-lm
373           -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
374           -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
375           -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
376           -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
377           -freorder-functions -falign-functions -falign-jumps -falign-loops
378           -falign-labels -ftree-vrp -ftree-pre
379           Please note the warning under -fgcse about invoking -O2 on programs
380           that use computed gotos.
382 config BR2_OPTIMIZE_3
383         bool "optimization level 3"
384         help
385           Optimize yet more. -O3 turns on all optimizations specified by -O2
386           and also turns on the -finline-functions, -funswitch-loops and
387           -fgcse-after-reload options.
389 config BR2_OPTIMIZE_S
390         bool "optimize for size"
391         help
392           Optimize for size. -Os enables all -O2 optimizations that do not
393           typically increase code size. It also performs further optimizations
394           designed to reduce code size. -Os disables the following optimization
395           flags: -falign-functions -falign-jumps -falign-loops -falign-labels
396           -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
397           -ftree-vect-loop-version
399 endchoice
401 config BR2_PREFER_STATIC_LIB
402         bool "prefer static libraries"
403         help
404           Where possible, build and use static libraries for the target.
405           This potentially increases your code size and should only be
406           used if you know what you do.
407           The default is to build dynamic libraries and use those on
408           the target filesystem.
410           WARNING: This is highly experimental at the moment.
412 config BR2_HAVE_DOCUMENTATION
413         bool "documentation on the target"
414         # We no longer want to support a toolchain on the target
415         depends on BR2_DEPRECATED
416         help
417           Install the documentation, including manual pages and info
418           pages, on the target.
419           If you say n here, your target will not contain any
420           documentation.
422 config BR2_PACKAGE_OVERRIDE_FILE
423         string "location of a package override file"
424         default "$(TOPDIR)/local.mk"
425         help
426           A package override file is a short makefile that contains
427           variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
428           which allows to tell Buildroot to use an existing directory
429           as the source directory for a particular package. See the
430           Buildroot documentation for more details on this feature.
432 config BR2_GLOBAL_PATCH_DIR
433         string "global patch directory"
434         help
435           You may specify a directory containing global package patches.
436           For a specific version <packageversion> of a specific package
437           <packagename>, patches are applied as follows.
439           First, the default Buildroot patch set for the package is applied.
441           If the directory $(BR2_GLOBAL_PATCH_DIR)/<packagename>/<packageversion>
442           exists, then all *.patch files in the directory will be applied.
444           Otherwise, if the directory $(BR2_GLOBAL_PATCH_DIR)/<packagename> exists,
445           then all *.patch files in the directory will be applied.
447 endmenu
449 source "toolchain/Config.in"
451 source "system/Config.in"
453 source "package/Config.in"
455 source "package/Config.in.host"
457 source "fs/Config.in"
459 source "boot/Config.in"
461 source "linux/Config.in"
463 source "Config.in.legacy"