You can at any moment decide to use Gnulib differently than the last time.
There are two ways to change how Gnulib is used. Which one you'll use,
depends on where you keep track of options and module names that you pass
to gnulib-tool
.
gnulib-tool
remembers which modules were used last time. If you
want to rely on gnulib-tool
's own memory of the last used
options and module names, you can use the commands
gnulib-tool --add-import and
gnulib-tool --remove-import.
So, if you only want to use more Gnulib modules, simply invoke gnulib-tool --add-import new-modules. The list of modules that you pass after ‘--add-import’ is added to the previous list of modules.
Similarly, if you want to use fewer Gnulib modules, simply invoke gnulib-tool --remove-import unneeded-modules. The list of modules that you pass after ‘--remove-import’ is removed from the previous list of modules. Note that if a module is then still needed as dependency of other modules, it will be used nevertheless. If you want to really not use a module any more, regardless of whether other modules may need it, you need to use the ‘--avoid’ option.
For other changes, such as different choices of ‘--lib’, ‘--source-base’ or ‘--aux-dir’, the normal way is to modify manually the file gnulib-cache.m4 in the M4 macros directory, then launch ‘gnulib-tool --add-import’.
The only change for which this doesn't work is a change of the
‘--m4-base’ directory. Because, when you pass a different value of
‘--m4-base’, gnulib-tool
will not find the previous
gnulib-cache.m4 file any more. A possible solution is to
manually copy the gnulib-cache.m4 into the new M4 macro directory.
In the gnulib-cache.m4 file, the macros have the following meaning:
gl_MODULES
gl_AVOID
gl_SOURCE_BASE
gl_M4_BASE
gl_TESTS_BASE
gl_LIB
gl_LGPL
gl_LIBTOOL
gl_MACRO_PREFIX