
config GREGORIAN_CALENDER
	bool

config HAS_KALLSYMS
	bool

config HAS_MODULES
	bool

config CMD_MEMORY
	bool

config ENV_HANDLING
	select CRC32
	bool

config GENERIC_GPIO
	bool

menu "General Settings              "

config LOCALVERSION_AUTO
	bool "Automatically append version information to the version string"
	default y
	help
	  This will try to automatically determine if the current tree is a
	  release tree by looking for git tags that belong to the current
	  top of tree revision.

	  A string of the format -gxxxxxxxx will be added to the localversion
	  if a git-based tree is found.  The string generated by this will be
	  appended after any matching localversion* files, and after the value
	  set in CONFIG_LOCALVERSION.

	  (The actual string used here is the first eight characters produced
	  by running the command:

	    $ git rev-parse --verify HEAD

	  which is done within the script "scripts/setlocalversion".)

config BOARDINFO
	string

menu "memory layout                 "

config HAVE_MMU
	bool

config MMU
	bool "Enable MMU"
	depends on HAVE_MMU
	help
	  Saying yes here enables the MMU. This is useful on some architectures
	  to enable the data cache which depends on the MMU. See Documentation/mmu.txt
	  for further information.

config HAVE_CONFIGURABLE_TEXT_BASE
	bool

config TEXT_BASE
	depends on HAVE_CONFIGURABLE_TEXT_BASE
	prompt "TEXT_BASE"
	hex
	default ARCH_TEXT_BASE
	help
	  The Address barebox gets linked at.

config HAVE_CONFIGURABLE_MEMORY_LAYOUT
	bool

choice
	prompt "select memory layout"
	depends on HAVE_CONFIGURABLE_MEMORY_LAYOUT
	default MEMORY_LAYOUT_DEFAULT

config MEMORY_LAYOUT_DEFAULT
	bool "use default memory layout"
	help
	  select this option to use bareboxs standard memory layout:
	  
	  stack
	  -----
	  malloc heap
	  -----
	  TEXT_BASE

config MEMORY_LAYOUT_FIXED
	bool "manually assign a memory layout"
	help
	  select this option to manually assign stack base and malloc
	  heap base

endchoice

config STACK_BASE
	depends on MEMORY_LAYOUT_FIXED
	hex
	prompt "STACK_BASE"

config STACK_SIZE
	hex
	default 0x8000
	prompt "Stack size"

config MALLOC_BASE
	depends on MEMORY_LAYOUT_FIXED
	hex
	prompt "MALLOC_BASE"

config MALLOC_SIZE
	hex
	default 0x400000
	prompt "malloc area size"
endmenu

config BROKEN
	bool
	prompt "Prompt for broken or incomplete code"

config EXPERIMENTAL
	bool
	prompt "Prompt for experimental code"

config MODULES
	depends on HAS_MODULES
	depends on EXPERIMENTAL
	bool "module support"
	help
	  This option enables support for loadable modules via insmod. Module
	  support is quite experimental at the moment. There is no convenient
	  way to compile modules and the list of exported symbols to actually
	  make use of modules is short to nonexistent

config KALLSYMS
	depends on HAS_KALLSYMS
	depends on BROKEN
	bool "kallsyms"
	help
	  With Kallsyms enabled all symbols are compiled into the barebox image.
	  This is useful to print a nice backtrace when an exception occurs.
	  No architecture supports backtraces at the moment, so this option
	  is quite useless at the moment

config RELOCATABLE
	depends on PPC
	bool "generate relocatable barebox binary"
	help
	  A non relocatable barebox binary will run at it's compiled in
	  link address in RAM. This leads to smaller image sizes but may
	  put barebox just in the middle of RAM. With this option enabled
	  instead barebox can determine this address at runtime and thus
	  allowing it to relocate to the end of the available RAM. This
	  way you have the whole memory in a single piece.

config MACH_HAS_LOWLEVEL_INIT
	bool

config MACH_DO_LOWLEVEL_INIT
	bool "run machine low-level init"
	depends on MACH_HAS_LOWLEVEL_INIT
	default y
	help
	  This entry enables SDRAM and other board low level initialization
	  on many platforms. Disabling this option allows configurations to use
	  barebox as a second stage boot loader.

config ARCH_HAS_LOWLEVEL_INIT
	bool

config PROMPT
	string
	prompt "barebox command prompt"
	default "barebox:"

config BAUDRATE
	int
	prompt "Default baudrate"
	default 115200

config SIMPLE_READLINE
	bool
	default y
	depends on !CMDLINE_EDITING

config LONGHELP
	bool
	prompt "Enable long help texts"

config CBSIZE
	int
	prompt "Buffer size for input from the Console"
	default 1024

config MAXARGS
	int
	prompt "max. Number of arguments accepted for monitor commands"
	default 16

choice
	prompt "Select your shell"

	config SHELL_HUSH
		bool "hush parser"
		help
		  Enable hush support. This is the most advanced shell available
		  for barebox.

	config SHELL_SIMPLE
		bool "Simple parser"
		help
		  simple shell. No if/then, no return values from commands, no loops
endchoice

config GLOB
	bool
	prompt "hush globbing support"
	depends on SHELL_HUSH
	help
	  If you want to use wildcards like * or ? say y here.
	
config PROMPT_HUSH_PS2
	string
	depends on SHELL_HUSH
	prompt "hush PS2"
	default "> "

config CMDLINE_EDITING
	bool
	prompt "Enable command line editing"

config AUTO_COMPLETE
	bool
	depends on CMDLINE_EDITING
	prompt "Enable auto completion"

config DYNAMIC_CRC_TABLE
	bool
	depends on CRC32
	prompt "Generate the crc32 table dynamically"
	default y
	help
	  Saying yes to this option saves around 800 bytes of binary size.
	  If unsure say yes.

config ERRNO_MESSAGES
	bool
	prompt "print error values as text"
	default y

config TIMESTAMP
	bool
	default y
	select GREGORIAN_CALENDER
	prompt "print timestamp information from images"
	help
	  When CONFIG_TIMESTAMP is selected, the timestamp
	  (date and time) of an image is printed by image
	  commands like bootm or iminfo. This option is
	  automatically enabled when you select CFG_CMD_DATE .

config CONSOLE_FULL
	bool
	default y
	prompt "Enable full console support"
	help
	  This option enables full console support capable of
	  handling multiple consoles.

config CONSOLE_SIMPLE
	bool
	default y
	depends on !CONSOLE_FULL

config CONSOLE_ACTIVATE_FIRST
	depends on CONSOLE_FULL
	bool
	default y
	prompt "activate first console on startup"
	help
	  Normally on startup all consoles are disabled, so you won't
	  see anything from barebox starting. Enabling this option
	  enables the first console.

config CONSOLE_ACTIVATE_ALL
	depends on CONSOLE_FULL
	depends on !CONSOLE_ACTIVATE_FIRST
	bool
	prompt "activate all consoles on startup"
	help
	  Enabling this options activates all consoles on startup, so
	  you will get output and a prompt on all consoles simultaneously.

config EARLY_CONSOLE_PORT
	string
	depends on HAS_EARLY_INIT
	prompt "Console device for early output"
	help
	  Choose the device on which you want to have early output printed
	  to. This is only used during startup when no device information
	  is available.

config EARLY_CONSOLE_BAUDRATE
	int
	default 115200
	depends on HAS_EARLY_INIT
	prompt "Early console baudrate"
	help
	  Choose the baudrate for your early console.

config OF_FLAT_TREE
	bool
	prompt "Open Firmware flat device tree support"

config PARTITION
	bool
	prompt "Enable Partitions"

config DEFAULT_ENVIRONMENT
	bool
	default y
	prompt "Compile in default environment"
	help
	  Enabling this option will give you a default environment when
	  the environment found in the environment sector is invalid

config DEFAULT_ENVIRONMENT_PATH
	string
	depends on DEFAULT_ENVIRONMENT
	prompt "Default environment path"
	help
	  The path the default environment will be taken from. Relative
	  pathes will be relative to the barebox Toplevel dir, but absolute
	  pathes are fine aswell.

endmenu

menu "Debugging                     "

config DEBUG_INFO
	bool
	prompt "enable debug symbols"
	help
	  Enable build of barebox with -g.

config ENABLE_FLASH_NOISE
	bool
	prompt "verbose flash handling"
	help
	  Enable this to get noisy flash handling routines

config ENABLE_PARTITION_NOISE
	bool
	prompt "verbose partition handling"
	help
	  Enable this to get noisy partition handling routines

config ENABLE_DEVICE_NOISE
	bool
	prompt "verbose device handling"
	help
	  Enable this to get noisy device handling routines

endmenu
