Bruno Haible <[EMAIL PROTECTED]> wrote: > These are apparently triggered by the use of $(LIBOBJS) in coreutils' > lib/Makefile.am. Although it is a bit uncommon to combine pieces of > gnulib and different pieces from outside gnulib in the same library, I > think gnulib-tool should support this. > > 3 among the 4 errors go away with the following gnulib-tool patch. > > 2006-11-13 Bruno Haible <[EMAIL PROTECTED]> > > * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES. > (func_emit_initmacro_end): Undo the override here. > (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES. > Works around the famous automake error in coreutils.
Thanks for dealing with that. > The remaining error, regarding lstat.c, is because > coreutils/m4/root-dev-ino.m4 > invokes AC_FUNC_LSTAT from outside the gnulib scope, but it is also invoked > from inside the gnulib scope. (I.e. lstat.o will end up in both LIBOBJS and > gl_LIBOBJS.) This situation can not be well supported in gnulib-tool. > A workaround I found for this is appended: to move the gnulib-like stuff > "into the gnulib scope". It is a bit hairy; alternatively you can use > a gnulib-local-dir to ensure that all calls to AC_FUNC_LSTAT come from > inside the gnulib scope. > > diff -c -3 -r1.132 prereq.m4 > *** m4/prereq.m4 21 Aug 2006 07:30:47 -0000 1.132 Thanks for the patch, but I'd prefer to begin converting coreutils' few remaining m4/* and lib/* files (the rest have all migrated to gnulib, of course) into modules in a local gnulib dir. So I've done this: 2006-11-14 Jim Meyering <[EMAIL PROTECTED]> * gl/m4/root-dev-ino.m4: Now that this is part of a real "module", remove the now-unnecessary use of AC_LIBSOURCES. Adapt to new version of gnulib-tool. * gl/modules/root-dev-ino: New file. * lib/root-dev-ino.c, lib/root-dev-ino.h: Move these files ... * gl/lib/root-dev-ino.c, gl/lib/root-dev-ino.h: ... to here. * m4/root-dev-ino.m4: Move this file ... * gl/m4/root-dev-ino.m4: ... to here. * bootstrap.conf (gnulib_modules): Add root-dev-ino. diff --git a/gl/m4/root-dev-ino.m4 b/gl/m4/root-dev-ino.m4 index cebc0fa..9de9c51 100644 --- a/gl/m4/root-dev-ino.m4 +++ b/gl/m4/root-dev-ino.m4 @@ -1,4 +1,4 @@ -#serial 2 +#serial 3 dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,7 +6,6 @@ dnl with or without modifications, as lo AC_DEFUN([gl_ROOT_DEV_INO], [ - AC_LIBSOURCES([root-dev-ino.c, root-dev-ino.h, dev-ino.h, same-inode.h]) AC_LIBOBJ([root-dev-ino]) dnl Prerequisites diff --git a/bootstrap.conf b/bootstrap.conf index 390d093..dcfce05 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -53,7 +53,9 @@ gnulib_modules=" memrchr mkancesdirs mkdir mkdir-p mkstemp mktime modechange mountlist obstack pathmax perl physmem posixtm posixver putenv quote quotearg raise readlink readtokens readtokens0 readutmp - realloc regex rename-dest-slash rmdir rmdir-errno rpmatch + realloc regex rename-dest-slash rmdir rmdir-errno + root-dev-ino + rpmatch safe-read same save-cwd savedir savewd settime sha1 sig2str ssize_t stat-macros stat-time stdbool stdlib-safer stpcpy strcase strftime diff --git a/lib/root-dev-ino.c b/gl/lib/root-dev-ino.c similarity index 100% rename from lib/root-dev-ino.c rename to gl/lib/root-dev-ino.c diff --git a/lib/root-dev-ino.h b/gl/lib/root-dev-ino.h similarity index 100% rename from lib/root-dev-ino.h rename to gl/lib/root-dev-ino.h diff --git a/m4/root-dev-ino.m4 b/gl/m4/root-dev-ino.m4 similarity index 100% rename from m4/root-dev-ino.m4 rename to gl/m4/root-dev-ino.m4 diff --git a/gl/modules/root-dev-ino b/gl/modules/root-dev-ino new file mode 100644 index 0000000..91e2353 --- /dev/null +++ b/gl/modules/root-dev-ino @@ -0,0 +1,25 @@ +Description: +Root device and inode number checking. + +Files: +lib/root-dev-ino.h +lib/root-dev-ino.c +m4/root-dev-ino.m4 + +Depends-on: +dev-ino +same-inode + +configure.ac: +gl_ROOT_DEV_INO + +Makefile.am: + +Include: +"root-dev-ino.h" + +License: +GPL + +Maintainer: +Jim Meyering