]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
testrunner: Check if compiler flags are supported before using them
authorRico Tzschichholz <ricotz@ubuntu.com>
Sat, 3 Nov 2018 16:29:21 +0000 (17:29 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sat, 3 Nov 2018 17:59:20 +0000 (18:59 +0100)
Use AX_CHECK_COMPILE_FLAG to collect TEST_CFLAGS in configure.

configure.ac
tests/Makefile.am
tests/testrunner.sh
valadoc/tests/Makefile.am
valadoc/tests/testrunner.sh

index 9d1c97417931b613b2255e9bc7197c87fa5d6f94..6496a7fbfb747b422a30313c780b0874fd9082e3 100644 (file)
@@ -106,6 +106,35 @@ AC_SUBST(COVERAGE_VALAFLAGS)
 AC_SUBST(COVERAGE_CFLAGS)
 AC_SUBST(COVERAGE_LIBS)
 
+
+# Check supported compiler flags used in testrunner.sh
+TEST_EXTRA_CFLAGS="-Werror=init-self \
+-Werror=implicit \
+-Werror=pointer-arith \
+-Werror=redundant-decls \
+-Werror=return-type \
+-Werror=sequence-point \
+-Werror=uninitialized \
+-Werror=int-to-pointer-cast \
+-Werror=pointer-to-int-cast \
+-Wformat=2 \
+-Werror=format-security \
+-Werror=format-nonliteral \
+-Werror=int-conversion \
+-Werror=duplicated-branches \
+-Werror=duplicated-cond \
+-Werror=declaration-after-statement \
+-Werror=maybe-uninitialized \
+-Werror=enum-conversion"
+
+TEST_CFLAGS=
+for flag in $TEST_EXTRA_CFLAGS; do
+       AX_CHECK_COMPILE_FLAG([$flag],[TEST_CFLAGS="$TEST_CFLAGS $flag"])
+done
+
+AC_SUBST(TEST_CFLAGS)
+
+
 GLIB_REQUIRED=2.40.0
 LIBGVC_REQUIRED=2.16
 
index 34bedbdb7dd3d5d4456c1ab3cfbaec1ed324505b..fd0d2467567b6b046ecd4213d92cba3c5526eb85 100644 (file)
@@ -17,7 +17,7 @@ BUILT_SOURCES = \
 noinst_PROGRAMS = \
        $(NULL)
 
-TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT) CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(srcdir)/testrunner.sh
+TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT) CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' TEST_CFLAGS='$(TEST_CFLAGS)' $(srcdir)/testrunner.sh
 
 TESTS = \
        basic-types/integers.vala \
@@ -637,11 +637,14 @@ LINUX_TESTS = \
        $(NULL)
 
 check-TESTS: $(TESTS) $(NON_NULL_TESTS)
-       @EXEEXT=$(EXEEXT) EXEEXT=$(EXEEXT) CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(srcdir)/testrunner.sh $(TESTS)
+       @EXEEXT=$(EXEEXT) CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' TEST_CFLAGS='$(TEST_CFLAGS)' \
+               $(srcdir)/testrunner.sh $(TESTS)
 if HAVE_LINUX
-       @EXEEXT=$(EXEEXT) EXEEXT=$(EXEEXT) CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' VALAFLAGS="--pkg linux" $(srcdir)/testrunner.sh $(LINUX_TESTS)
+       @EXEEXT=$(EXEEXT) CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' TEST_CFLAGS='$(TEST_CFLAGS)' \
+               VALAFLAGS="--pkg linux" $(srcdir)/testrunner.sh $(LINUX_TESTS)
 endif
-       @EXEEXT=$(EXEEXT) EXEEXT=$(EXEEXT) CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' VALAFLAGS="--enable-experimental-non-null" $(srcdir)/testrunner.sh $(NON_NULL_TESTS)
+       @EXEEXT=$(EXEEXT) CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' TEST_CFLAGS='$(TEST_CFLAGS)' \
+               VALAFLAGS="--enable-experimental-non-null" $(srcdir)/testrunner.sh $(NON_NULL_TESTS)
 
 EXTRA_DIST = \
        testrunner.sh \
index f40b5c11bed927649520f790f656fb9af97c2cbe..f90cba7bcaf93c9c43b5ddadaebf037460aff4bd 100755 (executable)
@@ -37,28 +37,15 @@ VALAFLAGS="$VALAFLAGS \
        -X -O0 \
        -X -pipe \
        -X -lm \
-       -X -DGETTEXT_PACKAGE=\\\"valac\\\" \
-       -X -Werror=return-type \
-       -X -Werror=init-self \
-       -X -Werror=implicit \
-       -X -Werror=sequence-point \
-       -X -Werror=return-type \
-       -X -Werror=uninitialized \
-       -X -Werror=pointer-arith \
-       -X -Werror=int-to-pointer-cast \
-       -X -Werror=pointer-to-int-cast \
-       -X -Wformat \
-       -X -Werror=format-security \
-       -X -Werror=format-nonliteral \
-       -X -Werror=redundant-decls \
-       -X -Werror=duplicated-branches \
-       -X -Werror=duplicated-cond \
-       -X -Werror=declaration-after-statement \
-       -X -Werror=maybe-uninitialized \
-       -X -Werror=int-conversion"
+       -X -DGETTEXT_PACKAGE=\\\"valac\\\""
 VAPIGEN=$topbuilddir/vapigen/vapigen$EXEEXT
 VAPIGENFLAGS="--vapidir $vapidir"
 
+# Incorporate the TEST_CFLAGS.
+for cflag in ${TEST_CFLAGS}; do
+    VALAFLAGS="${VALAFLAGS} -X ${cflag}"
+done
+
 # Incorporate the user's CFLAGS. Matters if the user decided to insert
 # -m32 in CFLAGS, for example.
 for cflag in ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
index 1c111295fb12188ca90f48635a0b471ade128fce..f7cdf73f810ebd8c4d28f9f0ffc9d26bb7f5918b 100644 (file)
@@ -2,7 +2,8 @@ include $(top_srcdir)/Makefile.common
 
 NULL =
 
-TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT) PACKAGE_SUFFIX=$(PACKAGE_SUFFIX) TOPBUILDDIR=$(abs_top_builddir) TOPSRCDIR=$(abs_top_srcdir) $(srcdir)/testrunner.sh
+TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT) PACKAGE_SUFFIX=$(PACKAGE_SUFFIX) TOPBUILDDIR=$(abs_top_builddir) TOPSRCDIR=$(abs_top_srcdir) \
+       CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' TEST_CFLAGS='$(TEST_CFLAGS)' $(srcdir)/testrunner.sh
 
 TESTS = \
        libvaladoc/errorreporter.vala \
@@ -16,7 +17,8 @@ TESTS = \
        $(NULL)
 
 check-TESTS: $(TESTS)
-       @EXEEXT=$(EXEEXT) PACKAGE_SUFFIX=$(PACKAGE_SUFFIX) TOPBUILDDIR=$(abs_top_builddir) TOPSRCDIR=$(abs_top_srcdir) $(srcdir)/testrunner.sh $(TESTS)
+       @EXEEXT=$(EXEEXT) PACKAGE_SUFFIX=$(PACKAGE_SUFFIX) TOPBUILDDIR=$(abs_top_builddir) TOPSRCDIR=$(abs_top_srcdir) \
+               CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' TEST_CFLAGS='$(TEST_CFLAGS)' $(srcdir)/testrunner.sh $(TESTS)
        G_DEBUG=fatal_warnings $(builddir)/driver
 
 AM_CFLAGS = \
index 34eb5ca2cfa90e4fd7695da932a9b965929176c7..60609f7570a225912465cb26552c7c227fb2bd3f 100755 (executable)
@@ -42,20 +42,6 @@ VALAFLAGS="$VALAFLAGS \
        -X -O0 \
        -X -pipe \
        -X -lm \
-       -X -Werror=return-type \
-       -X -Werror=init-self \
-       -X -Werror=implicit \
-       -X -Werror=sequence-point \
-       -X -Werror=return-type \
-       -X -Werror=uninitialized \
-       -X -Werror=pointer-arith \
-       -X -Werror=int-to-pointer-cast \
-       -X -Werror=pointer-to-int-cast \
-       -X -Wformat \
-       -X -Werror=format-security \
-       -X -Werror=format-nonliteral \
-       -X -Werror=redundant-decls \
-       -X -Werror=int-conversion \
        -X -L$topbuilddir/vala/.libs -X -lvala$PACKAGE_SUFFIX \
        -X -L$topbuilddir/libvaladoc/.libs -X -lvaladoc$PACKAGE_SUFFIX \
        -X -I$topsrcdir/gee \
@@ -63,6 +49,10 @@ VALAFLAGS="$VALAFLAGS \
        -X -I$topsrcdir/libvaladoc \
        $topsrcdir/valadoc/tests/libvaladoc/parser/generic-scanner.vala"
 
+# Incorporate the TEST_CFLAGS.
+for cflag in ${TEST_CFLAGS}; do
+    VALAFLAGS="${VALAFLAGS} -X ${cflag}"
+done
 
 # Incorporate the user's CFLAGS. Matters if the user decided to insert
 # -m32 in CFLAGS, for example.