diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2017-08-30 17:25:00 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2017-08-30 17:25:00 +0200 |
commit | 8d29d48ab0c75468d912d0dacdd02cf57739af13 (patch) | |
tree | a47bf981bea6f726bf97bebd4322d23667631600 | |
parent | 94ee6eed81386ba9de624ef3b977d49c75e3e6b5 (diff) | |
download | pacrunner-8d29d48ab0c75468d912d0dacdd02cf57739af13.tar.gz |
build: Handle missing support for -Wimplicit-fallthrough=2
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | acinclude.m4 | 13 | ||||
-rw-r--r-- | configure.ac | 3 |
3 files changed, 20 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am index 363b218..21642e1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -62,8 +62,10 @@ noinst_LIBRARIES += duktape/libduktape.a duktape_libduktape_a_SOURCES = duktape/duk_config.h \ duktape/duktape.h \ duktape/duktape.c -duktape_libduktape_a_CFLAGS = -Wno-format-truncation \ - -Wimplicit-fallthrough=2 +duktape_libduktape_a_CFLAGS = -Wno-format-truncation +if GCC7 +duktape_libduktape_a_CFLAGS += -Wimplicit-fallthrough=2 +endif endif duktape_libduktape_a_SHORTNAME = libduktape diff --git a/acinclude.m4 b/acinclude.m4 index 51630a8..55d440c 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -25,3 +25,16 @@ AC_DEFUN([COMPILER_FLAGS], [ CFLAGS+=" -DG_DISABLE_DEPRECATED" fi ]) + +AC_DEFUN([AX_CHECK_COMPILE_FLAG], [ + AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1]) + AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ + ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" + AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) + AS_VAR_IF(CACHEVAR,yes, [m4_default([$2], :)], [m4_default([$3], :)]) + AS_VAR_POPDEF([CACHEVAR]) +]) diff --git a/configure.ac b/configure.ac index 1577c86..12990a5 100644 --- a/configure.ac +++ b/configure.ac @@ -20,6 +20,9 @@ PKG_PROG_PKG_CONFIG COMPILER_FLAGS +AX_CHECK_COMPILE_FLAG([-Wimplicit-fallthrough=2], have_gcc7=yes) +AM_CONDITIONAL(GCC7, test "${have_gcc7}" = "yes") + AC_LANG_C AC_PROG_CC |