#
# 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_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_CMP
	bool "cmp"
	default n
	help
	  cmp is used to compare two files and returns the result
	  to standard 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.

if BUSYBOX_CONFIG_WATCH
	config BUSYBOX_CONFIG_DATE
		default y
	comment "date (forced enabled for use with watch)"
endif

if !CONFIG_WATCH
    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.
endif

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_DF
	bool "df"
	default y
	help
	  df reports the amount of disk space used and available
	  on filesystems.

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

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_DEFALT_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.

config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
	bool "  Enable echo options (-n and -e)"
	default y
	depends on BUSYBOX_CONFIG_ECHO
	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_EXPR
	bool "expr"
	default y
	help
	  expr is used to calculate numbers and print the result
	  to standard output.

if BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_MSH
	config BUSYBOX_CONFIG_FALSE
		default y
	comment "false (forced enabled for use with shell)"
endif

if !CONFIG_HUSH && !CONFIG_LASH && !CONFIG_MSH
    config BUSYBOX_CONFIG_FALSE
	    bool "false"
	    default y
	    help
	      false returns an exit code of FALSE (1).
endif

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

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_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 "  Use color to identify file types"
	default y
	depends on BUSYBOX_CONFIG_LS
	help
	  Allow ls to use color when displaying files.

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_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 n
	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_OD
	bool "od"
	default n
	help
	  od is used to dump binary files in octal and other formats.

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_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_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_SLEEP
	bool "sleep (single integer arg with no suffix)"
	default y
	help
	  sleep is used to pause for a specified number of seconds,

config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
	bool "  Enable multiple integer args and optional time suffixes"
	default y
	depends on BUSYBOX_CONFIG_SLEEP
	help
	  Allow sleep to pause for specified minutes, hours, and days.

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

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

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

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, and -v)"
	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.

if BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_MSH
	config BUSYBOX_CONFIG_TEST
		default y
	comment "test (forced enabled for use with shell)"
endif

if !CONFIG_ASH && !CONFIG_HUSH && !CONFIG_LASH && !CONFIG_MSH
    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 shells (ash
	      and bash) have test builtin.
endif

config BUSYBOX_CONFIG_FEATURE_TEST_64
	bool "  Extend test to 64 bit"
	default n
	depends on BUSYBOX_CONFIG_TEST
	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.

if BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_MSH
	config BUSYBOX_CONFIG_TRUE
		default y
	comment "true (forced enabled for use with shell)"
endif

if !CONFIG_HUSH && !CONFIG_LASH && !CONFIG_MSH
    config BUSYBOX_CONFIG_TRUE
	    bool "true"
	    default y
	    help
	      true returns an exit code of TRUE (0).

endif

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_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_WATCH
	bool "watch"
	default n
	help
	  watch is used to execute a program periodically, showing
	  output to the screen.

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_WHO
	bool "who"
	default n
	select BUSYBOX_CONFIG_FEATURE_U_W_TMP
	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 and more"
	depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE

config BUSYBOX_CONFIG_FEATURE_AUTOWIDTH
	bool "  Calculate terminal & column widths"
	default y
	depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE
	help
	  This option allows utilities such as 'ls' and 'more' 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
