Config.in 14 KB

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