diff --git a/ChangeLog b/ChangeLog index 36adaeba..cac35e6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,26 @@ 1999-01-13 Alexandre Oliva + * configure.in (AC_CONFIG_DIRS): configure only libltdl, and then, + only if --enable-ltdl-install + (CONF_SUBDIRS): list directories that are configured on demand, + but that must be included in the distribution + (ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS + * Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and + readme-alpha, to handle README-alpha automatically + (EXTRA_DIST): removed README-alpha + (BUILD_SUBDIRS): subdirectories that are always built + (SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL + (DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure + (all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from + configure, and libtool, so that it is built before subdirs + (configure-subdirs): new target + (configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST), + from configure + (@DIST_MAKEFILE_LIST@): create subdir if needed, then run + configure. + On-demand configuration of subdirs at distribution time was + suggested by Gary V. Vaughan + * libtool.m4, ltconfig.in (NM): search for NM in PATH before /usr/ccs/bin, /usr/ucb and /bin. However, if the found one isn't BSD-compat keep searching. If no BSD-compat is found, use the diff --git a/Makefile.am b/Makefile.am index ddb2549e..0fd4f616 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,8 +1,11 @@ ## Process Makefile.am with automake to create Makefile.in. -*-Makefile-*- ## Gordon Matzigkeit , 1996 -AUTOMAKE_OPTIONS = gnits -SUBDIRS = . doc tests $(BUILD_LTDL) -DIST_SUBDIRS = . doc tests libltdl demo mdemo cdemo # depdemo + +AUTOMAKE_OPTIONS = 1.3e gnits readme-alpha + +BUILD_SUBDIRS = . doc tests +SUBDIRS = $(BUILD_SUBDIRS) $(BUILD_LTDL) +DIST_SUBDIRS = $(BUILD_SUBDIRS) $(CONF_SUBDIRS) # We need to export these variables when we run ltconfig. CFLAGS = @CFLAGS@ @@ -11,7 +14,7 @@ CPPLAGS = @CPPFLAGS@ aclocal_macros = libtool.m4 EXTRA_DIST = $(aclocal_macros) libtoolize.in ltconfig.in ltmain.in \ - libtool.spec README-alpha # remove this for a non-alpha release + libtool.spec CLEANFILES = libtool libtoolize MAINTAINERCLEANFILES = ltconfig ltmain.sh @@ -58,23 +61,21 @@ $(srcdir)/ltmain.sh: $(srcdir)/ltmain.in $(top_srcdir)/configure.in sed -e 's/@''PACKAGE@/@PACKAGE@/' -e 's/@''VERSION@/@VERSION@/' $(srcdir)/ltmain.in > ltmain.shT mv -f ltmain.shT $@ -# We use our own libtool.m4 for these. -ACINCLUDE_M4_LIST = \ - $(srcdir)/acinclude.m4 \ - $(srcdir)/libltdl/acinclude.m4 \ - $(srcdir)/demo/acinclude.m4 \ - $(srcdir)/mdemo/acinclude.m4 \ - $(srcdir)/cdemo/acinclude.m4 # \ # -# $(srcdir)/depdemo/acinclude.m4 - # All our rules should depend on these demo files. -all check: $(ACINCLUDE_M4_LIST) $(LIBTOOL_DEPS) +all-local check-local: $(ACINCLUDE_M4_LIST) libtool -$(ACINCLUDE_M4_LIST): $(srcdir)/libtool.m4 +@ACINCLUDE_M4_LIST@: $(srcdir)/libtool.m4 rm -f $@ cd `echo $@ | sed 's,/[^/]*$$,,'` && \ $(LN_S) `echo $@ | sed -e 's|^$(srcdir)/||' -e 's,[^/]*$$,,' -e 's,[^/][^/]*,..,g'`libtool.m4 acinclude.m4 +.PHONY: configure-subdirs +configure-subdirs distdir: $(DIST_MAKEFILE_LIST) +@DIST_MAKEFILE_LIST@: + dir=`echo $@ | sed 's,^[^/]*$,.,;s,/[^/]*$,,'`; \ + test -d $$dir || mkdir $$dir || exit 1; \ + (cd $$dir && $(srcdir)/$$dir/configure) || exit 1 + ################################################################ ## ## Everything past here is useful to the maintainer, but probably not diff --git a/configure.in b/configure.in index 9f834919..e768d7c1 100644 --- a/configure.in +++ b/configure.in @@ -28,7 +28,21 @@ AC_PROG_LN_S dnl For the `lineno' script (which puts line numbers into `ltconfig'). AC_PROG_AWK -AC_CONFIG_SUBDIRS(libltdl demo mdemo cdemo) dnl #depdemo +dnl all subdirectories that are configured on demand, but that must be +dnl included in the distribution +CONF_SUBDIRS="libltdl demo mdemo cdemo" # depdemo +AC_SUBST(CONF_SUBDIRS) + +ACINCLUDE_M4_LIST="\$(srcdir)/acinclude.m4 " +DIST_MAKEFILE_LIST= +for dir in $CONF_SUBDIRS; do + ACINCLUDE_M4_LIST="$ACINCLUDE_M4_LIST\$(srcdir)/$dir/acinclude.m4 " + DIST_MAKEFILE_LIST="$DIST_MAKEFILE_LIST$dir/Makefile " +done +AC_SUBST(ACINCLUDE_M4_LIST) +AC_SUBST(DIST_MAKEFILE_LIST) + +AC_CONFIG_SUBDIRS($BUILD_LTDL) AC_OUTPUT([Makefile doc/Makefile tests/Makefile]) # Local Variables: