build: require c++17

We don't technically need it yet, but will do so during the 1.7.x series.
This commit is contained in:
Dirk-Jan C. Binnema 2021-08-28 09:54:05 +03:00
parent ec40b18ae4
commit 286d6f70c8
4 changed files with 41 additions and 6 deletions

View File

@ -42,15 +42,15 @@ AC_PROG_CC_C99
AC_PROG_INSTALL
AC_HEADER_STDC
extra_flags="-Wformat-security \
extra_flags="-Wformat-security \
-Wstack-protector \
-Wstack-protector-all \
-Wno-cast-function-type \
-Wno-bad-function-cast"
AX_CXX_COMPILE_STDCXX_14
AX_CXX_COMPILE_STDCXX_17
AX_COMPILER_FLAGS_CXXFLAGS([],[],[${extra_cflags}])
AX_APPEND_COMPILE_FLAGS([-Wno-inline ],[CXXFLAGS])
AX_APPEND_COMPILE_FLAGS([-Wno-inline],[CXXFLAGS])
AX_VALGRIND_CHECK
LT_INIT

View File

@ -1,4 +1,4 @@
## Copyright (C) 2008-2020 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
## Copyright (C) 2008-2021 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@ -36,6 +36,7 @@ EXTRA_DIST= \
ax_compiler_flags_ldflags.m4 \
ax_cxx_compile_stdcxx.m4 \
ax_cxx_compile_stdcxx_14.m4 \
ax_cxx_compile_stdcxx_17.m4 \
ax_file_escapes.m4 \
ax_is_release.m4 \
ax_lib_readline.m4 \

View File

@ -0,0 +1,35 @@
# =============================================================================
# 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])])

View File

@ -25,7 +25,7 @@ project('mu', ['c', 'cpp'],
'buildtype=debugoptimized',
'warning_level=1',
'c_std=c11',
'cpp_std=c++14'
'cpp_std=c++17'
]
)
@ -51,7 +51,6 @@ extra_flags = [
'-Winit-self',
'-Wmissing-include-dirs',
'-Wpointer-arith',
#'-Wswitch-enum',
'-Wswitch-default',
]