Config.in 14 KB

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