On 22/10/16 18:25, Bruno Haible wrote: > Hi Jim, > >>> 2016-10-16 Bruno Haible <br...@clisp.org> >>> >>> gnulib-tool: Make --create-testdir on all modules work again. >>> * gnulib-tool (func_create_testdir): Don't include the >>> non-recursive-gnulib-prefix-hack module. >> That looks fine. Thanks again. > > OK, I've pushed it. > >>> 4) This module was added in September 2012. Does this mean that no one has >>> used >>> gnulib-tool --create-testdir option to produce a testdir for all modules, >>> in four years?! >> >> Probably true. > > At least Tom Christensen is running gnulib-tool --create-testdir daily > (see http://lists.gnu.org/archive/html/bug-gnulib/2016-10/msg00085.html), > and he apparently started to exclude the module > 'non-recursive-gnulib-prefix-hack' > when it started to introduce this problem. > >>> 1) Both modules/non-recursive-gnulib-prefix-hack and >>> m4/non-recursive-gnulib-prefix-hack.m4 hardcode the subdirectory name >>> 'lib'. >>> (Why does m4/non-recursive-gnulib-prefix-hack.m4 use 'lib' in one place >>> and $1 >>> in another place??) >> >> That's a bug, but inconsequential. Thank you. I've just pushed a fix for it. > > This is better now. But still better would be to not hardcode 'lib' at all, > and instead use whatever value was passed to gnulib-tool via --source-base. > Below is a proposed patch. (The variable $gl_source_base is already used in a > similar way in the modules 'localcharset' and 'relocatable-prog'.) > Untested on my side; can you please test it the next time you happen to > build coreutils?
Unfortunately it fails with: prefix=lib/ running: AUTOPOINT=true LIBTOOLIZE=true autoreconf --verbose --install --force -I m4 --no-recursive autoreconf: Entering directory `.' autoreconf: running: true --force autoreconf: running: aclocal -I m4 --force -I m4 autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /usr/bin/autoconf --include=m4 --force autoreconf: running: /usr/bin/autoheader --include=m4 --force autoreconf: running: automake --add-missing --copy --force-missing configure.ac:614: error: required directory ./$gl_source_base does not exist lib/gnulib.mk:32: error: required file '$gl_source_base/alloca.c' not found Makefile.am:226: 'lib/local.mk' included from here lib/local.mk:1: 'lib/gnulib.mk' included from here autoreconf: automake failed with exit status: 1 ./bootstrap: autoreconf failed > > Bruno > > > 2016-10-22 Bruno Haible <br...@clisp.org> > > non-recursive-gnulib-prefix-hack: Don't make assumptions about > gnulib-tool's --source-base option value. > * modules/non-recursive-gnulib-prefix-hack (configure.ac): Use > gl_source_base. > > diff --git a/modules/non-recursive-gnulib-prefix-hack > b/modules/non-recursive-gnulib-prefix-hack > index 80bc27f..f938d30 100644 > --- a/modules/non-recursive-gnulib-prefix-hack > +++ b/modules/non-recursive-gnulib-prefix-hack > @@ -12,7 +12,7 @@ configure.ac: > dnl Run our hack near the end, just before config.status creation. > dnl It must happen late, i.e., after gl_LIBOBJS has been finalized. > AC_CONFIG_COMMANDS_PRE([ > - gl_NON_RECURSIVE_GNULIB_PREFIX_HACK([lib]) > + gl_NON_RECURSIVE_GNULIB_PREFIX_HACK([$gl_source_base]) > ]) > > Makefile.am: > > >