diff options
author | Chris Johns <chrisj@rtems.org> | 2016-08-10 13:07:29 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2016-08-11 17:20:10 +1000 |
commit | 9a4eca584321408ecac7b67a562d9c37be719d6a (patch) | |
tree | c8f0b5e9e4a1840ddf87d4ad6313613c1f4cf128 /testsuites | |
parent | posix: nanosleep: adjust elapsed time calculation (diff) | |
download | rtems-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.m4 | 5 | ||||
-rw-r--r-- | testsuites/aclocal/prog-cxx.m4 | 39 | ||||
-rw-r--r-- | testsuites/configure.ac | 6 |
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]) |