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

menu "Coreutils"

INSERT

comment "Common options"

config FEATURE_VERBOSE
	bool "Support verbose options (usually -v) for various applets"
	default y
	help
	  Enable cp -v, rm -v and similar messages.
	  Also enables long option (--verbose) if it exists.
	  Without this option, -v is accepted but ignored.

comment "Common options for cp and mv"
	depends on CP || MV

config FEATURE_PRESERVE_HARDLINKS
	bool "Preserve hard links"
	default y
	depends on CP || MV
	help
	  Allow cp and mv to preserve hard links.

comment "Common options for df, du, ls"
	depends on DF || DU || LS

config FEATURE_HUMAN_READABLE
	bool "Support human readable output (example 13k, 23M, 235G)"
	default y
	depends on DF || DU || LS
	help
	  Allow df, du, and ls to have human readable output.

endmenu
