From ce15bca42f354fda6d61f6e51496e118c0e12a3a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 19 Jun 2006 20:40:26 +0000 Subject: [PATCH] mention that Gnulib takes over LIBOBJS --- doc/Makefile | 6 +++--- doc/gnulib-tool.texi | 48 +++++++++++++++++++++++++++++++----------------- doc/gnulib.texi | 7 ++++--- 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index ee4c23c26..3fa7e24fa 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -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 diff --git a/doc/gnulib-tool.texi b/doc/gnulib-tool.texi index 10b8a9e6b..5ebb43965 100644 --- a/doc/gnulib-tool.texi +++ b/doc/gnulib-tool.texi @@ -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 } 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 diff --git a/doc/gnulib.texi b/doc/gnulib.texi index 4f7025055..c61ab571a 100644 --- a/doc/gnulib.texi +++ b/doc/gnulib.texi @@ -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 -- 2.11.0