Use AX_CHECK_COMPILE_FLAG to collect TEST_CFLAGS in configure.
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
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 \
$(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 \
-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
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 \
$(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 = \
-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 \
-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.