#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

menu "Coreutils"

config BUSYBOX_CONFIG_BASENAME
	bool "basename"
	default y
	help
	  basename is used to strip the directory and suffix from filenames,
	  leaving just the filename itself. Enable this option if you wish
	  to enable the 'basename' utility.

config BUSYBOX_CONFIG_CAL
	bool "cal"
	default n
	help
	  cal is used to display a monthly calender.

config BUSYBOX_CONFIG_CAT
	bool "cat"
	default y
	help
	  cat is used to concatenate files and print them to the standard
	  output. Enable this option if you wish to enable the 'cat' utility.

config BUSYBOX_CONFIG_CATV
	bool "catv"
	default n
	help
	  Display nonprinting characters as escape sequences (like some
	  implementations' cat -v option).

config BUSYBOX_CONFIG_CHGRP
	bool "chgrp"
	default y
	help
	  chgrp is used to change the group ownership of files.

config BUSYBOX_CONFIG_CHMOD
	bool "chmod"
	default y
	help
	  chmod is used to change the access permission of files.

config BUSYBOX_CONFIG_CHOWN
	bool "chown"
	default y
	help
	  chown is used to change the user and/or group ownership
	  of files.

config BUSYBOX_CONFIG_CHROOT
	bool "chroot"
	default y
	help
	  chroot is used to change the root directory and run a command.
	  The default command is `/bin/sh'.

config BUSYBOX_CONFIG_CKSUM
	bool "cksum"
	default n
	help
	  cksum is used to calculate the CRC32 checksum of a file.

config BUSYBOX_CONFIG_COMM
	bool "comm"
	default n
	help
	  comm is used to compare two files line by line and return
	  a three-column output.

config BUSYBOX_CONFIG_CP
	bool "cp"
	default y
	help
	  cp is used to copy files and directories.

config BUSYBOX_CONFIG_CUT
	bool "cut"
	default y
	help
	  cut is used to print selected parts of lines from
	  each file to stdout.

config BUSYBOX_CONFIG_DATE
	bool "date"
	default y
	help
	  date is used to set the system date or display the
	  current time in the given format.

config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
	bool "Enable ISO date format output (-I)"
	default y
	depends on BUSYBOX_CONFIG_DATE
	help
	  Enable option (-I) to output an ISO-8601 compliant
	  date/time string.

config BUSYBOX_CONFIG_DD
	bool "dd"
	default y
	help
	  dd copies a file (from standard input to standard output,
	  by default) using specific input and output blocksizes,
	  while optionally performing conversions on it.

config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
	bool "Enable DD signal handling for status reporting"
	default y
	depends on BUSYBOX_CONFIG_DD
	help
	  sending a SIGUSR1 signal to a running `dd' process makes it
	  print to standard error the number of records read and written
	  so far, then to resume copying.

	  $ dd if=/dev/zero of=/dev/null&
	  $ pid=$! kill -USR1 $pid; sleep 1; kill $pid
	  10899206+0 records in 10899206+0 records out

config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
	bool "Enable ibs, obs and conv options"
	default n
	depends on BUSYBOX_CONFIG_DD
	help
	  Enables support for writing a certain number of bytes in and out,
	  at a time, and performing conversions on the data stream.

config BUSYBOX_CONFIG_DF
	bool "df"
	default y
	help
	  df reports the amount of disk space used and available
	  on filesystems.

config BUSYBOX_CONFIG_FEATURE_DF_FANCY
	bool "Enable -a, -i, -B"
	default n
	depends on BUSYBOX_CONFIG_DF
	help
	  This option enables -a, -i and -B.

config BUSYBOX_CONFIG_DIRNAME
	bool "dirname"
	default y
	help
	  dirname is used to strip a non-directory suffix from
	  a file name.

config BUSYBOX_CONFIG_DOS2UNIX
	bool "dos2unix/unix2dos"
	default n
	help
	  dos2unix is used to convert a text file from DOS format to
	  UNIX format, and vice versa.

config BUSYBOX_CONFIG_UNIX2DOS
	bool
	default n
	depends on BUSYBOX_CONFIG_DOS2UNIX
	help
	  unix2dos is used to convert a text file from UNIX format to
	  DOS format, and vice versa.

config BUSYBOX_CONFIG_DU
	bool "du (default blocksize of 512 bytes)"
	default y
	help
	  du is used to report the amount of disk space used
	  for specified files.

config BUSYBOX_CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
	bool "Use a default blocksize of 1024 bytes (1K)"
	default y
	depends on BUSYBOX_CONFIG_DU
	help
	  Use a blocksize of (1K) instead of the default 512b.

config BUSYBOX_CONFIG_ECHO
	bool "echo (basic SuSv3 version taking no options)"
	default y
	help
	  echo is used to print a specified string to stdout.

# this entry also appears in shell/Config.in, next to the echo builtin
config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
	bool "Enable echo options (-n and -e)"
	default y
	depends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_BUILTIN_ECHO || BUSYBOX_CONFIG_HUSH
	help
	  This adds options (-n and -e) to echo.

config BUSYBOX_CONFIG_ENV
	bool "env"
	default y
	help
	  env is used to set an environment variable and run
	  a command; without options it displays the current
	  environment.

config BUSYBOX_CONFIG_FEATURE_ENV_LONG_OPTIONS
	bool "Enable long options"
	default n
	depends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_LONG_OPTS
	help
	  Support long options for the env applet.

config BUSYBOX_CONFIG_EXPAND
	bool "expand"
	default n
	help
	  By default, convert all tabs to spaces.

config BUSYBOX_CONFIG_FEATURE_EXPAND_LONG_OPTIONS
	bool "Enable long options"
	default n
	depends on BUSYBOX_CONFIG_EXPAND && BUSYBOX_CONFIG_LONG_OPTS
	help
	  Support long options for the expand applet.

config BUSYBOX_CONFIG_EXPR
	bool "expr"
	default y
	help
	  expr is used to calculate numbers and print the result
	  to standard output.

config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
	bool "Extend Posix numbers support to 64 bit"
	default y
	depends on BUSYBOX_CONFIG_EXPR
	help
	  Enable 64-bit math support in the expr applet. This will make
	  the applet slightly larger, but will allow computation with very
	  large numbers.

config BUSYBOX_CONFIG_FALSE
	bool "false"
	default y
	help
	  false returns an exit code of FALSE (1).

config BUSYBOX_CONFIG_FOLD
	bool "fold"
	default n
	help
	  Wrap text to fit a specific width.

config BUSYBOX_CONFIG_FSYNC
	bool "fsync"
	default n
	help
	  fsync is used to flush file-related cached blocks to disk.

config BUSYBOX_CONFIG_HEAD
	bool "head"
	default y
	help
	  head is used to print the first specified number of lines
	  from files.

config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD
	bool "Enable head options (-c, -q, and -v)"
	default y
	depends on BUSYBOX_CONFIG_HEAD
	help
	  This enables the head options (-c, -q, and -v).

config BUSYBOX_CONFIG_HOSTID
	bool "hostid"
	default y
	help
	  hostid prints the numeric identifier (in hexadecimal) for
	  the current host.

config BUSYBOX_CONFIG_ID
	bool "id"
	default y
	help
	  id displays the current user and group ID names.

config BUSYBOX_CONFIG_INSTALL
	bool "install"
	default n
	help
	  Copy files and set attributes.

config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
	bool "Enable long options"
	default n
	depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_LONG_OPTS
	help
	  Support long options for the install applet.

config BUSYBOX_CONFIG_LENGTH
	bool "length"
	default y
	help
	  length is used to print out the length of a specified string.

config BUSYBOX_CONFIG_LN
	bool "ln"
	default y
	help
	  ln is used to create hard or soft links between files.

config BUSYBOX_CONFIG_LOGNAME
	bool "logname"
	default n
	help
	  logname is used to print the current user's login name.

config BUSYBOX_CONFIG_LS
	bool "ls"
	default y
	help
	  ls is used to list the contents of directories.

config BUSYBOX_CONFIG_FEATURE_LS_FILETYPES
	bool "Enable filetyping options (-p and -F)"
	default y
	depends on BUSYBOX_CONFIG_LS
	help
	  Enable the ls options (-p and -F).

config BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS
	bool "Enable symlinks dereferencing (-L)"
	default y
	depends on BUSYBOX_CONFIG_LS
	help
	  Enable the ls option (-L).

config BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE
	bool "Enable recursion (-R)"
	default y
	depends on BUSYBOX_CONFIG_LS
	help
	  Enable the ls option (-R).

config BUSYBOX_CONFIG_FEATURE_LS_SORTFILES
	bool "Sort the file names"
	default y
	depends on BUSYBOX_CONFIG_LS
	help
	  Allow ls to sort file names alphabetically.

config BUSYBOX_CONFIG_FEATURE_LS_TIMESTAMPS
	bool "Show file timestamps"
	default y
	depends on BUSYBOX_CONFIG_LS
	help
	  Allow ls to display timestamps for files.

config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
	bool "Show username/groupnames"
	default y
	depends on BUSYBOX_CONFIG_LS
	help
	  Allow ls to display username/groupname for files.

config BUSYBOX_CONFIG_FEATURE_LS_COLOR
	bool "Allow use of color to identify file types"
	default y
	depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_LONG_OPTS
	help
	  This enables the --color option to ls.

config BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
	bool "Produce colored ls output by default"
	default y
	depends on BUSYBOX_CONFIG_FEATURE_LS_COLOR
	help
	  Saying yes here will turn coloring on by default,
	  even if no "--color" option is given to the ls command.
	  This is not recommended, since the colors are not
	  configurable, and the output may not be legible on
	  many output screens.

config BUSYBOX_CONFIG_MD5SUM
	bool "md5sum"
	default y
	help
	  md5sum is used to print or check MD5 checksums.

config BUSYBOX_CONFIG_MKDIR
	bool "mkdir"
	default y
	help
	  mkdir is used to create directories with the specified names.

config BUSYBOX_CONFIG_FEATURE_MKDIR_LONG_OPTIONS
	bool "Enable long options"
	default n
	depends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_LONG_OPTS
	help
	  Support long options for the mkdir applet.

config BUSYBOX_CONFIG_MKFIFO
	bool "mkfifo"
	default y
	help
	  mkfifo is used to create FIFOs (named pipes).
	  The `mknod' program can also create FIFOs.

config BUSYBOX_CONFIG_MKNOD
	bool "mknod"
	default y
	help
	  mknod is used to create FIFOs or block/character special
	  files with the specified names.

config BUSYBOX_CONFIG_MV
	bool "mv"
	default y
	help
	  mv is used to move or rename files or directories.

config BUSYBOX_CONFIG_FEATURE_MV_LONG_OPTIONS
	bool "Enable long options"
	default n
	depends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_LONG_OPTS
	help
	  Support long options for the mv applet.

config BUSYBOX_CONFIG_NICE
	bool "nice"
	default y
	help
	  nice runs a program with modified scheduling priority.

config BUSYBOX_CONFIG_NOHUP
	bool "nohup"
	default n
	help
	  run a command immune to hangups, with output to a non-tty.

config BUSYBOX_CONFIG_OD
	bool "od"
	default n
	help
	  od is used to dump binary files in octal and other formats.

config BUSYBOX_CONFIG_PRINTENV
	bool "printenv"
	default n
	help
	  printenv is used to print all or part of environment.

config BUSYBOX_CONFIG_PRINTF
	bool "printf"
	default y
	help
	  printf is used to format and print specified strings.
	  It's similar to `echo' except it has more options.

config BUSYBOX_CONFIG_PWD
	bool "pwd"
	default y
	help
	  pwd is used to print the current directory.

config BUSYBOX_CONFIG_READLINK
	bool "readlink"
	default n
	help
	  This program reads a symbolic link and returns the name
	  of the file it points to

config BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW
	bool "Enable canonicalization by following all symlinks (-f)"
	default n
	depends on BUSYBOX_CONFIG_READLINK
	help
	  Enable the readlink option (-f).

config BUSYBOX_CONFIG_REALPATH
	bool "realpath"
	default n
	help
	  Return the canonicalized absolute pathname.
	  This isn't provided by GNU shellutils, but where else does it belong.

config BUSYBOX_CONFIG_RM
	bool "rm"
	default y
	help
	  rm is used to remove files or directories.

config BUSYBOX_CONFIG_RMDIR
	bool "rmdir"
	default y
	help
	  rmdir is used to remove empty directories.

config BUSYBOX_CONFIG_FEATURE_RMDIR_LONG_OPTIONS
	bool "Enable long options"
	default n
	depends on BUSYBOX_CONFIG_RMDIR && BUSYBOX_CONFIG_LONG_OPTS
	help
	  Support long options for the rmdir applet, including
	  --ignore-fail-on-non-empty for compatibility with GNU rmdir.

config BUSYBOX_CONFIG_SEQ
	bool "seq"
	default y
	help
	  print a sequence of numbers

config BUSYBOX_CONFIG_SHA1SUM
	bool "sha1sum"
	default n
	help
	  Compute and check SHA1 message digest

config BUSYBOX_CONFIG_SHA256SUM
	bool "sha256sum"
	default n
	help
	  Compute and check SHA256 message digest

config BUSYBOX_CONFIG_SHA512SUM
	bool "sha512sum"
	default n
	help
	  Compute and check SHA512 message digest

config BUSYBOX_CONFIG_SLEEP
	bool "sleep"
	default y
	help
	  sleep is used to pause for a specified number of seconds.
	  It comes in 3 versions:
	  - small: takes one integer parameter
	  - fancy: takes multiple integer arguments with suffixes:
	    sleep 1d 2h 3m 15s
	  - fancy with fractional numbers:
	    sleep 2.3s 4.5h sleeps for 16202.3 seconds
	  Last one is "the most compatible" with coreutils sleep,
	  but it adds around 1k of code.

config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
	bool "Enable multiple arguments and s/m/h/d suffixes"
	default y
	depends on BUSYBOX_CONFIG_SLEEP
	help
	  Allow sleep to pause for specified minutes, hours, and days.

config BUSYBOX_CONFIG_FEATURE_FLOAT_SLEEP
	bool "Enable fractional arguments"
	default n
	depends on BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
	help
	  Allow for fractional numeric parameters.

config BUSYBOX_CONFIG_SORT
	bool "sort"
	default y
	help
	  sort is used to sort lines of text in specified files.

config BUSYBOX_CONFIG_FEATURE_SORT_BIG
	bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)"
	default n
	depends on BUSYBOX_CONFIG_SORT
	help
	  Without this, sort only supports -r, -u, and an integer version
	  of -n. Selecting this adds sort keys, floating point support, and
	  more. This adds a little over 3k to a nonstatic build on x86.

	  The SuSv3 sort standard is available at:
	  http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html

config BUSYBOX_CONFIG_SPLIT
	bool "split"
	default n
	help
	  split a file into pieces.

config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
	bool "Fancy extensions"
	default n
	depends on BUSYBOX_CONFIG_SPLIT
	help
	  Add support for features not required by SUSv3.
	  Supports additional suffixes 'b' for 512 bytes,
	  'g' for 1GiB for the -b option.

config BUSYBOX_CONFIG_STAT
	bool "stat"
	default n
	help
	  display file or filesystem status.

config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
	bool "Enable custom formats (-c)"
	default n
	depends on BUSYBOX_CONFIG_STAT
	help
	  Without this, stat will not support the '-c format' option where
	  users can pass a custom format string for output. This adds about
	  7k to a nonstatic build on amd64.

config BUSYBOX_CONFIG_STTY
	bool "stty"
	default n
	help
	  stty is used to change and print terminal line settings.

config BUSYBOX_CONFIG_SUM
	bool "sum"
	default n
	help
	  checksum and count the blocks in a file

config BUSYBOX_CONFIG_SYNC
	bool "sync"
	default y
	help
	  sync is used to flush filesystem buffers.

config BUSYBOX_CONFIG_TAC
	bool "tac"
	default n
	help
	  tac is used to concatenate and print files in reverse.

config BUSYBOX_CONFIG_TAIL
	bool "tail"
	default y
	help
	  tail is used to print the last specified number of lines
	  from files.

config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
	bool "Enable extra tail options (-q, -s, -v, and -F)"
	default y
	depends on BUSYBOX_CONFIG_TAIL
	help
	  The options (-q, -s, and -v) are provided by GNU tail, but
	  are not specific in the SUSv3 standard.

config BUSYBOX_CONFIG_TEE
	bool "tee"
	default y
	help
	  tee is used to read from standard input and write
	  to standard output and files.

config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
	bool "Enable block I/O (larger/faster) instead of byte I/O"
	default y
	depends on BUSYBOX_CONFIG_TEE
	help
	  Enable this option for a faster tee, at expense of size.

config BUSYBOX_CONFIG_TEST
	bool "test"
	default y
	help
	  test is used to check file types and compare values,
	  returning an appropriate exit code. The bash shell
	  has test built in, ash can build it in optionally.

config BUSYBOX_CONFIG_FEATURE_TEST_64
	bool "Extend test to 64 bit"
	default y
	depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
	help
	  Enable 64-bit support in test.

config BUSYBOX_CONFIG_TOUCH
	bool "touch"
	default y
	help
	  touch is used to create or change the access and/or
	  modification timestamp of specified files.

config BUSYBOX_CONFIG_TR
	bool "tr"
	default y
	help
	  tr is used to squeeze, and/or delete characters from standard
	  input, writing to standard output.

config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
	bool "Enable character classes (such as [:upper:])"
	default n
	depends on BUSYBOX_CONFIG_TR
	help
	  Enable character classes, enabling commands such as:
	  tr [:upper:] [:lower:] to convert input into lowercase.

config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
	bool "Enable equivalence classes"
	default n
	depends on BUSYBOX_CONFIG_TR
	help
	  Enable equivalence classes, which essentially add the enclosed
	  character to the current set. For instance, tr [=a=] xyz would
	  replace all instances of 'a' with 'xyz'. This option is mainly
	  useful for cases when no other way of expressing a character
	  is possible.

config BUSYBOX_CONFIG_TRUE
	bool "true"
	default y
	help
	  true returns an exit code of TRUE (0).

config BUSYBOX_CONFIG_TTY
	bool "tty"
	default n
	help
	  tty is used to print the name of the current terminal to
	  standard output.

config BUSYBOX_CONFIG_UNAME
	bool "uname"
	default y
	help
	  uname is used to print system information.

config BUSYBOX_CONFIG_UNEXPAND
	bool "unexpand"
	default n
	help
	  By default, convert only leading sequences of blanks to tabs.

config BUSYBOX_CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS
	bool "Enable long options"
	default n
	depends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_LONG_OPTS
	help
	  Support long options for the unexpand applet.

config BUSYBOX_CONFIG_UNIQ
	bool "uniq"
	default y
	help
	  uniq is used to remove duplicate lines from a sorted file.

config BUSYBOX_CONFIG_USLEEP
	bool "usleep"
	default n
	help
	  usleep is used to pause for a specified number of microseconds.

config BUSYBOX_CONFIG_UUDECODE
	bool "uudecode"
	default n
	help
	  uudecode is used to decode a uuencoded file.

config BUSYBOX_CONFIG_UUENCODE
	bool "uuencode"
	default n
	help
	  uuencode is used to uuencode a file.

config BUSYBOX_CONFIG_WC
	bool "wc"
	default y
	help
	  wc is used to print the number of bytes, words, and lines,
	  in specified files.

config BUSYBOX_CONFIG_FEATURE_WC_LARGE
	bool "Support very large files in wc"
	default n
	depends on BUSYBOX_CONFIG_WC
	help
	  Use "unsigned long long" in wc for counter variables.

config BUSYBOX_CONFIG_WHO
	bool "who"
	default n
	select BUSYBOX_CONFIG_FEATURE_UTMP
	help
	  who is used to show who is logged on.

config BUSYBOX_CONFIG_WHOAMI
	bool "whoami"
	default n
	help
	  whoami is used to print the username of the current
	  user id (same as id -un).

config BUSYBOX_CONFIG_YES
	bool "yes"
	default y
	help
	  yes is used to repeatedly output a specific string, or
	  the default string `y'.

comment "Common options for cp and mv"
	depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV

config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
	bool "Preserve hard links"
	default y
	depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
	help
	  Allow cp and mv to preserve hard links.

comment "Common options for ls, more and telnet"
	depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET

config BUSYBOX_CONFIG_FEATURE_AUTOWIDTH
	bool "Calculate terminal & column widths"
	default y
	depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
	help
	  This option allows utilities such as 'ls', 'more' and 'telnet'
	  to determine the width of the screen, which can allow them to
	  display additional text or avoid wrapping text onto the next line.
	  If you leave this disabled, your utilities will be especially
	  primitive and will be unable to determine the current screen width.

comment "Common options for df, du, ls"
	depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS

config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
	bool "Support for human readable output (example 13k, 23M, 235G)"
	default y
	depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
	help
	  Allow df, du, and ls to have human readable output.

comment "Common options for md5sum, sha1sum"
	depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM

config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
	bool "Enable -c, -s and -w options"
	default y
	depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
	help
	  Enabling the -c options allows files to be checked
	  against pre-calculated hash values.

	  -s and -w are useful options when verifying checksums.

endmenu
