Newer
Older
#
# For a description of the syntax of this configuration file,
Gregory Nutt
committed
# see the file kconfig-language.txt in the NuttX tools repository.
mainmenu "Nuttx/$ARCH Configuration"
config EXPERIMENTAL
bool "Prompt for development and/or incomplete code/drivers"
Gregory Nutt
committed
config DEFAULT_SMALL
bool "Default to smallest size"
default n
---help---
When options are present, the default value for certain options will
be the one the results in the smallest size (at a loss of featurs).
The default is a fuller feature set at a larger size.
NOTE: This option does not prevent you from overriding the default
to select another alternative. Nor does it affect the settings that
have already been selected in your configuration file. This applies
only to new settings that require a default value.
choice
prompt "Build Host Platform"
default HOST_LINUX
config HOST_LINUX
bool "Linux"
config HOST_OSX
bool "OSX"
config HOST_WINDOWS
bool "Windows"
config HOST_OTHER
bool "Other"
endchoice
choice
prompt "Windows Build Environment"
default WINDOWS_CYGWIN
depends on HOST_WINDOWS
config WINDOWS_NATIVE
bool "Windows Native"
Build natively in a CMD.exe environment with Windows style paths
(like C:\cgywin\home)
config WINDOWS_CYGWIN
bool "Cygwin"
Build natively in a Cygwin environment with POSIX style paths (like
/cygdrive/c/Program Files)
config WINDOWS_UBUNTU
bool "Ubuntu under Windows10"
---help---
Build natively in an Unbuntu shell under Windoes 10 environment with
POSIX style paths (like /mnt/c/Program Files)
config WINDOWS_MSYS
bool "MSYS"
Build natively in a Cygwin environment with POSIX style paths (like
/cygdrive/c/cgywin/home)
Build natively in another POSIX-like environment. Additional
support may be necessary
config WINDOWS_MKLINK
bool "Use mklink"
---help---
Use the mklink command to set up symbolic links when NuttX is
configured. Otherwise, configuration directories will be copied to
establish the configuration.
If directories are copied, then some confusion can result ("Which
version of the file did I modify?"). In that case, it is recommended
that you re-build using 'make clean_context all'. That will cause the
configured directories to be recopied on each build.
NOTE: This option also (1) that you have administrator privileges, (2)
that you are using Windows 2000 or better, and (3) that you are using
the NTFS file system. Select 'n' is that is not the case.
menu "Build Configuration"
config APPS_DIR
string "Application directory"
default "../apps" if !WINDOWS_NATIVE
default "..\apps" if WINDOWS_NATIVE
---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 directory. If you had an
application directory and the NuttX directory each in separate
directory trees like this:
Gregory Nutt
committed
Gregory Nutt
committed
build
|-nuttx
| |
| `- Makefile
`-application
|
`- Makefile
Gregory Nutt
committed
Then you would set APPS_DIR=../application.
The application direction must contain Makefile and this make
file must support the following targets:
Gregory Nutt
committed
Gregory Nutt
committed
1)libapps$(LIBEXT) (usually libapps.a). libapps.a is a static
library ( an archive) that contains all of application object
files.
Gregory Nutt
committed
Gregory Nutt
committed
2)clean. Do whatever is appropriate to clean the application
directories for a fresh build.
Gregory Nutt
committed
3)distclean. Clean everything -- 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.
Gregory Nutt
committed
Gregory Nutt
committed
4)depend. Make or update the application build dependencies.
Gregory Nutt
committed
When this application is invoked it will receive the setting TOPDIR like:
Gregory Nutt
committed
$(MAKE) -C $(CONFIG_APPS_DIR) TOPDIR="$(TOPDIR)" <target>
Gregory Nutt
committed
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.
Gregory Nutt
committed
choice
prompt "Memory organization"
default BUILD_FLAT
config BUILD_FLAT
bool "Flat address space"
---help---
Build NuttX as one large, executable "blob". All of the code
within the blob can interrupt with all of the other code within
the blob. There are no special privileges, protections, or
restraints.
config BUILD_PROTECTED
bool "NuttX protected build"
depends on ARCH_USE_MPU
select LIB_SYSCALL
select BUILD_2PASS
---help---
Builds NuttX and selected applications as two "blobs": A protected,
privileged kernel blob and a separate unprivileged, user blob. This
requires use of the two pass build with each blob being build on
each pass.
Gregory Nutt
committed
NOTE: This build configuration requires that the platform support
a memory protection unit (MPU). Support, however, may not be
implemented on all platforms.
config BUILD_KERNEL
bool "NuttX kernel build"
depends on ARCH_USE_MMU && ARCH_ADDRENV
Gregory Nutt
committed
select LIB_SYSCALL
---help---
Builds NuttX as a separately compiled kernel. No applications are
built. All user applications must reside in a file system where
they can be loaded into memory for execution.
NOTE: This build configuration requires that the platform support
a memory management unit (MPU) and address environments. Support,
however, may not be implemented on all platforms.
endchoice # Build configuration
config BUILD_2PASS
bool "Two pass build"
default n
Gregory Nutt
committed
depends on !BUILD_KERNEL
---help---
Enables the two pass build options.
Loading
Loading full blame...