Simon Josefsson wrote: > However, gnulib-tool --import puts build-aux files in the wrong > directory for the lib/gl/m4 base. The reason is because the --auxdir > variable is read from the top-level configure.ac AC_CONFIG_AUX_DIR. > > One work around is to run gnulib-tool --import two times
Yes, definitely. When you have two configure.acs, you also need two invocations of gnulib-tool, because - gnulib-tool extracts some information from configure.ac (such as the auxdir, precisely), - some macros refer to gnulib-tool's --source-base argument (see e.g. modules/getloadavg). > and in the > second run, specify the --aux-dir parameter explicitly. However, that > leads to incorrect paths in lib/gl/Makefile.am. I hope you called gnulib-tool once in the top directory and once in lib/ (with directory names relative to lib/, of course) ? The symptoms that you mention sound like you have invoked it twice from the same directory. Ralf Wildenhues wrote: > why can't your two configure.ac scripts share a > build-aux directory? The toplevel one could have > AC_CONFIG_AUX_DIR([lib/build-aux]) > > while lib/configure.ac had > AC_CONFIG_AUX_DIR([build-aux]) You can also use the build-aux directory. Then the toplevel configure.ac has AC_CONFIG_AUX_DIR([build-aux]) and the lib/configure.ac has AC_CONFIG_AUX_DIR([../build-aux]) Note that with this setup, a "cd lib; make dist" will create a tarball that no longer unpacks into a single directory. > However it doesn't work. gnulib-tool puts all the build-aux files in > gl/build-aux/?! I suspect it rewrites lib/build-aux/ to gl/build-aux Where and with what options did you invoke gnulib-tool? > diff --git a/gnulib-tool b/gnulib-tool > index 2c00b1f..6290ac9 100755 > --- a/gnulib-tool > +++ b/gnulib-tool > @@ -2918,17 +2918,17 @@ > s,^\(.................................................[^ ]*\) *, > fi > > sed_rewrite_old_files="\ > + s,^lib/,$cached_sourcebase/, > s,^build-aux/,$auxdir/, > s,^doc/,$cached_docbase/, > - s,^lib/,$cached_sourcebase/, > s,^m4/,$cached_m4base/, > s,^tests/,$cached_testsbase/, > s,^tests=lib/,$cached_testsbase/, > s,^top/,," This patch looks like a nop. Every file name is transformed through exactly once of sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files. These transforms are not iterated. Bruno