af_alg: Pacify --enable-gcc-warnings
[gnulib.git] / doc / build-automation.texi
blobbff5daf283350ef108669a9e25d8ba9833f30e90
1 @node Building gnulib
2 @section Building gnulib
4 If you wish to help the gnulib development effort with build logs for
5 your favorite platform, you may perform these steps:
7 @enumerate
9 @item Prerequisites tools
11 Install the proper development tools.  To build and test all of
12 Gnulib, you will need development tools for the programming languages
13 C, C++, Java, and Perl, along with standard POSIX utilities such as
14 @command{awk}, @command{make} and @command{sh}.  You will also need
15 development tools that include Autoconf, Automake, Bison, Gettext,
16 Git, GNU M4, Gperf, Libtool, and Texinfo.  Some of these tools are
17 needed only by some modules.  More details can be found in Gnulib's
18 @file{DEPENDENCIES} file.
20 @item Obtain Gnulib
22 See @url{https://www.gnu.org/software/gnulib/} for how to get the
23 current Gnulib sources via Git.
25 @item Create gnulib directory
27 On a machine with GNU development tools installed and with a gnulib
28 git checkout, use
30 @example
31 gnulib-tool --create-megatestdir --with-tests --dir=...
32 @end example
34 Note: The created directory uses ca. 512 MB on disk.
36 @item Transfer gnulib directory
38 Transfer this directory to a build machine (HP-UX, Cygwin, or
39 whatever).  Often it is easier to transfer one file, and this can be
40 achieved by running, inside the directory the following commands:
42 @example
43 ./configure
44 make dist
45 @end example
47 And then transferring the @file{dummy-0.tar.gz} file.
49 @item Build modules
51 On the build machine, run ./do-autobuild (or "nohup ./do-autobuild").
52 It creates a directory @file{logs/} with a log file for each module.
54 @end enumerate