1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00

Ensure tests have guile-procedures.txt

The tests depend on libguile/guile-procedures.txt, for example via
documented? in bit-operations.test.  Previously "make check -j..." in a
clean tree would fail because libguile/guile-procedures.txt is built by
./Makefile.am (rather than libguile/Makefile.am) so that it will have a
built module/ available, but when "." is not listed in SUBDIRS, it
builds last, and so the test-suite runs before guile-procedures.txt is
built.

To fix the problem add "." to SUBDIRS before the test-suite so that the
tests will be able depend on everything else, and move the existing
guile-procedures.txt target into libguile/ next to its
guile-procedures.texi dependency.  That gives a better overview and
simplifies the recipe a bit.  It also allows us to drop the explict
"all-local:" dependency, and to let the existing libguile/ code handle
the cleanup.

* Makefile.am (SUBDIRS): add . just before the test-suite.
(libguile/guile-procedures.txt): rely on libguile/Makefile.am.
(CLEANFILES): Drop libguile/procedures.txt.
* libguile/Makefile.am: (all-local): drop.
(libguile/guile-procedures.txt): move Makefile.am recipe here.
This commit is contained in:
Rob Browning 2024-06-30 12:38:35 -05:00
parent e134a1a6b1
commit 1c96e4ab6d
2 changed files with 17 additions and 18 deletions

View file

@ -26,6 +26,8 @@
#
AUTOMAKE_OPTIONS = 1.10
# The test-suite goes last so that it can depend on everything else
# (e.g. guile-procedures.txt).
SUBDIRS = \
lib \
meta \
@ -36,8 +38,9 @@ SUBDIRS = \
stage2 \
guile-readline \
examples \
test-suite \
doc
doc \
. \
test-suite
DIST_SUBDIRS = $(SUBDIRS) prebuilt
@ -57,15 +60,9 @@ BUILT_SOURCES = libguile/scmconfig.h
libguile/scmconfig.h:
$(MAKE) -C libguile scmconfig.h
# Build it from here so that all the modules are compiled by the time we
# build it.
libguile/guile-procedures.txt: libguile/guile-procedures.texi
$(AM_V_GEN) \
$(top_builddir)/meta/guile --no-auto-compile \
"$(srcdir)/libguile/texi-fragments-to-docstrings" \
"$(builddir)/libguile/guile-procedures.texi" \
> $@.tmp
@mv $@.tmp $@
# Build it here so that (given SUBDIRS order) the modules are available
libguile/guile-procedures.txt:
$(MAKE) -C libguile guile-procedures.txt
EXTRA_DIST = LICENSE HACKING GUILE-VERSION \
am/maintainer-dirs \
@ -87,7 +84,6 @@ EXTRA_DIST = LICENSE HACKING GUILE-VERSION \
ACLOCAL_AMFLAGS = -I m4
CLEANFILES = libguile/guile-procedures.txt
DISTCLEANFILES = check-guile.log
DISTCHECK_CONFIGURE_FLAGS = --enable-error-on-warning --enable-mini-gmp