autoconf-archive-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: C++ pre-processor flags not updated by ax_cxx_compile_stdcxx.m4


From: Kip Warner
Subject: Re: C++ pre-processor flags not updated by ax_cxx_compile_stdcxx.m4
Date: Sun, 20 Mar 2016 16:34:15 -0700

On Sat, 2016-03-19 at 04:53 +0100, Moritz Klammler wrote:
> Are you using the latest version of `AX_CXX_COMPILE_STDCXX` [1]?  I
> think this should have been fixed by Joshua's latest patch [2] which
> changed the macro to append the `-std=c++14` flag to the `CXX` rather
> than to the `CXXFLAGS` variable so the pre-processor should now pick 
> it up as well.

Hey Moritz. Yes, I am using the latest release from [1].

> I've tested with the following setup and it seems to work properly 
> with the latest version.
> 
>     $ ls
>     configure.ac m4/
> 
>     $ cat configure.ac
>     AC_PREREQ([2.69])
>     AC_INIT([example], [1.0], address@hidden)
>     AC_CONFIG_MACRO_DIR([m4])
>     AC_PROG_CXX
>     AX_CXX_COMPILE_STDCXX_14
>     AC_LANG_PUSH([C++])
>     AC_CHECK_HEADERS([initializer_list])
>     AC_LANG_POP([C++])
>     AC_OUTPUT
> 
>     $ ls m4/
>     ax_cxx_compile_stdcxx.m4  ax_cxx_compile_stdcxx_14.m4
> 
>     $ autoreconf && ./configure
>     # ...

I confirm the same results. However, if you add AC_PROG_CXXCPP just
before the AX_CXX_COMPILE_STDCXX_14 expansion, I see the following:

    $ ./configure 
    checking for g++... g++
    checking whether the C++ compiler works... yes
    checking for C++ compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C++ compiler... yes
    checking whether g++ accepts -g... yes
    checking how to run the C++ preprocessor... g++ -E
    checking whether we are using the GNU C++ compiler... (cached) yes
    checking whether g++ accepts -g... (cached) yes
    checking whether g++ supports C++14 features by default... no
    checking whether g++ supports C++14 features with -std=gnu++14... yes
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking initializer_list usability... yes
    checking initializer_list presence... no
    configure: WARNING: initializer_list: accepted by the compiler, rejected by 
the preprocessor!
    configure: WARNING: initializer_list: proceeding with the compiler's result
    checking for initializer_list... yes
    configure: creating ./config.status

I hope that helps.

-- 
Kip Warner -- Senior Software Engineer
OpenPGP encrypted/signed mail preferred
http://www.thevertigo.com

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]