Config.in 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  1. # DO NOT EDIT. This file is generated from Config.src
  2. #
  3. # For a description of the syntax of this configuration file,
  4. # see docs/Kconfig-language.txt.
  5. #
  6. menu "Shells"
  7. choice
  8. prompt "Choose which shell is aliased to 'sh' name"
  9. default BUSYBOX_CONFIG_SH_IS_ASH
  10. help
  11. Choose which shell you want to be executed by 'sh' alias.
  12. The ash shell is the most bash compatible and full featured one.
  13. # note: cannot use "select ASH" here, it breaks "make allnoconfig"
  14. config BUSYBOX_CONFIG_SH_IS_ASH
  15. depends on !BUSYBOX_CONFIG_NOMMU
  16. bool "ash"
  17. select BUSYBOX_CONFIG_SHELL_ASH
  18. help
  19. Choose ash to be the shell executed by 'sh' name.
  20. The ash code will be built into busybox. If you don't select
  21. "ash" choice (CONFIG_ASH), this shell may only be invoked by
  22. the name 'sh' (and not 'ash').
  23. config BUSYBOX_CONFIG_SH_IS_HUSH
  24. bool "hush"
  25. select BUSYBOX_CONFIG_SHELL_HUSH
  26. help
  27. Choose hush to be the shell executed by 'sh' name.
  28. The hush code will be built into busybox. If you don't select
  29. "hush" choice (CONFIG_HUSH), this shell may only be invoked by
  30. the name 'sh' (and not 'hush').
  31. config BUSYBOX_CONFIG_SH_IS_NONE
  32. bool "none"
  33. endchoice
  34. choice
  35. prompt "Choose which shell is aliased to 'bash' name"
  36. default BUSYBOX_CONFIG_BASH_IS_NONE
  37. help
  38. Choose which shell you want to be executed by 'bash' alias.
  39. The ash shell is the most bash compatible and full featured one,
  40. although compatibility is far from being complete.
  41. Note that selecting this option does not switch on any bash
  42. compatibility code. It merely makes it possible to install
  43. /bin/bash (sym)link and run scripts which start with
  44. #!/bin/bash line.
  45. Many systems use it in scripts which use bash-specific features,
  46. even simple ones like $RANDOM. Without this option, busybox
  47. can't be used for running them because it won't recongnize
  48. "bash" as a supported applet name.
  49. config BUSYBOX_CONFIG_BASH_IS_ASH
  50. depends on !BUSYBOX_CONFIG_NOMMU
  51. bool "ash"
  52. select BUSYBOX_CONFIG_SHELL_ASH
  53. help
  54. Choose ash to be the shell executed by 'bash' name.
  55. The ash code will be built into busybox. If you don't select
  56. "ash" choice (CONFIG_ASH), this shell may only be invoked by
  57. the name 'bash' (and not 'ash').
  58. config BUSYBOX_CONFIG_BASH_IS_HUSH
  59. bool "hush"
  60. select BUSYBOX_CONFIG_SHELL_HUSH
  61. help
  62. Choose hush to be the shell executed by 'bash' name.
  63. The hush code will be built into busybox. If you don't select
  64. "hush" choice (CONFIG_HUSH), this shell may only be invoked by
  65. the name 'bash' (and not 'hush').
  66. config BUSYBOX_CONFIG_BASH_IS_NONE
  67. bool "none"
  68. endchoice
  69. config BUSYBOX_CONFIG_SHELL_ASH
  70. bool #hidden option
  71. depends on !BUSYBOX_CONFIG_NOMMU
  72. config BUSYBOX_CONFIG_ASH
  73. bool "ash (80 kb)"
  74. default BUSYBOX_DEFAULT_ASH
  75. depends on !BUSYBOX_CONFIG_NOMMU
  76. select BUSYBOX_CONFIG_SHELL_ASH
  77. help
  78. The most complete and most pedantically correct shell included with
  79. busybox. This shell is actually a derivative of the Debian 'dash'
  80. shell (by Herbert Xu), which was created by porting the 'ash' shell
  81. (written by Kenneth Almquist) from NetBSD.
  82. # ash options
  83. # note: Don't remove !NOMMU part in the next line; it would break
  84. # menuconfig's indenting.
  85. if !NOMMU && (BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH)
  86. config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
  87. bool "Optimize for size instead of speed"
  88. default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
  89. depends on BUSYBOX_CONFIG_SHELL_ASH
  90. config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
  91. bool "Use internal glob() implementation"
  92. default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB # Y is bigger, but because of uclibc glob() bug, let Y be default for now
  93. depends on BUSYBOX_CONFIG_SHELL_ASH
  94. help
  95. Do not use glob() function from libc, use internal implementation.
  96. Use this if you are getting "glob.h: No such file or directory"
  97. or similar build errors.
  98. Note that as of now (2017-01), uclibc and musl glob() both have bugs
  99. which would break ash if you select N here.
  100. config BUSYBOX_CONFIG_ASH_BASH_COMPAT
  101. bool "bash-compatible extensions"
  102. default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
  103. depends on BUSYBOX_CONFIG_SHELL_ASH
  104. config BUSYBOX_CONFIG_ASH_BASH_SOURCE_CURDIR
  105. bool "'source' and '.' builtins search current directory after $PATH"
  106. default BUSYBOX_DEFAULT_ASH_BASH_SOURCE_CURDIR # do not encourage non-standard behavior
  107. depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
  108. help
  109. This is not compliant with standards. Avoid if possible.
  110. config BUSYBOX_CONFIG_ASH_BASH_NOT_FOUND_HOOK
  111. bool "command_not_found_handle hook support"
  112. default BUSYBOX_DEFAULT_ASH_BASH_NOT_FOUND_HOOK
  113. depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
  114. help
  115. Enable support for the 'command_not_found_handle' hook function,
  116. from GNU bash, which allows for alternative command not found
  117. handling.
  118. config BUSYBOX_CONFIG_ASH_JOB_CONTROL
  119. bool "Job control"
  120. default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
  121. depends on BUSYBOX_CONFIG_SHELL_ASH
  122. config BUSYBOX_CONFIG_ASH_ALIAS
  123. bool "Alias support"
  124. default BUSYBOX_DEFAULT_ASH_ALIAS
  125. depends on BUSYBOX_CONFIG_SHELL_ASH
  126. config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
  127. bool "Pseudorandom generator and $RANDOM variable"
  128. default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
  129. depends on BUSYBOX_CONFIG_SHELL_ASH
  130. help
  131. Enable pseudorandom generator and dynamic variable "$RANDOM".
  132. Each read of "$RANDOM" will generate a new pseudorandom value.
  133. You can reset the generator by using a specified start value.
  134. After "unset RANDOM" the generator will switch off and this
  135. variable will no longer have special treatment.
  136. config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
  137. bool "Expand prompt string"
  138. default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
  139. depends on BUSYBOX_CONFIG_SHELL_ASH
  140. help
  141. $PS# may contain volatile content, such as backquote commands.
  142. This option recreates the prompt string from the environment
  143. variable each time it is displayed.
  144. config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
  145. bool "Idle timeout variable $TMOUT"
  146. default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
  147. depends on BUSYBOX_CONFIG_SHELL_ASH
  148. help
  149. Enable bash-like auto-logout after $TMOUT seconds of idle time.
  150. config BUSYBOX_CONFIG_ASH_MAIL
  151. bool "Check for new mail in interactive shell"
  152. default BUSYBOX_DEFAULT_ASH_MAIL
  153. depends on BUSYBOX_CONFIG_SHELL_ASH
  154. help
  155. Enable "check for new mail" function:
  156. if set, $MAIL file and $MAILPATH list of files
  157. are checked for mtime changes, and "you have mail"
  158. message is printed if change is detected.
  159. config BUSYBOX_CONFIG_ASH_ECHO
  160. bool "echo builtin"
  161. default BUSYBOX_DEFAULT_ASH_ECHO
  162. depends on BUSYBOX_CONFIG_SHELL_ASH
  163. config BUSYBOX_CONFIG_ASH_PRINTF
  164. bool "printf builtin"
  165. default BUSYBOX_DEFAULT_ASH_PRINTF
  166. depends on BUSYBOX_CONFIG_SHELL_ASH
  167. config BUSYBOX_CONFIG_ASH_TEST
  168. bool "test builtin"
  169. default BUSYBOX_DEFAULT_ASH_TEST
  170. depends on BUSYBOX_CONFIG_SHELL_ASH
  171. config BUSYBOX_CONFIG_ASH_HELP
  172. bool "help builtin"
  173. default BUSYBOX_DEFAULT_ASH_HELP
  174. depends on BUSYBOX_CONFIG_SHELL_ASH
  175. config BUSYBOX_CONFIG_ASH_GETOPTS
  176. bool "getopts builtin"
  177. default BUSYBOX_DEFAULT_ASH_GETOPTS
  178. depends on BUSYBOX_CONFIG_SHELL_ASH
  179. config BUSYBOX_CONFIG_ASH_CMDCMD
  180. bool "command builtin"
  181. default BUSYBOX_DEFAULT_ASH_CMDCMD
  182. depends on BUSYBOX_CONFIG_SHELL_ASH
  183. help
  184. Enable support for the 'command' builtin, which allows
  185. you to run the specified command or builtin,
  186. even when there is a function with the same name.
  187. endif # ash options
  188. config BUSYBOX_CONFIG_CTTYHACK
  189. bool "cttyhack (2.7 kb)"
  190. default BUSYBOX_DEFAULT_CTTYHACK
  191. help
  192. One common problem reported on the mailing list is the "can't
  193. access tty; job control turned off" error message, which typically
  194. appears when one tries to use a shell with stdin/stdout on
  195. /dev/console.
  196. This device is special - it cannot be a controlling tty.
  197. The proper solution is to use the correct device instead of
  198. /dev/console.
  199. cttyhack provides a "quick and dirty" solution to this problem.
  200. It analyzes stdin with various ioctls, trying to determine whether
  201. it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
  202. On Linux it also checks sysfs for a pointer to the active console.
  203. If cttyhack is able to find the real console device, it closes
  204. stdin/out/err and reopens that device.
  205. Then it executes the given program. Opening the device will make
  206. that device a controlling tty. This may require cttyhack
  207. to be a session leader.
  208. Example for /etc/inittab (for busybox init):
  209. ::respawn:/bin/cttyhack /bin/sh
  210. Starting an interactive shell from boot shell script:
  211. setsid cttyhack sh
  212. Giving controlling tty to shell running with PID 1:
  213. # exec cttyhack sh
  214. Without cttyhack, you need to know exact tty name,
  215. and do something like this:
  216. # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
  217. Starting getty on a controlling tty from a shell script:
  218. # getty 115200 $(cttyhack)
  219. config BUSYBOX_CONFIG_HUSH
  220. bool "hush (70 kb)"
  221. default BUSYBOX_DEFAULT_HUSH
  222. select BUSYBOX_CONFIG_SHELL_HUSH
  223. help
  224. hush is a small shell. It handles the normal flow control
  225. constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
  226. case/esac. Redirections, here documents, $((arithmetic))
  227. and functions are supported.
  228. It will compile and work on no-mmu systems.
  229. It does not handle select, aliases, tilde expansion,
  230. &>file and >&file redirection of stdout+stderr.
  231. config BUSYBOX_CONFIG_SHELL_HUSH
  232. bool "Internal shell for embedded script support"
  233. default BUSYBOX_DEFAULT_SHELL_HUSH
  234. # hush options
  235. # It's only needed to get "nice" menuconfig indenting.
  236. if SHELL_HUSH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
  237. config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
  238. bool "bash-compatible extensions"
  239. default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
  240. depends on BUSYBOX_CONFIG_SHELL_HUSH
  241. config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
  242. bool "Brace expansion"
  243. default BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
  244. depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
  245. help
  246. Enable {abc,def} extension.
  247. config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR
  248. bool "'source' and '.' builtins search current directory after $PATH"
  249. default BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR # do not encourage non-standard behavior
  250. depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
  251. help
  252. This is not compliant with standards. Avoid if possible.
  253. config BUSYBOX_CONFIG_HUSH_LINENO_VAR
  254. bool "$LINENO variable (bashism)"
  255. default BUSYBOX_DEFAULT_HUSH_LINENO_VAR
  256. depends on BUSYBOX_CONFIG_SHELL_HUSH
  257. config BUSYBOX_CONFIG_HUSH_INTERACTIVE
  258. bool "Interactive mode"
  259. default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
  260. depends on BUSYBOX_CONFIG_SHELL_HUSH
  261. help
  262. Enable interactive mode (prompt and command editing).
  263. Without this, hush simply reads and executes commands
  264. from stdin just like a shell script from a file.
  265. No prompt, no PS1/PS2 magic shell variables.
  266. config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
  267. bool "Save command history to .hush_history"
  268. default BUSYBOX_DEFAULT_HUSH_SAVEHISTORY
  269. depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
  270. config BUSYBOX_CONFIG_HUSH_JOB
  271. bool "Job control"
  272. default BUSYBOX_DEFAULT_HUSH_JOB
  273. depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE
  274. help
  275. Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
  276. command (not entire shell), fg/bg builtins work. Without this option,
  277. "cmd &" still works by simply spawning a process and immediately
  278. prompting for next command (or executing next command in a script),
  279. but no separate process group is formed.
  280. config BUSYBOX_CONFIG_HUSH_TICK
  281. bool "Support command substitution"
  282. default BUSYBOX_DEFAULT_HUSH_TICK
  283. depends on BUSYBOX_CONFIG_SHELL_HUSH
  284. help
  285. Enable `command` and $(command).
  286. config BUSYBOX_CONFIG_HUSH_IF
  287. bool "Support if/then/elif/else/fi"
  288. default BUSYBOX_DEFAULT_HUSH_IF
  289. depends on BUSYBOX_CONFIG_SHELL_HUSH
  290. config BUSYBOX_CONFIG_HUSH_LOOPS
  291. bool "Support for, while and until loops"
  292. default BUSYBOX_DEFAULT_HUSH_LOOPS
  293. depends on BUSYBOX_CONFIG_SHELL_HUSH
  294. config BUSYBOX_CONFIG_HUSH_CASE
  295. bool "Support case ... esac statement"
  296. default BUSYBOX_DEFAULT_HUSH_CASE
  297. depends on BUSYBOX_CONFIG_SHELL_HUSH
  298. help
  299. Enable case ... esac statement. +400 bytes.
  300. config BUSYBOX_CONFIG_HUSH_FUNCTIONS
  301. bool "Support funcname() { commands; } syntax"
  302. default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
  303. depends on BUSYBOX_CONFIG_SHELL_HUSH
  304. help
  305. Enable support for shell functions. +800 bytes.
  306. config BUSYBOX_CONFIG_HUSH_LOCAL
  307. bool "local builtin"
  308. default BUSYBOX_DEFAULT_HUSH_LOCAL
  309. depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
  310. help
  311. Enable support for local variables in functions.
  312. config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
  313. bool "Pseudorandom generator and $RANDOM variable"
  314. default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
  315. depends on BUSYBOX_CONFIG_SHELL_HUSH
  316. help
  317. Enable pseudorandom generator and dynamic variable "$RANDOM".
  318. Each read of "$RANDOM" will generate a new pseudorandom value.
  319. config BUSYBOX_CONFIG_HUSH_MODE_X
  320. bool "Support 'hush -x' option and 'set -x' command"
  321. default BUSYBOX_DEFAULT_HUSH_MODE_X
  322. depends on BUSYBOX_CONFIG_SHELL_HUSH
  323. help
  324. This instructs hush to print commands before execution.
  325. Adds ~300 bytes.
  326. config BUSYBOX_CONFIG_HUSH_ECHO
  327. bool "echo builtin"
  328. default BUSYBOX_DEFAULT_HUSH_ECHO
  329. depends on BUSYBOX_CONFIG_SHELL_HUSH
  330. config BUSYBOX_CONFIG_HUSH_PRINTF
  331. bool "printf builtin"
  332. default BUSYBOX_DEFAULT_HUSH_PRINTF
  333. depends on BUSYBOX_CONFIG_SHELL_HUSH
  334. config BUSYBOX_CONFIG_HUSH_TEST
  335. bool "test builtin"
  336. default BUSYBOX_DEFAULT_HUSH_TEST
  337. depends on BUSYBOX_CONFIG_SHELL_HUSH
  338. config BUSYBOX_CONFIG_HUSH_HELP
  339. bool "help builtin"
  340. default BUSYBOX_DEFAULT_HUSH_HELP
  341. depends on BUSYBOX_CONFIG_SHELL_HUSH
  342. config BUSYBOX_CONFIG_HUSH_EXPORT
  343. bool "export builtin"
  344. default BUSYBOX_DEFAULT_HUSH_EXPORT
  345. depends on BUSYBOX_CONFIG_SHELL_HUSH
  346. config BUSYBOX_CONFIG_HUSH_EXPORT_N
  347. bool "Support 'export -n' option"
  348. default BUSYBOX_DEFAULT_HUSH_EXPORT_N
  349. depends on BUSYBOX_CONFIG_HUSH_EXPORT
  350. help
  351. export -n unexports variables. It is a bash extension.
  352. config BUSYBOX_CONFIG_HUSH_READONLY
  353. bool "readonly builtin"
  354. default BUSYBOX_DEFAULT_HUSH_READONLY
  355. depends on BUSYBOX_CONFIG_SHELL_HUSH
  356. help
  357. Enable support for read-only variables.
  358. config BUSYBOX_CONFIG_HUSH_KILL
  359. bool "kill builtin (supports kill %jobspec)"
  360. default BUSYBOX_DEFAULT_HUSH_KILL
  361. depends on BUSYBOX_CONFIG_SHELL_HUSH
  362. config BUSYBOX_CONFIG_HUSH_WAIT
  363. bool "wait builtin"
  364. default BUSYBOX_DEFAULT_HUSH_WAIT
  365. depends on BUSYBOX_CONFIG_SHELL_HUSH
  366. config BUSYBOX_CONFIG_HUSH_COMMAND
  367. bool "command builtin"
  368. default BUSYBOX_DEFAULT_HUSH_COMMAND
  369. depends on BUSYBOX_CONFIG_SHELL_HUSH
  370. config BUSYBOX_CONFIG_HUSH_TRAP
  371. bool "trap builtin"
  372. default BUSYBOX_DEFAULT_HUSH_TRAP
  373. depends on BUSYBOX_CONFIG_SHELL_HUSH
  374. config BUSYBOX_CONFIG_HUSH_TYPE
  375. bool "type builtin"
  376. default BUSYBOX_DEFAULT_HUSH_TYPE
  377. depends on BUSYBOX_CONFIG_SHELL_HUSH
  378. config BUSYBOX_CONFIG_HUSH_TIMES
  379. bool "times builtin"
  380. default BUSYBOX_DEFAULT_HUSH_TIMES
  381. depends on BUSYBOX_CONFIG_SHELL_HUSH
  382. config BUSYBOX_CONFIG_HUSH_READ
  383. bool "read builtin"
  384. default BUSYBOX_DEFAULT_HUSH_READ
  385. depends on BUSYBOX_CONFIG_SHELL_HUSH
  386. config BUSYBOX_CONFIG_HUSH_SET
  387. bool "set builtin"
  388. default BUSYBOX_DEFAULT_HUSH_SET
  389. depends on BUSYBOX_CONFIG_SHELL_HUSH
  390. config BUSYBOX_CONFIG_HUSH_UNSET
  391. bool "unset builtin"
  392. default BUSYBOX_DEFAULT_HUSH_UNSET
  393. depends on BUSYBOX_CONFIG_SHELL_HUSH
  394. config BUSYBOX_CONFIG_HUSH_ULIMIT
  395. bool "ulimit builtin"
  396. default BUSYBOX_DEFAULT_HUSH_ULIMIT
  397. depends on BUSYBOX_CONFIG_SHELL_HUSH
  398. config BUSYBOX_CONFIG_HUSH_UMASK
  399. bool "umask builtin"
  400. default BUSYBOX_DEFAULT_HUSH_UMASK
  401. depends on BUSYBOX_CONFIG_SHELL_HUSH
  402. config BUSYBOX_CONFIG_HUSH_GETOPTS
  403. bool "getopts builtin"
  404. default BUSYBOX_DEFAULT_HUSH_GETOPTS
  405. depends on BUSYBOX_CONFIG_SHELL_HUSH
  406. config BUSYBOX_CONFIG_HUSH_MEMLEAK
  407. bool "memleak builtin (debugging)"
  408. default BUSYBOX_DEFAULT_HUSH_MEMLEAK
  409. depends on BUSYBOX_CONFIG_SHELL_HUSH
  410. endif # hush options
  411. comment "Options common to all shells"
  412. if BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
  413. config BUSYBOX_CONFIG_FEATURE_SH_MATH
  414. bool "POSIX math support"
  415. default BUSYBOX_DEFAULT_FEATURE_SH_MATH
  416. depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
  417. help
  418. Enable math support in the shell via $((...)) syntax.
  419. config BUSYBOX_CONFIG_FEATURE_SH_MATH_64
  420. bool "Extend POSIX math support to 64 bit"
  421. default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
  422. depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
  423. help
  424. Enable 64-bit math support in the shell. This will make the shell
  425. slightly larger, but will allow computation with very large numbers.
  426. This is not in POSIX, so do not rely on this in portable code.
  427. config BUSYBOX_CONFIG_FEATURE_SH_MATH_BASE
  428. bool "Support BASE#nnnn literals"
  429. default BUSYBOX_DEFAULT_FEATURE_SH_MATH_BASE
  430. depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
  431. config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
  432. bool "Hide message on interactive shell startup"
  433. default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
  434. depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
  435. help
  436. Remove the busybox introduction when starting a shell.
  437. config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
  438. bool "Standalone shell"
  439. default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
  440. depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
  441. help
  442. This option causes busybox shells to use busybox applets
  443. in preference to executables in the PATH whenever possible. For
  444. example, entering the command 'ifconfig' into the shell would cause
  445. busybox to use the ifconfig busybox applet. Specifying the fully
  446. qualified executable name, such as '/sbin/ifconfig' will still
  447. execute the /sbin/ifconfig executable on the filesystem. This option
  448. is generally used when creating a statically linked version of busybox
  449. for use as a rescue shell, in the event that you screw up your system.
  450. This is implemented by re-execing /proc/self/exe (typically)
  451. with right parameters.
  452. However, there are drawbacks: it is problematic in chroot jails
  453. without mounted /proc, and ps/top may show command name as 'exe'
  454. for applets started this way.
  455. config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
  456. bool "Run 'nofork' applets directly"
  457. default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
  458. depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
  459. help
  460. This option causes busybox shells to not execute typical
  461. fork/exec/wait sequence, but call <applet>_main directly,
  462. if possible. (Sometimes it is not possible: for example,
  463. this is not possible in pipes).
  464. This will be done only for some applets (those which are marked
  465. NOFORK in include/applets.h).
  466. This may significantly speed up some shell scripts.
  467. This feature is relatively new. Use with care. Report bugs
  468. to project mailing list.
  469. config BUSYBOX_CONFIG_FEATURE_SH_READ_FRAC
  470. bool "read -t N.NNN support (+110 bytes)"
  471. default BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC
  472. depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
  473. help
  474. Enable support for fractional second timeout in read builtin.
  475. config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
  476. bool "Use $HISTFILESIZE"
  477. default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
  478. depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
  479. help
  480. This option makes busybox shells to use $HISTFILESIZE variable
  481. to set shell history size. Note that its max value is capped
  482. by "History size" setting in library tuning section.
  483. config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
  484. bool "Embed scripts in the binary"
  485. default BUSYBOX_DEFAULT_FEATURE_SH_EMBEDDED_SCRIPTS
  486. depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
  487. help
  488. Allow scripts to be compressed and embedded in the busybox
  489. binary. The scripts should be placed in the 'embed' directory
  490. at build time. Like applets, scripts can be run as
  491. 'busybox SCRIPT ...' or by linking their name to the binary.
  492. This also allows applets to be implemented as scripts: place
  493. the script in 'applets_sh' and a stub C file containing
  494. configuration in the appropriate subsystem directory.
  495. endif # Options common to all shells
  496. endmenu