mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-16 12:55:26 +08:00
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.
This commit is contained in:
@@ -2,10 +2,10 @@ AC_DEFUN([RTEMS_ENABLE_CXX],
|
||||
[
|
||||
AC_ARG_ENABLE(cxx,
|
||||
[AS_HELP_STRING([--enable-cxx],
|
||||
[enable C++ support and build the rtems++ library])],
|
||||
[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])
|
||||
])
|
||||
|
||||
@@ -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])
|
||||
])
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dnl
|
||||
dnl
|
||||
dnl Check for target g++
|
||||
dnl
|
||||
dnl
|
||||
|
||||
AC_DEFUN([RTEMS_PROG_CXX_FOR_TARGET],
|
||||
[
|
||||
@@ -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
|
||||
])
|
||||
|
||||
@@ -16,6 +16,7 @@ AM_MAINTAINER_MODE
|
||||
|
||||
RTEMS_ENABLE_MULTILIB
|
||||
RTEMS_ENABLE_MULTIPROCESSING
|
||||
RTEMS_ENABLE_CXX
|
||||
RTEMS_ENV_RTEMSBSP
|
||||
|
||||
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
|
||||
@@ -93,6 +94,7 @@ rtems_cv_CFLAGS_set="${CFLAGS+set}"
|
||||
CFLAGS="${CFLAGS-${CPU_CFLAGS} ${CFLAGS_OPTIMIZE_V}}"
|
||||
|
||||
RTEMS_PROG_CC_FOR_TARGET
|
||||
RTEMS_PROG_CXX_FOR_TARGET
|
||||
AM_PROG_CC_C_O
|
||||
RTEMS_PROG_CCAS
|
||||
RTEMS_CANONICALIZE_TOOLS
|
||||
|
||||
@@ -13,6 +13,7 @@ AM_MAINTAINER_MODE
|
||||
RTEMS_ENABLE_MULTILIB
|
||||
RTEMS_ENABLE_MULTIPROCESSING
|
||||
RTEMS_ENABLE_POSIX
|
||||
RTEMS_ENABLE_CXX
|
||||
RTEMS_ENABLE_RTEMS_DEBUG
|
||||
RTEMS_ENABLE_NETWORKING
|
||||
RTEMS_ENABLE_PARAVIRT
|
||||
@@ -31,9 +32,10 @@ else
|
||||
fi
|
||||
|
||||
RTEMS_PROG_CC_FOR_TARGET
|
||||
RTEMS_PROG_CCAS
|
||||
RTEMS_CANONICALIZE_TOOLS
|
||||
RTEMS_PROG_CXX_FOR_TARGET
|
||||
AM_PROG_CC_C_O
|
||||
RTEMS_CANONICALIZE_TOOLS
|
||||
RTEMS_PROG_CCAS
|
||||
AC_PROG_RANLIB
|
||||
|
||||
RTEMS_CHECK_NEWLIB
|
||||
|
||||
@@ -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])
|
||||
])
|
||||
|
||||
@@ -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
|
||||
])
|
||||
|
||||
@@ -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])
|
||||
|
||||
Reference in New Issue
Block a user