X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=doc%2Fgnulib-tool.texi;h=8e38c38e99b6c6d58db8ee5fbe8d546a87f35538;hb=82d8d483a950a45039b810d54ee3462a8d9d0df7;hp=e4908e8ae84cdf8fd5be8adc7e591ca77b5101d3;hpb=9577606baf039e2f0f13b051e38835be03fe0c28;p=gnulib.git diff --git a/doc/gnulib-tool.texi b/doc/gnulib-tool.texi index e4908e8ae..8e38c38e9 100644 --- a/doc/gnulib-tool.texi +++ b/doc/gnulib-tool.texi @@ -1,7 +1,7 @@ @node Invoking gnulib-tool @chapter Invoking gnulib-tool -@c Copyright (C) 2005-2010 Free Software Foundation, Inc. +@c Copyright (C) 2005-2011 Free Software Foundation, Inc. @c Permission is granted to copy, distribute and/or modify this document @c under the terms of the GNU Free Documentation License, Version 1.3 or @@ -342,10 +342,10 @@ directory, then launch @samp{gnulib-tool --add-import}. The only change for which this doesn't work is a change of the @samp{--m4-base} directory. Because, when you pass a different value of @samp{--m4-base}, @code{gnulib-tool} will not find the previous -@file{gnulib-cache.m4} file any more... A possible solution is to +@file{gnulib-cache.m4} file any more. A possible solution is to manually copy the @file{gnulib-cache.m4} into the new M4 macro directory. -In the @file{gnulib-cache.m4}, the macros have the following meaning: +In the @file{gnulib-cache.m4} file, the macros have the following meaning: @table @code @item gl_MODULES The argument is a space separated list of the requested modules, not including @@ -483,6 +483,14 @@ it means that a new GNU gettext release was made, and its autoconf macros were integrated into Gnulib and now mismatch the @file{po/} infrastructure. In this case, fetch and install the new GNU gettext release and run @code{gettextize} followed by @code{gnulib-tool}. + +@item +When you invoke @code{autoreconf} after @code{gnulib-tool}, make sure to +not invoke @code{autopoint} a second time, by setting the @code{AUTOPOINT} +environment variable, like this: +@smallexample +$ env AUTOPOINT=true autoreconf --install +@end smallexample @end enumerate @@ -594,20 +602,34 @@ into the VCS, but instead added to @file{.cvsignore} or equivalent. @item In projects which customarily omit from their VCS all files that are generated from other source files, none of these files and directories -are added into the VCS. The only file that must be added to the VCS -is @file{gnulib-cache.m4} in the M4 macros directory. Also, the -script for restoring files not in the VCS, customarily called -@file{autogen.sh} or @file{bootstrap}, will typically contain the -statement for restoring the omitted files: +are added into the VCS. As described in @ref{Modified imports}, there +are two ways to keep track of options and module names that are passed +to @code{gnulib-tool}. The command for restoring the omitted files +depends on it: + +@itemize @bullet +@item +If they are stored in a file other than @code{gnulib-cache.m4}, such as +@file{autogen.sh}, @file{bootstrap}, @file{bootstrap.conf}, or similar, +the restoration command is the entire @code{gnulib-tool ... --import ...} +invocation with all options and module names. + +@item +If the project relies on @code{gnulib-tool}'s memory of the last used +options and module names, then the file @file{gnulib-cache.m4} in the M4 +macros directory must be added to the VCS, and the restoration command +is: @smallexample $ gnulib-tool --update @end smallexample -The @samp{--update} option operates much like the @samp{--import} option, -but it does not offer the possibility to change the way Gnulib is used. -Also it does not report in the ChangeLogs the files that it had to add -because they were missing. +The @samp{--update} option operates much like the @samp{--add-import} +option, but it does not offer the possibility to change the way Gnulib is +used. Also it does not report in the ChangeLogs the files that it had to +add because they were missing. + +@end itemize Gnulib includes the file @file{build-aux/bootstrap} to aid a developer in using this setup. Furthermore, in projects that use git for