summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2016-08-10 13:07:29 +1000
committerChris Johns <chrisj@rtems.org>2016-08-11 17:20:10 +1000
commit9a4eca584321408ecac7b67a562d9c37be719d6a (patch)
treec8f0b5e9e4a1840ddf87d4ad6313613c1f4cf128 /testsuites
parentposix: nanosleep: adjust elapsed time calculation (diff)
downloadrtems-9a4eca584321408ecac7b67a562d9c37be719d6a.tar.bz2
build-system: Always enable C++ if the compiler is present.
We always build a C++ compiler and building with C++ does not effect RTEMS or the runtime. This patch always enabled the support. There is no need to manually enable it any more. You can disable C++ with '--disable-cxx'. If an architecture does not have a C++ compiler support is automatically disabled.
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/aclocal/enable-cxx.m45
-rw-r--r--testsuites/aclocal/prog-cxx.m439
-rw-r--r--testsuites/configure.ac6
3 files changed, 30 insertions, 20 deletions
diff --git a/testsuites/aclocal/enable-cxx.m4 b/testsuites/aclocal/enable-cxx.m4
index 759d81b1e9..952f0151a8 100644
--- a/testsuites/aclocal/enable-cxx.m4
+++ b/testsuites/aclocal/enable-cxx.m4
@@ -1,10 +1,11 @@
AC_DEFUN([RTEMS_ENABLE_CXX],
[
AC_ARG_ENABLE(cxx,
-[AS_HELP_STRING(--enable-cxx,enable C++ support and build the rtems++ library)],
+[AS_HELP_STRING([--enable-cxx],
+[enable C++ support])],
[case "${enable_cxx}" in
yes) RTEMS_HAS_CPLUSPLUS=yes ;;
no) RTEMS_HAS_CPLUSPLUS=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for enable-cxx option) ;;
-esac], [RTEMS_HAS_CPLUSPLUS=no])
+esac], [RTEMS_HAS_CPLUSPLUS=yes])
])
diff --git a/testsuites/aclocal/prog-cxx.m4 b/testsuites/aclocal/prog-cxx.m4
index c71bac961e..91f2b7fbef 100644
--- a/testsuites/aclocal/prog-cxx.m4
+++ b/testsuites/aclocal/prog-cxx.m4
@@ -1,6 +1,6 @@
-dnl
+dnl
dnl Check for target g++
-dnl
+dnl
AC_DEFUN([RTEMS_PROG_CXX_FOR_TARGET],
[
@@ -9,7 +9,7 @@ AC_REQUIRE([RTEMS_ENABLE_CXX])
RTEMS_CHECK_CPUOPTS([RTEMS_SMP])
# If CXXFLAGS is not set, default to CFLAGS
-if test x"$rtems_cv_RTEMS_SMP" = x"yes" ; then
+if test x"$rtems_cv_HAS_SMP" = x"yes" ; then
CXXFLAGS=${CXXFLAGS-${CFLAGS} -std=gnu++11}
else
CXXFLAGS=${CXXFLAGS-${CFLAGS}}
@@ -18,21 +18,26 @@ fi
RTEMS_CHECK_TOOL(CXX,g++)
if test "$RTEMS_HAS_CPLUSPLUS" = "yes";
then
-dnl Only accept g++
-dnl NOTE: This might be too restrictive
-test -z "$CXX" \
- && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
-AC_PROG_CXX
-AC_PROG_CXXCPP
-
- if test "$ac_cv_prog_cc_cross" != "$ac_cv_prog_cxx_cross"; then
- AC_MSG_ERROR([***]
- [Inconsistency in compiler configuration:]
- [Target C compiler and target C++ compiler]
- [must both either be cross compilers or native compilers])
+ dnl Only accept g++
+ dnl NOTE: This might be too restrictive
+ if test -z "$CXX";
+ then
+ RTEMS_HAS_CPLUSPLUS=no
+ HAS_CPLUSPLUS=no
+ ## Work-around to a bug in automake
+ AM_CONDITIONAL([am__fastdepCXX],[false])
+ else
+ AC_PROG_CXX
+ AC_PROG_CXXCPP
+ if test "$ac_cv_prog_cc_cross" != "$ac_cv_prog_cxx_cross"; then
+ AC_MSG_ERROR([***]
+ [Inconsistency in compiler configuration:]
+ [Target C compiler and target C++ compiler]
+ [must both either be cross compilers or native compilers])
+ fi
fi
else
-## Work-around to a bug in automake
-AM_CONDITIONAL([am__fastdepCXX],[false])
+ ## Work-around to a bug in automake
+ AM_CONDITIONAL([am__fastdepCXX],[false])
fi
])
diff --git a/testsuites/configure.ac b/testsuites/configure.ac
index 963e05b674..086f6367d5 100644
--- a/testsuites/configure.ac
+++ b/testsuites/configure.ac
@@ -17,8 +17,12 @@ RTEMS_ENV_RTEMSBSP
RTEMS_PROJECT_ROOT
+RTEMS_PROG_CC_FOR_TARGET
+RTEMS_PROG_CXX_FOR_TARGET
+RTEMS_CANONICALIZE_TOOLS
+AM_PROG_CC_C_O
+
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
-RTEMS_PROG_CC
RTEMS_CHECK_CPUOPTS([RTEMS_POSIX_API])
RTEMS_CHECK_CPUOPTS([RTEMS_MULTIPROCESSING])