guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] branch main updated: Ensure tests have guile-procedures.


From: Rob Browning
Subject: [Guile-commits] branch main updated: Ensure tests have guile-procedures.txt
Date: Sat, 28 Sep 2024 14:25:04 -0400

This is an automated email from the git hooks/post-receive script.

rlb pushed a commit to branch main
in repository guile.

The following commit(s) were added to refs/heads/main by this push:
     new 1c96e4ab6 Ensure tests have guile-procedures.txt
1c96e4ab6 is described below

commit 1c96e4ab6dde18c69f1493a8e1560e80a347cd21
Author: Rob Browning <rlb@defaultvalue.org>
AuthorDate: Sun Jun 30 12:38:35 2024 -0500

    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.
---
 Makefile.am          | 20 ++++++++------------
 libguile/Makefile.am | 15 +++++++++------
 2 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index c74761628..6d73625c7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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
diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index 0890acc18..59fb5f5fc 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -468,10 +468,6 @@ BUILT_INCLUDES = vm-operations.h scmconfig.h libpath.h 
srfi-14.i.c
 BUILT_SOURCES = cpp-E.c cpp-SIG.c $(BUILT_INCLUDES) \
     $(DOT_X_FILES) $(EXTRA_DOT_X_FILES)
 
-# Force the generation of `guile-procedures.texi' because the top-level
-# Makefile expects it to be built.
-all-local: guile-procedures.texi
-
 EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES = \
     syscalls.h                                 \
     dynl.c regex-posix.c                       \
@@ -734,8 +730,6 @@ EXTRA_DIST = ChangeLog-scm ChangeLog-threads                
                \
     unidata_to_charset.awk UnicodeData.txt                             \
     vm-operations.h libguile-@GUILE_EFFECTIVE_VERSION@-gdb.scm         \
     $(lightening_c_files) $(lightening_extra_files)
-#    $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) \
-#    guile-procedures.txt guile.texi
 
 ## FIXME: Consider using timestamp file, to avoid unnecessary rebuilds.
 if MINGW_LIBPATH
@@ -853,6 +847,15 @@ guile.texi: $(alldotdocfiles) guile$(EXEEXT)
 guile-procedures.texi: $(alldotdocfiles) guile$(EXEEXT)
        $(AM_V_GEN)$(dotdoc2texi)          > $@ || { rm $@; false; }
 
+# Requires meta to be listed before libguile in SUBDIRS
+guile-procedures.txt: guile-procedures.texi
+       $(AM_V_GEN)                                             \
+       $(top_builddir)/meta/guile --no-auto-compile            \
+         "$(srcdir)/texi-fragments-to-docstrings"              \
+         "$(builddir)/guile-procedures.texi"                   \
+         > $@.tmp
+       @mv $@.tmp $@
+
 c-tokenize.c: c-tokenize.lex
        flex -t $(srcdir)/c-tokenize.lex > $@ || { rm $@; false; }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]