bug-gnulib
[Top][All Lists]
Advanced

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

Re: missing dependencies [Re: inline.m4: use compiler, not cpp


From: Jim Meyering
Subject: Re: missing dependencies [Re: inline.m4: use compiler, not cpp
Date: Tue, 14 Nov 2006 14:11:55 +0100

Bruno Haible <address@hidden> 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  <address@hidden>
>
>       * 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  <address@hidden>

        * 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




reply via email to

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