diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-09-17 18:18:44 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-09-17 18:18:44 +0000 |
commit | 57623d42ebb04f0a0b9e6eb7c0847a3ece2aa0ff (patch) | |
tree | 25d07d14e920d31c0b1947c9ca586f2a01fc32d8 /nuttx/Kconfig | |
download | px4-firmware-57623d42ebb04f0a0b9e6eb7c0847a3ece2aa0ff.tar.gz px4-firmware-57623d42ebb04f0a0b9e6eb7c0847a3ece2aa0ff.tar.bz2 px4-firmware-57623d42ebb04f0a0b9e6eb7c0847a3ece2aa0ff.zip |
Resync new repository with old repo r5166
git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5153 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/Kconfig')
-rw-r--r-- | nuttx/Kconfig | 354 |
1 files changed, 354 insertions, 0 deletions
diff --git a/nuttx/Kconfig b/nuttx/Kconfig new file mode 100644 index 000000000..f920e4984 --- /dev/null +++ b/nuttx/Kconfig @@ -0,0 +1,354 @@ +# +# For a description of the syntax of this configuration file, +# see misc/tools/kconfig-language.txt. +# + +mainmenu "Nuttx/$ARCH Configuration" + +config APPSDIR + string + option env="APPSDIR" + +# This is a temporary kludge to let the build system know that we are using the new +# configuration system + +config NUTTX_NEWCONFIG + bool + default y + +menu "Build Setup" +config EXPERIMENTAL + bool "Prompt for development and/or incomplete code/drivers" + +menu "Build Configuration" +config APPS_DIR + string "Application directory" + default "../apps" + ---help--- + Identifies the directory that builds the + application to link with NuttX. Default: ../apps This symbol must be assigned + to the path to the application build directory *relative* to + the NuttX top build direcory. If you had an application + directory and the NuttX directory each in separate directory + trees like this: + + build + |-nuttx + | | + | `- Makefile + `-application + | + `- Makefile + + Then you would set CONFIG_APPS_DIR=../application. + + The application direction must contain Makefile and this make + file must support the following targets: + + libapps$(LIBEXT) (usually libapps.a). libapps.a is a static + library ( an archive) that contains all of application object + files. + + clean. Do whatever is appropriate to clean the application + directories for a fresh build. + + distclean. Clean everthing -- auto-generated files, symbolic + links etc. -- so that the directory contents are the same as + the contents in your configuration management system. + This is only done when you change the NuttX configuration. + + depend. Make or update the application build dependencies. + + When this application is invoked it will receive the setting TOPDIR like: + + $(MAKE) -C $(CONFIG_APPS_DIR) TOPDIR="$(TOPDIR)" <target> + + TOPDIR is the full path to the NuttX directory. It can be used, for + example, to include makefile fragments (e.g., .config or Make.defs) + or to set up include file paths. + +config BUILD_2PASS + bool "Two pass build" + default n + ---help--- + Enables the two pass build options. + + Two-pass build options. If the 2 pass build option is selected, then these + options configure the make system build a extra link object. This link object + is assumed to be an incremental (relative) link object, but could be a static + library (archive) (some modification to this Makefile would be required if + CONFIG_PASS1_TARGET generates an archive). Pass 1 1ncremental (relative) link + objects should be put into the processor-specific source directory (where other + link objects will be created). If the pass1 obect is an archive, it could + go anywhere. + +if BUILD_2PASS +config PASS1_TARGET + string "Pass one target" + default "" + ---help--- + The name of the first pass build target. This + can be specific build target, a special build target (all, default, etc.) + or may just be left undefined. + +config PASS1_BUILDIR + string "Pass one build directory" + default "build" + ---help--- + The path, relative to the top NuttX build + directory to directory that contains the Makefile to build the + first pass object. The Makefile must support the following targets: + The special target CONFIG_PASS1_TARGET (if defined) + and the usual depend, clean, and distclean targets. + +config PASS1_OBJECT + string "Pass one object" + default "" + ---help--- + May be used to include an extra, pass1 object + into the final link. This would probably be the object generated + from the CONFIG_PASS1_TARGET. It may be available at link time + in the arch/<architecture>/src directory. + +config NUTTX_KERNEL + bool "NuttX kernel build" + default n + ---help--- + Builds NuttX as a separately compiled kernel. +endif +endmenu + +menu "Binary Output Formats" + +config RRLOAD_BINARY + bool "rrload binary format" + default n + ---help--- + Create nuttx.rr in the rrload binary format used with + BSPs from www.ridgerun.com using the tools/mkimage.sh script. + +config INTELHEX_BINARY + bool "Intel HEX binary format" + default n + ---help--- + Create the nuttx.hex in the Intel HEX binary format that is + used with many different loaders. This option will use the GNU objcopy program + and should not be selected if you are not using the GNU toolchain. + +config MOTOROLA_SREC + bool "Motorola S-Record binary format" + default n + ---help--- + Create the nuttx.srec in the Motorola S-Record binary format that is + used with many different loaders. This option will use the GNU objcopy program + and should not be selected if you are not using the GNU toolchain. + +config RAW_BINARY + bool "Raw binary format" + default n + ---help--- + Create the nuttx.bin in the raw binary format that is used with many + different loaders using the GNU objcopy program. This option + should not be selected if you are not using the GNU toolchain. +endmenu + +menu "Customize Header Files" + +config ARCH_STDBOOL_H + bool "stdbool.h" + default n + ---help--- + The stdbool.h header file can be found at nuttx/include/stdbool.h. + However, that header includes logic to redirect the inclusion of an + architecture specific header file like: + + #ifdef CONFIG_ARCH_STDBOOL_H + # include <arch/stdbool.h> + #else + ... + #endif + + Recall that that include path, include/arch, is a symbolic link and + will refer to a version of stdbool.h at nuttx/arch/<architecture>/include/stdbool.h. + +config ARCH_MATH_H + bool "math.h" + default n + ---help--- + There is also a re-directing version of math.h in the source tree. + However, it resides out-of-the-way at include/nuttx/math.h because it + conflicts too often with the system math.h. If ARCH_MATH_H=y is + defined, however, the top-level makefile will copy the redirecting + math.h header file from include/nuttx/math.h to include/math.h. math.h + will then include the architecture-specific version of math.h that you + must provide at nuttx/arch/>architecture</include/math.h. + + #ifdef CONFIG_ARCH_MATH_H + # include <arch/math.h> + #endif + + So for the architectures that define ARCH_MATH_H=y, include/math.h + will be the redirecting math.h header file; for the architectures + that don't select ARCH_MATH_H, the redirecting math.h header file + will stay out-of-the-way in include/nuttx/. + +config ARCH_STDARG_H + bool "stdarg.h" + default n + ---help--- + There is also a redirecting version of stdarg.h in the source tree + as well. It also resides out-of-the-way at include/nuttx/stdarg.h. + This is because you should normally use your toolchain's stdarg.h + file. But sometimes, your toolchain's stdarg.h file may have other + header file dependencies and so may not be usable in the NuttX build + environment. In those cases, you may have to create a architecture- + specific stdarg.h header file at nuttx/arch/<architecture>/include/stdarg.h + + If ARCH_STDARG_H=y is defined, the top-level makefile will copy the + re-directing stdarg.h header file from include/nuttx/stdarg.h to + include/stdarg.h. So for the architectures that cannot use their + toolchain's stdarg.h file, they can use this alternative by defining + ARCH_STDARG_H=y and providing. If ARCH_STDARG_H, is not defined, then + the stdarg.h header file will stay out-of-the-way in include/nuttx/. + +endmenu + +menu "Debug Options" + +config DEBUG + bool "Enable debug features" + default n + ---help--- + Enables built-in debug features. Selecting this option will (1) Enable + debug assertions in the code, (2) enable extended parameter testing in + many functions, and (3) enable support for debug output. Note that enabling + this option by itself does not produce debug output. Debug output must + also be selected on a subsystem-by-subsystem basis. + +if DEBUG +config DEBUG_VERBOSE + bool "Enable debug verbose output" + default n + ---help--- + Enables verbose debug output (assuming debug output is enabled) + +config DEBUG_ENABLE + bool "Enable debug controls" + default n + ---help--- + Support an interface to dynamically enable or disable debug output. + +config DEBUG_SCHED + bool "Enable scheduler debug output" + default n + ---help--- + Enable OS debug output (disabled by default) + +config DEBUG_MM + bool "Enable memory manager debug output" + default n + ---help--- + Enable memory management debug output (disabled by default) + +config DEBUG_NET + bool "Enable network debug output" + default n + ---help--- + Enable network debug output (disabled by default) + +config DEBUG_USB + bool "Enable USB debug output" + default n + ---help--- + Enable usb debug output (disabled by default) + +config DEBUG_FS + bool "Enable file system debug output" + default n + ---help--- + Enable file system debug output (disabled by default) + +config DEBUG_LIB + bool "Enable C library debug output" + default n + ---help--- + Enable C library debug output (disabled by default) + +config DEBUG_BINFMT + bool "Enable binary loader debug output" + default n + ---help--- + Enable binary loader debug output (disabled by default) + +config DEBUG_GRAPHICS + bool "Enable graphics debug output" + default n + ---help--- + Enable NX graphics debug output (disabled by default) + +config DEBUG_I2C + bool "Enable I2C debug output" + default n + ---help--- + Enable I2C driver debug output (disabled by default) + +config DEBUG_SPI + bool "Enable SPI debug output" + default n + ---help--- + Enable I2C driver debug output (disabled by default) + +config DEBUG_WATCHDOG + bool "Enable watchdog timer debug output" + default n + ---help--- + Enable watchdog timer debug output (disabled by default) + +endif + +config DEBUG_SYMBOLS + bool "Enable debug symbols" + default n + ---help--- + Build without optimization and with debug symbols (needed + for use with a debugger). +endmenu +endmenu + +menu "System Type" +source "arch/Kconfig" +endmenu + +menu "Board Selection" +source "configs/Kconfig" +endmenu + +menu "RTOS Features" +source sched/Kconfig +endmenu + +menu "Device Drivers" +source drivers/Kconfig +endmenu + +menu "Networking Support" +source net/Kconfig +endmenu + +menu "File Systems" +source fs/Kconfig +endmenu + +menu "Memory Management" +source mm/Kconfig +endmenu + +menu "Library Routines" +source lib/Kconfig +source libxx/Kconfig +endmenu + +menu "Application Configuration" +source "$APPSDIR/Kconfig" +endmenu + |