X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=doc%2Fgnulib-tool.texi;h=7432ab1a742caecd96dee407752507d10ece9bbd;hb=9e587fbb7b888126ecdf62a2ed968343215df2d0;hp=e4908e8ae84cdf8fd5be8adc7e591ca77b5101d3;hpb=9577606baf039e2f0f13b051e38835be03fe0c28;p=gnulib.git diff --git a/doc/gnulib-tool.texi b/doc/gnulib-tool.texi index e4908e8ae..7432ab1a7 100644 --- a/doc/gnulib-tool.texi +++ b/doc/gnulib-tool.texi @@ -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 @@ -594,20 +594,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