Mercurial > gnulib
view m4/ansi-c++.m4 @ 40177:dcd889592b62
dtoastr,ftoastr,ldtoastr: port to c-strtod changes
Decouple these modules from c-strtod. Nowadays it’s reasonable to
assume the C99 signatures for strtod and strtold. Programs that
require stricter adherence to C99 should also use the strtod and
strtold modules as needed, and we no longer need the
HAVE_C99_STRTOLD macro.
* NEWS: Mention this.
* lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
* m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
* modules/dtoastr, modules/ftoastr, modules/ldtoastr:
(Files): Remove m4/c-strtod.m4.
(configure.ac): Do not require gl_C99_STRTOLD, which no longer
exists.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Sat, 02 Feb 2019 13:01:55 -0800 |
parents | b06060465f09 |
children |
line wrap: on
line source
# ansi-c++.m4 serial 10 dnl Copyright (C) 2002-2003, 2005, 2010-2019 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 "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_TOOLS([CXX], [g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC], [:]) fi fi 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]) AC_LANG_PUSH([C++]) AC_ARG_VAR([CXX], [C++ compiler command]) AC_ARG_VAR([CXXFLAGS], [C++ compiler flags]) echo 'int main () { return 0; }' > conftest.$ac_ext if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then gl_cv_prog_ansicxx_works=yes if (./conftest; exit) 2>/dev/null; then gl_cv_prog_ansicxx_cross=no else gl_cv_prog_ansicxx_cross=yes fi else gl_cv_prog_ansicxx_works=no fi rm -fr conftest* AC_LANG_POP([C++]) AC_MSG_RESULT([$gl_cv_prog_ansicxx_works]) if test $gl_cv_prog_ansicxx_works = no; then CXX=no else dnl Test for namespaces. dnl We don't bother supporting pre-ANSI-C++ compilers. AC_MSG_CHECKING([whether the C++ compiler supports namespaces]) AC_LANG_PUSH([C++]) cat <<EOF > conftest.$ac_ext #include <iostream> namespace test { using namespace std; } std::ostream* ptr; int main () { return 0; } EOF if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then gl_cv_prog_ansicxx_namespaces=yes else gl_cv_prog_ansicxx_namespaces=no fi rm -fr conftest* AC_LANG_POP([C++]) AC_MSG_RESULT([$gl_cv_prog_ansicxx_namespaces]) if test $gl_cv_prog_ansicxx_namespaces = no; then CXX=no fi fi fi m4_if([$1], [CXX], [], [$1="$CXX" CXX="$gl_save_CXX"]) AC_SUBST([$1]) AM_CONDITIONAL([$2], [test "$$1" != no]) 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 ]) # gl_ANSI_CXX # Sets CXX to the name of a sufficiently ANSI C++ compliant compiler, or to # "no" if none is found. # Defines the Automake condition ANSICXX to true if such a compiler was found, # or to false if not. AC_DEFUN([gl_ANSI_CXX], [ gl_PROG_ANSI_CXX([CXX], [ANSICXX]) ])