And probably many other distributions.
Until now, ./configure would fail silently printing a warning
    ./configure: line 4621: AX_CXX_COMPILE_STDCXX_17: command not found
and then continuing, later failing with a C++ #error saying that some C++11
feature isn't supported (it didn't even get to the C++17 features).
This is because older distributions don't come with the
`AX_CXX_COMPILE_STDCXX_17` m4 macro.
This commit vendors that macro accordingly.
Now ./configure complains correctly:
    configure: error: *** A compiler with support for C++17 language features is required.
On Ubuntu 16.04, ./configure completes if a newer compiler is used, e.g. with
gcc-7 from https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
using:
    ./bootstrap.sh
    ./configure CXX=g++-7 --disable-doc-gen --with-boost=$(nix-build --no-link '<nixpkgs>' -A boost.dev)
		
	
			
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # =============================================================================
 | |
| #  https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_17.html
 | |
| # =============================================================================
 | |
| #
 | |
| # SYNOPSIS
 | |
| #
 | |
| #   AX_CXX_COMPILE_STDCXX_17([ext|noext], [mandatory|optional])
 | |
| #
 | |
| # DESCRIPTION
 | |
| #
 | |
| #   Check for baseline language coverage in the compiler for the C++17
 | |
| #   standard; if necessary, add switches to CXX and CXXCPP to enable
 | |
| #   support.
 | |
| #
 | |
| #   This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
 | |
| #   macro with the version set to C++17.  The two optional arguments are
 | |
| #   forwarded literally as the second and third argument respectively.
 | |
| #   Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
 | |
| #   more information.  If you want to use this macro, you also need to
 | |
| #   download the ax_cxx_compile_stdcxx.m4 file.
 | |
| #
 | |
| # LICENSE
 | |
| #
 | |
| #   Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
 | |
| #   Copyright (c) 2016 Krzesimir Nowak <qdlacz@gmail.com>
 | |
| #
 | |
| #   Copying and distribution of this file, with or without modification, are
 | |
| #   permitted in any medium without royalty provided the copyright notice
 | |
| #   and this notice are preserved. This file is offered as-is, without any
 | |
| #   warranty.
 | |
| 
 | |
| #serial 2
 | |
| 
 | |
| AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX])
 | |
| AC_DEFUN([AX_CXX_COMPILE_STDCXX_17], [AX_CXX_COMPILE_STDCXX([17], [$1], [$2])])
 |