zephyr/Kconfig

171 lines
4.9 KiB
Plaintext

# Kconfig - general configuration options
#
# Copyright (c) 2014-2015 Wind River Systems, Inc.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1) Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2) Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3) Neither the name of Wind River Systems nor the names of its contributors
# may be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
mainmenu "Tiny Mountain Build Options"
source "kernel/Kconfig"
source "misc/Kconfig"
source "arch/Kconfig"
menu "General Setup"
config CROSS_COMPILE
string "Cross-compiler tool prefix"
help
Same as running 'make CROSS_COMPILE=prefix-' but stored for
default make runs in this kernel build directory. You don't
need to set this unless you want the configured kernel build
directory to select the cross-compiler automatically.
config MINIMAL_LIBC
bool
prompt "Build minimal c library"
default y
depends on !NEWLIB
help
Build integrated minimal c library.
config TOOLCHAIN_NEWLIB
bool
prompt "Build with newlib c library"
depends on !MINIMAL_LIBC
default n
help
Build with newlib library. The newlib library is expected to be
part of the SDK in this case.
endmenu
menu "Debugging Options"
config STDOUT_CONSOLE
bool
prompt "Send stdout to console"
default n
help
This option directs standard output (e.g. printf) to the console
device, rather than suppressing in entirely.
config ASSERT
bool
prompt "Enable __ASSERT() macro"
default n
help
This enables the __ASSERT() macro in the kernel code. If an assertion
fails, the calling thread is put on an infinite tight loop. Since
enabling this adds a significant footprint, it should only be enabled
in a non-production system.
config ASSERT_LEVEL
int
prompt "__ASSERT() level"
default 1
depends on ASSERT
help
This option specifies the assertion level used by the __ASSERT()
macro. It can be set to one of three possible values:
Level 0: off
Level 1: on + warning in every file that includes __assert.h
Level 2: on + no warning
endmenu
menu "System Monitoring Options"
config PERFORMANCE_METRICS
bool
prompt "Enable performance metrics"
default n
depends on EXPERIMENTAL
help
Enable Performance Metrics.
config BOOT_TIME_MEASUREMENT
bool
prompt "Boot time measurements [EXPERIMENTAL]"
default n
depends on EXPERIMENTAL && PERFORMANCE_METRICS
help
This option enables the recording of timestamps during system start
up. The global variable __start_tsc records the time kernel begins
executing, while __main_tsc records when main() begins executing,
and __idle_tsc records when the CPU becomes idle. All values are
recorded in terms of CPU clock cycles since system reset.
config CPU_CLOCK_FREQ_MHZ
int
prompt "CPU CLock Frequency in MHz"
default 20
depends on BOOT_TIME_MEASUREMENT
help
This option specifies the CPU Clock Frequency in MHz in order to
convert Intel RDTSC timestamp to microseconds.
endmenu
menu "Compile and Link Features"
config COMPILER_OPT
string
prompt "Custom compiler options"
default ""
help
This option is a free-form string that is passed to the compiler
when building all parts of a project (i.e. kernel, LKMs, and USAPs).
The compiler options specified by this string supplement the
pre-defined set of compiler supplied by the build system,
and can be used to change compiler optimization, warning and error
messages, and so on.
A given LKM or USAP can override this setting by means of the
OVERRIDE_COMPILER_OPT make variable in its Makefile.
endmenu
source "net/Kconfig"
source "drivers/Kconfig"
config EXPERIMENTAL
bool
prompt "Experimental Options"
default n
help
This option enables all experimental options in the project.
If it is disabled, all options marked as EXPERIMENTAL will
be disabled.
If it is enabled, all options marked as EXPERIMENTAL will
be available for selection.