X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fansi-c%2B%2B.m4;h=8431262a873e75b17fa3f0bc2922d8aa7e4217e5;hb=7ef6c64e210ac0979d7e8ac69bc5b5208c2405ab;hp=60662619c3cbc9612967dfb9872b6c14cfaa65d6;hpb=2893f5e97d5f56ccefdf3d315ed5b4a958eee769;p=gnulib.git diff --git a/m4/ansi-c++.m4 b/m4/ansi-c++.m4 index 60662619c..8431262a8 100644 --- a/m4/ansi-c++.m4 +++ b/m4/ansi-c++.m4 @@ -1,29 +1,68 @@ -# ansi-c++.m4 serial 2 -dnl Copyright (C) 2002-2003, 2010 Free Software Foundation, Inc. +# ansi-c++.m4 serial 9 +dnl Copyright (C) 2002-2003, 2005, 2010-2014 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. +# Sets CXX_CHOICE to 'yes' or 'no', depending on the preferred use of C++. +# The default is 'yes'. If the configure.ac contains a definition of the +# macro gl_CXX_CHOICE_DEFAULT_NO, then the default is 'no'. In both cases, +# the user can change the value by passing the option --disable-cxx or +# --enable-cxx, respectively. + +AC_DEFUN([gl_CXX_CHOICE], +[ + AC_MSG_CHECKING([whether to use C++]) + dnl Plus signs are supported in AC_ARG_ENABLE starting with autoconf-2.66. + m4_version_prereq([2.66], + [m4_ifdef([gl_CXX_CHOICE_DEFAULT_NO], + [AC_ARG_ENABLE([c++], + [ --enable-c++ also build C++ sources], + [CXX_CHOICE="$enableval"], + [CXX_CHOICE=no])], + [AC_ARG_ENABLE([c++], + [ --disable-c++ do not build C++ sources], + [CXX_CHOICE="$enableval"], + [CXX_CHOICE=yes])])], + [m4_ifdef([gl_CXX_CHOICE_DEFAULT_NO], + [AC_ARG_ENABLE([cxx], + [ --enable-cxx also build C++ sources], + [CXX_CHOICE="$enableval"], + [CXX_CHOICE=no])], + [AC_ARG_ENABLE([cxx], + [ --disable-cxx do not build C++ sources], + [CXX_CHOICE="$enableval"], + [CXX_CHOICE=yes])])]) + AC_MSG_RESULT([$CXX_CHOICE]) + AC_SUBST([CXX_CHOICE]) +]) + # gl_PROG_ANSI_CXX([ANSICXX_VARIABLE], [ANSICXX_CONDITIONAL]) # Sets ANSICXX_VARIABLE to the name of a sufficiently ANSI C++ compliant -# compiler, or to ":" if none is found. +# compiler, or to "no" if none is found. # Defines the Automake condition ANSICXX_CONDITIONAL to true if such a compiler # was found, or to false if not. AC_DEFUN([gl_PROG_ANSI_CXX], [ + AC_REQUIRE([gl_CXX_CHOICE]) m4_if([$1], [CXX], [], [gl_save_CXX="$CXX"]) + if test "$CXX_CHOICE" = no; then + CXX=no + fi if test -z "$CXX"; then if test -n "$CCC"; then CXX="$CCC" else - AC_CHECK_PROGS([CXX], [g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC], [:]) + AC_CHECK_TOOLS([CXX], + [g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC], + [:]) fi fi - if test "$CXX" != ":"; then + if test "$CXX" != no; then dnl Use a modified version of AC_PROG_CXX_WORKS that does not exit dnl upon failure. AC_MSG_CHECKING([whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works]) @@ -45,7 +84,7 @@ AC_DEFUN([gl_PROG_ANSI_CXX], AC_LANG_POP([C++]) AC_MSG_RESULT([$gl_cv_prog_ansicxx_works]) if test $gl_cv_prog_ansicxx_works = no; then - CXX=: + CXX=no else dnl Test for namespaces. dnl We don't bother supporting pre-ANSI-C++ compilers. @@ -66,7 +105,7 @@ EOF AC_LANG_POP([C++]) AC_MSG_RESULT([$gl_cv_prog_ansicxx_namespaces]) if test $gl_cv_prog_ansicxx_namespaces = no; then - CXX=: + CXX=no fi fi fi @@ -75,11 +114,15 @@ EOF CXX="$gl_save_CXX"]) AC_SUBST([$1]) - AM_CONDITIONAL([$2], [test "$$1" != ":"]) + AM_CONDITIONAL([$2], [test "$$1" != no]) - dnl This macro invocation resolves an automake error: - dnl /usr/local/share/automake-1.11/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL - dnl /usr/local/share/automake-1.11/am/depend2.am: The usual way to define `am__fastdepCXX' is to add `AC_PROG_CXX' - dnl /usr/local/share/automake-1.11/am/depend2.am: to `configure.ac' and run `aclocal' and `autoconf' again. - _AM_DEPENDENCIES([CXX]) + if test "$$1" != no; then + dnl This macro invocation resolves an automake error: + dnl /usr/local/share/automake-1.11/am/depend2.am: am__fastdepCXX does not appear in AM_CONDITIONAL + dnl /usr/local/share/automake-1.11/am/depend2.am: The usual way to define 'am__fastdepCXX' is to add 'AC_PROG_CXX' + dnl /usr/local/share/automake-1.11/am/depend2.am: to 'configure.ac' and run 'aclocal' and 'autoconf' again. + _AM_DEPENDENCIES([CXX]) + else + AM_CONDITIONAL([am__fastdepCXX], [false]) + fi ])