libtool-patches
[Top][All Lists]
Advanced

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

Re: distchecking without FC?


From: Noah Misch
Subject: Re: distchecking without FC?
Date: Sun, 17 Jun 2007 22:43:52 -0700
User-agent: Mutt/1.5.9i

Hi Ralf,

On Sat, Jun 16, 2007 at 11:13:36AM +0200, Ralf Wildenhues wrote:
> * Noah Misch wrote on Fri, Jun 15, 2007 at 02:42:04AM CEST:
> > If better, we could compromise between complexity
> > and redundancy by generating the list of files at `bootstrap' time.
> 
> If you've already tried this, please post the patch.  Thanks.

I gave this a whirl.  Having done so, I personally prefer the simplicity of the
literal patch.  What do you think?

2007-06-18  Noah Misch  <address@hidden>

        * bootstrap: Generate tests/test-disk.mk.  Arrange to do this after
        configuring most directories, but before configuring the top level.
        * Makefile.am: Include tests/test-dist.mk.
        (configure-subdirs, @DIST_MAKEFILE_LIST@, DIST_SUBDIRS): Delete.
        (clean-local-legacy): Delete `config.log' in test directories.
        * configure.ac (CONF_SUBDIRS, DIST_MAKEFILE_LIST): Delete.

diff -urp -X ../dontdiff lt-clean/bootstrap lt-autofdist/bootstrap
--- lt-clean/bootstrap  2007-03-25 07:12:42.000000000 -0500
+++ lt-autofdist/bootstrap      2007-06-17 17:55:03.000000000 -0400
@@ -161,9 +161,29 @@ LIBTOOLIZE=`pwd`/$auxdir/libtoolize
 export LIBTOOLIZE
 
 for sub in $reconfdirs; do
+  test "$sub" = . && continue
   $AUTORECONF --force --verbose --install $sub
 done
 
+# Generate a list of legacy test suite files to distribute.
+{
+  echo '# Generated by Libtool bootstrap.'
+  echo
+  find tests/*demo tests/*demo[0-9] -name '{arch}' -prune -o -type f \
+    \( \
+      -name \*.[ch] -o -name \*.cpp -o -name \*.f -o -name \*.f90 \
+      -o -name configure -o -name configure.ac -o -name aclocal.m4 \
+      -o -name Makefile.am -o -name \*.in -o -name README \
+    \) \
+    -printf 'EXTRA_DIST += %p\n'
+} >tests/test-dist.mk
+
+# Bootstrap `.' last.
+case $reconfdirs in
+  . | '. '* | *' . '* | *' .') $AUTORECONF --force --verbose --install ;;
+esac
+
+
 # Autoheader valiantly tries to prevent needless reconfigurations by
 # not changing the timestamp of config-h.in unless the file contents
 # are updated.  Unfortunately config-h.in depends on aclocal.m4 which
diff -urp -X ../dontdiff lt-clean/configure.ac lt-autofdist/configure.ac
--- lt-clean/configure.ac       2007-03-26 15:18:43.000000000 -0500
+++ lt-autofdist/configure.ac   2007-06-17 17:15:30.000000000 -0400
@@ -153,18 +153,6 @@ if test x"${enable_ltdl_install+set}" !=
   enable_ltdl_install=yes
 fi
 
-# All subdirectories that are configured on demand, but that must be
-# included in the distribution.
-CONF_SUBDIRS="tests/cdemo tests/demo tests/depdemo tests/f77demo tests/fcdemo \
-       tests/mdemo tests/mdemo2 tests/pdemo tests/tagdemo"
-AC_SUBST([CONF_SUBDIRS])
-
-DIST_MAKEFILE_LIST=
-for dir in $CONF_SUBDIRS; do
-  DIST_MAKEFILE_LIST="${DIST_MAKEFILE_LIST}$dir/Makefile "
-done
-AC_SUBST([DIST_MAKEFILE_LIST])
-
 
 ## ---------------- ##
 ## compiler checks. ##
diff -urp -X ../dontdiff lt-clean/Makefile.am lt-autofdist/Makefile.am
--- lt-clean/Makefile.am        2007-06-14 12:37:28.000000000 -0400
+++ lt-autofdist/Makefile.am    2007-06-17 17:16:21.000000000 -0400
@@ -103,14 +103,6 @@ libtool: $(top_builddir)/config.status $
          cd $(top_builddir) && $(SHELL) ./config.status $$target; \
        fi
 
-.PHONY: configure-subdirs
-configure-subdirs distdir: $(DIST_MAKEFILE_LIST)
address@hidden@:
-       dir=`echo $@ | sed 's,^[^/]*$$,.,;s,/[^/]*$$,,'`; \
-       test -d $$dir || mkdir $$dir || exit 1; \
-       abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; \
-       (cd $$dir && $$abs_srcdir/$$dir/configure) || exit 1
-
 
 # ---------- #
 # Bootstrap. #
@@ -614,7 +606,7 @@ tests/demo-conf.test: libtool
 
 EXTRA_DIST     += $(srcdir)/tests/defs.in tests/defs.m4sh \
                  $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) $(FC_TESTS)
-DIST_SUBDIRS   += $(CONF_SUBDIRS)
+include tests/test-dist.mk
 
 # The defs script shouldn't be recreated whenever the Makefile is
 # regenerated since the source tree can be read-only.
@@ -632,12 +624,14 @@ $(srcdir)/tests/defs.in: $(auxdir)/gener
        rm -f tests/defs.in; \
        $(M4SH) -B $(auxdir) tests/defs.m4sh > tests/defs.in
 
-# We need to remove any files that the above tests created.
+# We need to remove any files that the above tests created.  Where 
configuration
+# failed, `config.log' will exist in the absence of `Makefile'.
 clean-local-legacy:
        -cd tests; \
        for dir in cdemo demo depdemo f77demo fcdemo mdemo mdemo2 pdemo 
tagdemo; \
        do \
            test -f $$dir/Makefile && ( cd $$dir && $(MAKE) distclean; ); \
+           rm -f $$dir/config.log; \
        done
        rm -rf _inst
 




reply via email to

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