summaryrefslogtreecommitdiff
path: root/apps/examples/README.txt
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-06-21 09:32:57 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-06-21 09:32:57 -0600
commitaaaacf612dc228a31282c0c1c015f116eb309cd8 (patch)
tree43b7b643f99ef133d1315e7affd193cfaeff2fae /apps/examples/README.txt
parent650a85488872f2a2ca28969d9545b05fe99880db (diff)
downloadnuttx-aaaacf612dc228a31282c0c1c015f116eb309cd8.tar.gz
nuttx-aaaacf612dc228a31282c0c1c015f116eb309cd8.tar.bz2
nuttx-aaaacf612dc228a31282c0c1c015f116eb309cd8.zip
Straighten out issues about who calls C++ initializers with CXXTEST or HELLOXX are built as NSH applications; Add an ofstream test to CXXTEST suggested by Michael; Update many defconfig fiels to that they set configurations to handle C++ constructors just as before these configuration changes
Diffstat (limited to 'apps/examples/README.txt')
-rw-r--r--apps/examples/README.txt52
1 files changed, 42 insertions, 10 deletions
diff --git a/apps/examples/README.txt b/apps/examples/README.txt
index 8ef6b4a10..c6f31b034 100644
--- a/apps/examples/README.txt
+++ b/apps/examples/README.txt
@@ -256,14 +256,6 @@ examples/cxxtest
is not included in the NuttX source tree by default, but must be installed
(see misc/uClibc++/README.txt for installation).
- The NuttX setting that are required include:
-
- CONFIG_HAVE_CXX=y
- CONFIG_HAVE_CXXINITIALIZE=y
- CONFIG_UCLIBCXX=y
-
- Additional uClibc++ settings may be required in your build environment.
-
The uClibc++ test includes simple test of:
- iostreams,
@@ -271,6 +263,25 @@ examples/cxxtest
- RTTI, and
- Exceptions
+ Example Configuration Options
+ -----------------------------
+ CONFIG_EXAMPLES_CXXTEST=y - Eanbles the example
+ CONFIG_EXAMPLES_CXXTEST_CXXINITIALIZE=y - By default, if CONFIG_HAVE_CXX
+ and CONFIG_HAVE_CXXINITIALIZE are defined, then this example
+ will call the NuttX function to initialize static C++ constructors.
+ This option may be disabled, however, if that static initialization
+ was performed elsewhere.
+
+ Other Required Configuration Settings
+ -------------------------------------
+ Other NuttX setting that are required include:
+
+ CONFIG_HAVE_CXX=y
+ CONFIG_HAVE_CXXINITIALIZE=y
+ CONFIG_UCLIBCXX=y
+
+ Additional uClibc++ settings may be required in your build environment.
+
examples/dhcpd
^^^^^^^^^^^^^^
@@ -539,6 +550,11 @@ examples/helloxx
"built-in" that can be executed from the NSH command line.
CONFIG_EXAMPLES_HELLOXX_NOSTACKCONST - Set if the system does not
support construction of objects on the stack.
+ CONFIG_EXAMPLES_HELLOXX_CXXINITIALIZE - By default, if CONFIG_HAVE_CXX
+ and CONFIG_HAVE_CXXINITIALIZE are defined, then this example
+ will call the NuttX function to initialize static C++ constructors.
+ This option may be disabled, however, if that static initialization
+ was performed elsewhere.
Also needed:
@@ -742,17 +758,23 @@ examples/nrf24l01_term
examples/nsh
^^^^^^^^^^^^
+ Basic Configuration
+ -------------------
This directory provides an example of how to configure and use
the NuttShell (NSH) application. NSH is a simple shell
application. NSH is described in its own README located at
- apps/nshlib/README.txt
+ apps/nshlib/README.txt. This function is enabled with:
+
+ CONFIG_EXAMPLES_NSH=y
Applications using this example will need to provide an defconfig
file in the configuration directory with instruction to build
- applicationslike:
+ the NSH library like:
CONFIG_NSH_LIBRARY=y
+ Other Configuration Requirements
+ --------------------------------
NOTE: If the NSH serial console is used, then following is also
required to build the readline() library:
@@ -779,6 +801,16 @@ examples/nsh
CONFIG_STDIO_BUFFER_SIZE - Some value >= 64
CONFIG_STDIO_LINEBUFFER=y
+ C++ Support
+ -----------
+ If CONFIG_HAVE_CXX=y and CONFIG_HAVE_CXXINITIALIZE=y, then this NSH
+ example can be configured to initialize C++ constructors when it
+ is started. NSH does not use C++ and, by default, assumes that
+ constructors are initialized elsewhere. However, you can force
+ NSH to initialize constructors by setting:
+
+ CONFIG_EXAMPLES_NSH_CXXINITIALIZE=y
+
examples/nx
^^^^^^^^^^^