summaryrefslogtreecommitdiff
path: root/maintMakefile
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2022-07-04 17:20:30 -0400
committerPaul Smith <psmith@gnu.org>2022-07-09 10:46:47 -0400
commit3f3eecc115eae16c44a09988e3c49968f5aeb9fd (patch)
tree7a923a5d6472eaecf68b073cc6c47b1ac939ac3e /maintMakefile
parentb09e9af0b823498b151c64d25df078605c72ac4e (diff)
downloadmake-git-3f3eecc115eae16c44a09988e3c49968f5aeb9fd.tar.gz
* maintMakefile: Allow checkcfg rules to succeed.
We can no longer pass our mondo-warnings options to the builds, as these will impact all the code including gnulib code, and this won't work. Also allow the caller to disable either the build.sh or makefile invocation, for testing. * Makefile.am: Allow the caller to reset the path to the make binary to be tested. Remove c90 test: gnulib doesn't support it.
Diffstat (limited to 'maintMakefile')
-rw-r--r--maintMakefile36
1 files changed, 21 insertions, 15 deletions
diff --git a/maintMakefile b/maintMakefile
index 70350988..aa536aaf 100644
--- a/maintMakefile
+++ b/maintMakefile
@@ -253,8 +253,11 @@ mk-distcheck: distdir
CFGCHECK_CONFIGFLAGS =
CFGCHECK_BUILDFLAGS =
-CFGCHECK_MAKEFLAGS = CFLAGS='$(AM_CFLAGS)'
+# We can't use our mondo warnings as these are used to compile gnulib modules
+# as well, and that will fail.
+CFGCHECK_MAKEFLAGS = # CFLAGS='$(AM_CFLAGS)'
+# This test can no longer be run: now that we rely on gnulib we must use C99+
checkcfg.strict-c90: CFGCHECK_CONFIGFLAGS = CFLAGS='-std=c90 -pedantic'
checkcfg.strict-c90: CFGCHECK_MAKEFLAGS =
@@ -272,7 +275,6 @@ checkcfg.no-sync: CFGCHECK_CONFIGFLAGS = CPPFLAGS=-DNO_OUTPUT_SYNC
checkcfg.no-archives: CFGCHECK_CONFIGFLAGS = CPPFLAGS=-DNO_ARCHIVES
CONFIG_CHECKS := \
- checkcfg.strict-c90 \
checkcfg.no-jobserver \
checkcfg.no-load \
checkcfg.no-guile \
@@ -289,6 +291,18 @@ check-alt-config: $(CONFIG_CHECKS)
NR_MAKE = $(MAKE)
# Check builds both with build.sh and with make
+build.sh_SCRIPT = exec >>'checkcfg.$*.log' 2>&1; set -x; \
+ cd $(distdir)/_build \
+ && OUTDIR=_bld ../build.sh $(CFGCHECK_BUILD_FLAGS) \
+ && _bld/make GMK_OUTDIR=../_bld $(AM_MAKEFLAGS) check-local \
+ && _bld/make GMK_OUTDIR=../_bld $(AM_MAKEFLAGS) clean
+
+nrmake_SCRIPT = exec >>'checkcfg.$*.log' 2>&1; set -x; \
+ cd $(distdir)/_build \
+ && $(NR_MAKE) $(AM_MAKEFLAGS) $(CFGCHECK_MAKEFLAGS) \
+ && ./make $(AM_MAKEFLAGS) check \
+ && ./make $(AM_MAKEFLAGS) clean
+
$(CONFIG_CHECKS): checkcfg.%: distdir
@echo "Building $@ (output in checkcfg.$*.log)"
exec >'checkcfg.$*.log' 2>&1; \
@@ -298,16 +312,8 @@ $(CONFIG_CHECKS): checkcfg.%: distdir
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. $(CFGCHECK_CONFIGFLAGS) \
$(AM_DISTCHECK_CONFIGURE_FLAGS) $(DISTCHECK_CONFIGURE_FLAGS)
- exec >>'checkcfg.$*.log' 2>&1; set -x; \
- cd $(distdir)/_build \
- && OUTDIR=_bld ../build.sh $(CFGCHECK_BUILD_FLAGS) \
- && _bld/make $(AM_MAKEFLAGS) check-local \
- && _bld/make $(AM_MAKEFLAGS) clean
- exec >>'checkcfg.$*.log' 2>&1; set -x; \
- cd $(distdir)/_build \
- && $(NR_MAKE) $(AM_MAKEFLAGS) $(CFGCHECK_MAKEFLAGS) \
- && ./make $(AM_MAKEFLAGS) check \
- && ./make $(AM_MAKEFLAGS) clean
+ $(build.sh_SCRIPT)
+ $(nrmake_SCRIPT)
# Try using Basic.mk. I can't test this on POSIX systems because it is only
# used for non-POSIX systems; POSIX systems can just use normal
@@ -323,7 +329,7 @@ checkcfg.basicmk: checkcfg.% : distdir
$(AM_DISTCHECK_CONFIGURE_FLAGS) $(DISTCHECK_CONFIGURE_FLAGS)
exec >>'checkcfg.$*.log' 2>&1; set -x; \
cd $(distdir)/_build \
- && $(NR_MAKE) $(AM_MAKEFLAGS) -f ../Basic.mk SRCDIR=.. CFLAGS='$(AM_CFLAGS)' \
+ && $(NR_MAKE) $(AM_MAKEFLAGS) -f ../Basic.mk SRCDIR=.. $(CFGCHECK_MAKEFLAGS)
&& ./make $(AM_MAKEFLAGS) -f ../Basic.mk SRCDIR=.. check \
&& ./make $(AM_MAKEFLAGS) -f ../Basic.mk SRCDIR=.. clean
exec >>'checkcfg.$*.log' 2>&1; \
@@ -332,7 +338,7 @@ checkcfg.basicmk: checkcfg.% : distdir
&& cd $(distdir) \
&& ./configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(NR_MAKE) $(AM_MAKEFLAGS) -f Basic.mk CFLAGS='$(AM_CFLAGS)' \
+ && $(NR_MAKE) $(AM_MAKEFLAGS) -f Basic.mk $(CFGCHECK_MAKEFLAGS)' \
&& ./make $(AM_MAKEFLAGS) -f Basic.mk check \
&& ./make $(AM_MAKEFLAGS) -f Basic.mk clean
@@ -436,7 +442,7 @@ $(COV_BUILD_FILE): $(filter %.c %.h,$(DISTFILES))
cd '$(distdir)'/_build \
&& ../configure --srcdir=.. \
$(AM_DISTCHECK_CONFIGURE_FLAGS) $(DISTCHECK_CONFIGURE_FLAGS) \
- CFLAGS='$(AM_CFLAGS)'
+ $(CFGCHECK_MAKEFLAGS)
PATH="$${COVERITY_PATH:+$$COVERITY_PATH/bin:}$$PATH"; \
cd '$(distdir)'/_build \
&& cov-build --dir cov-int ../build.sh