While portability across operating systems is not one of GNU’s primary goals, it has helped introduce many people to the GNU system, and is worthwhile when it can be achieved at a low cost. This collection helps lower that cost.
Gnulib is intended to be the canonical source for most of the important “portability” and/or common files for GNU projects. These are files intended to be shared at the source level; Gnulib is not a typical library meant to be installed and linked against. Thus, unlike most projects, Gnulib does not normally generate a source tarball distribution; instead, developers grab modules directly from the source repository.
The easiest, and recommended, way to do this is to use the
gnulib-tool script. Since there is no installation
procedure for Gnulib,
gnulib-tool needs to be run directly
in the directory that contains the Gnulib source code. You can do
this either by specifying the absolute filename of
gnulib-tool, or by using a symbolic link from a place inside
PATH to the
gnulib-tool file of your preferred
Gnulib checkout. For example:
$ ln -s $HOME/gnu/src/gnulib.git/gnulib-tool $HOME/bin/gnulib-tool