mention that Gnulib takes over LIBOBJS
authorKarl Berry <karl@freefriends.org>
Mon, 19 Jun 2006 20:40:26 +0000 (20:40 +0000)
committerKarl Berry <karl@freefriends.org>
Mon, 19 Jun 2006 20:40:26 +0000 (20:40 +0000)
doc/Makefile
doc/gnulib-tool.texi
doc/gnulib.texi

index ee4c23c..3fa7e24 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.2 2006-02-24 00:19:55 karl Exp $
+# $Id: Makefile,v 1.3 2006-06-19 20:40:26 karl Exp $
 # Makefile for gnulib doc.  
 # Copyright (C) 2004, 2006 Free Software Foundation, Inc.
 #
@@ -13,6 +13,6 @@ TEXI2HTML = $(MAKEINFO) --no-split --html
        $(TEXI2HTML) -o $@ $< 
 
 all: info html dvi
-info: $(doc).info 
+info: $(doc).info
 html: $(doc).html
-dvi: $(doc).dvi 
+dvi: $(doc).dvi
index 10b8a9e..5ebb439 100644 (file)
@@ -4,18 +4,19 @@
 @pindex gnulib-tool
 @cindex invoking @command{gnulib-tool}
 
-@command{gnulib-tool} is the way to import Gnulib modules.  It is also
-possible to borrow Gnulib modules in a package without using
-@command{gnulib-tool}, relying only on the metainformation stored in
-the @file{modules/*} files, but with a growing number of modules this
-becomes tedious.  @command{gnulib-tool} simplifies the management of
-source files, @file{Makefile.am}s and @file{configure.ac} in packages
-incorporating Gnulib modules.
-
-Run @samp{gnulib-tool --help}.  To get familiar with @command{gnulib-tool},
-you can also try some commands with the option @samp{--dry-run}; then
-@code{gnulib-tool} will only report which actions it would perform in a
-real run.
+The @command{gnulib-tool} command is the recommended way to import
+Gnulib modules.  It is possible to borrow Gnulib modules in a package
+without using @command{gnulib-tool}, relying only on the
+metainformation stored in the @file{modules/*} files, but with a
+growing number of modules this becomes tedious.  @command{gnulib-tool}
+simplifies the management of source files, @file{Makefile.am}s and
+@file{configure.ac} in packages incorporating Gnulib modules.
+
+Run @samp{gnulib-tool --help} for information.  To get familiar with
+@command{gnulib-tool} without affecting your sources, you can also try
+some commands with the option @samp{--dry-run}; then
+@code{gnulib-tool} will only report which actions it would perform in
+a real run without changing anything.
 
 @menu
 * Initial import::              First import of Gnulib modules.
@@ -119,9 +120,9 @@ as the removed module.
 A few manual steps are required to finish the initial import.
 @code{gnulib-tool} printed a summary of these steps.
 
-First, you need to make sure Autoconf can find the macro definitions
-in @file{gnulib-comp.m4}.  Use the @code{ACLOCAL_AMFLAGS} specifier in your
-top-level @file{Makefile.am} file, as in:
+First, you must ensure Autoconf can find the macro definitions in
+@file{gnulib-comp.m4}.  Use the @code{ACLOCAL_AMFLAGS} specifier in
+your top-level @file{Makefile.am} file, as in:
 
 @example
 ACLOCAL_AMFLAGS = -I m4
@@ -141,7 +142,9 @@ gl_EARLY
 
 The core part of the gnulib checks are done by the macro
 @code{gl_INIT}.  Place it further down in the file, typically where
-you normally check for header files or functions.  For example:
+you normally check for header files or functions.  It must come after
+other checks which may affect the compiler invocation, such as
+@code{AC_MINIX}.  For example:
 
 @example
 ...
@@ -189,7 +192,7 @@ as @file{top_srcdir/lib}.  For example:
 ...
 AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_builddir)/lib
 ...
-LIBADD = lib/libgnu.a
+LDADD = lib/libgnu.a
 ...
 @end example
 
@@ -210,6 +213,17 @@ use include header file provided by the gnulib, and so
 @samp{#include <time.h>} as it is already done in @file{time_r.h}
 before the redefinition of some symbols.
 
+A final word of warning: Gnulib currently assumes it will be
+responsible for @emph{all} functions that end up in the Autoconf
+@code{@@LIBOBJS@@} variables (and/or @code{@@LTLIBOBJS@@} if using
+Libtool), e.g., those specified in @code{AC_REPLACE_FUNCS} in your
+@file{configure.ac}.  Therefore, if you have any functions which are
+not covered by Gnulib which need that treatment, you have to
+essentially reimplement AC_REPLACE_FUNCS using different names; for an
+example, see the Findutils sources.  Perhaps this will be improved in
+the future.
+
+
 @node Modified imports
 @section Modified imports
 
index 4f70250..c61ab57 100644 (file)
@@ -1,5 +1,5 @@
 \input texinfo   @c -*-texinfo-*-
-@comment $Id: gnulib.texi,v 1.21 2006-04-30 13:38:54 karl Exp $
+@comment $Id: gnulib.texi,v 1.22 2006-06-19 20:40:26 karl Exp $
 @comment %**start of header
 @setfilename gnulib.info
 @settitle GNU Gnulib
@@ -7,7 +7,7 @@
 @syncodeindex pg cp
 @comment %**end of header
 
-@set UPDATED $Date: 2006-04-30 13:38:54 $
+@set UPDATED $Date: 2006-06-19 20:40:26 $
 
 @copying
 This manual is for GNU Gnulib (updated @value{UPDATED}),
@@ -247,7 +247,8 @@ To avoid ELF symbol collisions with other libraries that use the
 AC_DEFINE something like:
 
 @example
-AC_DEFINE(check_version, stringprep_check_version, [Rename check_version.])
+AC_DEFINE(check_version, stringprep_check_version,
+          [Rename check_version.])
 @end example
 
 The @code{stringprep_check_version} function will thus be implemented