summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-04-19 16:52:56 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-04-19 16:52:56 +0000
commit63d7033ac1bb84f570940e2db79f5ca0f39b1ac6 (patch)
tree975d6e1e9b9d9e14718c62827bc8247507e657a3 /nuttx
parent43935f865a5f23262f107eda1f4be59476397c51 (diff)
downloadpx4-nuttx-63d7033ac1bb84f570940e2db79f5ca0f39b1ac6.tar.gz
px4-nuttx-63d7033ac1bb84f570940e2db79f5ca0f39b1ac6.tar.bz2
px4-nuttx-63d7033ac1bb84f570940e2db79f5ca0f39b1ac6.zip
Need more positive control over C++
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1716 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/Documentation/NuttxPortingGuide.html21
-rw-r--r--nuttx/Makefile4
-rw-r--r--nuttx/configs/README.txt3
-rwxr-xr-xnuttx/examples/helloxx/Makefile14
-rwxr-xr-xnuttx/examples/helloxx/main.cxx2
5 files changed, 29 insertions, 15 deletions
diff --git a/nuttx/Documentation/NuttxPortingGuide.html b/nuttx/Documentation/NuttxPortingGuide.html
index e4e9fea33..692c36580 100644
--- a/nuttx/Documentation/NuttxPortingGuide.html
+++ b/nuttx/Documentation/NuttxPortingGuide.html
@@ -12,7 +12,7 @@
<h1><big><font color="#3c34ec">
<i>NuttX RTOS Porting Guide</i>
</font></big></h1>
- <p>Last Updated: April 8, 2009</p>
+ <p>Last Updated: April 19, 2009</p>
</td>
</tr>
</table>
@@ -1539,18 +1539,27 @@ The system can be re-made subsequently by just typing <code>make</code>.
<ul>
<li><code>CONFIG_RRLOAD_BINARY</code>:
Make the rrload binary format used with BSPs from <a href="www.ridgerun.com">ridgerun.com</a>
- using the <code>tools/mkimage.sh</code> script.</li>
+ using the <code>tools/mkimage.sh</code> script.
+ </li>
<li><code>CONFIG_INTELHEX_BINARY</code>:
Make the Intel HEX binary format used with many different loaders using the GNU objcopy program
- This option hould not be selected if you are not using the GNU toolchain.</li>
+ This option hould not be selected if you are not using the GNU toolchain.
+ </li>
<li><code>CONFIG_MOTOROLA_SREC</code>:
Make the Motorola S-Record binary format used with many different loaders using the GNU objcopy program
- Should not be selected if you are not using the GNU toolchain.</li>
+ Should not be selected if you are not using the GNU toolchain.
+ </li>
<li><code>CONFIG_RAW_BINARY</code>:
mmke a raw binary format file used with many different loaders using the GNU objcopy program.
- This option should not be selected if you are not using the GNU toolchain.</li>
+ This option should not be selected if you are not using the GNU toolchain.
+ </li>
<li><code>CONFIG_HAVE_LIBM</code>:
- Toolchain supports libm.a</li>
+ Toolchain supports libm.a
+ </li>
+ <li><code>CONFIG_HAVE_CXX</code>:
+ Toolchain supports C++ and <code>CXX</code>, <code>CXXFLAGS</code>, and <code>COMPILEXX</code>
+ have been defined in the configuratins <code>Make.defs</code> file.
+ </li>
</ul>
<h2>General OS setup</h2>
diff --git a/nuttx/Makefile b/nuttx/Makefile
index 0c4f292cc..e1cd92333 100644
--- a/nuttx/Makefile
+++ b/nuttx/Makefile
@@ -101,7 +101,7 @@ LINKLIBS = sched/libsched$(LIBEXT) $(ARCH_SRC)/libarch$(LIBEXT) mm/libmm$(LIBEXT
# Add libraries for network support. CXX, CXXFLAGS, and COMPILEXX must
# be defined in Make.defs for this to work!
-ifneq ($(CXX),)
+ifeq ($(CONFIG_HAVE_CXX),y)
LINKLIBS += libxx/liblibxx$(LIBEXT)
endif
@@ -203,10 +203,8 @@ sched/libsched$(LIBEXT): context
lib/liblib$(LIBEXT): context
@$(MAKE) -C lib TOPDIR="$(TOPDIR)" liblib$(LIBEXT)
-ifneq ($(CXX),)
libxx/liblibxx$(LIBEXT): context
@$(MAKE) -C libxx TOPDIR="$(TOPDIR)" liblibxx$(LIBEXT)
-endif
$(ARCH_SRC)/libarch$(LIBEXT): context
@$(MAKE) -C $(ARCH_SRC) TOPDIR="$(TOPDIR)" libarch$(LIBEXT)
diff --git a/nuttx/configs/README.txt b/nuttx/configs/README.txt
index c7249039d..ba4d1b80d 100644
--- a/nuttx/configs/README.txt
+++ b/nuttx/configs/README.txt
@@ -154,6 +154,9 @@ defconfig -- This is a configuration file similar to the Linux
different loaders using the GNU objcopy program. This option
should not be selected if you are not using the GNU toolchain.
CONFIG_HAVE_LIBM - toolchain supports libm.a
+ CONFIG_HAVE_CXX - toolchain supports C++ and CXX, CXXFLAGS, and
+ COMPILEXX have been defined in the configuratins Make.defs
+ file.
General OS setup
diff --git a/nuttx/examples/helloxx/Makefile b/nuttx/examples/helloxx/Makefile
index 40c9d6546..7210ea2f1 100755
--- a/nuttx/examples/helloxx/Makefile
+++ b/nuttx/examples/helloxx/Makefile
@@ -1,5 +1,5 @@
############################################################################
-# examples/hello/Makefile
+# examples/helloxx/Makefile
#
# Copyright (C) 2009 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -52,10 +52,14 @@ all: $(BIN)
.PHONY: clean depend chkcxx
chkcxx:
-ifndef CXX
- @echo "In order to use this example, you toolchain must support C++"
- @echo "and CXX, CXXFLAGS, and COMPILEXX must be defined in the Make.defs"
- @echo "file of the configuration that you are using."
+ifneq ($(CONFIG_HAVE_CXX),y)
+ @echo ""
+ @echo "In order to use this example, you toolchain must support must"
+ @echo ""
+ @echo " (1) Explicitly seelct CONFIG_HAVE_CXX to build in C++ support"
+ @echo " (2) Define CXX, CXXFLAGS, and COMPILEXX in the Make.defs file"
+ @echo " of the configuration that you are using."
+ @echo ""
@exit 1
endif
diff --git a/nuttx/examples/helloxx/main.cxx b/nuttx/examples/helloxx/main.cxx
index 7f8230c4a..df84375a2 100755
--- a/nuttx/examples/helloxx/main.cxx
+++ b/nuttx/examples/helloxx/main.cxx
@@ -1,5 +1,5 @@
//***************************************************************************
-// examples/hello/main.c
+// examples/helloxx/main.c
//
// Copyright (C) 2009 Gregory Nutt. All rights reserved.
// Author: Gregory Nutt <spudmonkey@racsa.co.cr>