view doc/build-automation.texi @ 40206:770a5696761e

relocatable-prog: Use wrapper-free installation on Mac OS X, take 2. This approach supports relocatable installation of shared libraries which depend on other shared libraries from the same package. * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools. If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a wrapper around the original LIBTOOL. * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the token '@loader_path' instead of '$ORIGIN'. * build-aux/libtool-reloc: New file. * modules/relocatable-prog (Files): Add it. * doc/relocatable-maint.texi (Supporting Relocation): Update to match the recent changes. Document the need to set the *_LDFLAGS of libraries. RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in Makefile.am, not in configure.ac.
author Bruno Haible <bruno@clisp.org>
date Mon, 04 Mar 2019 17:25:09 +0100
parents 5008ae38476e
children
line wrap: on
line source

@node Building gnulib
@section Building gnulib

If you wish to help the gnulib development effort with build logs for
your favorite platform, you may perform these steps:

@enumerate

@item Prerequisites tools

Install the proper development tools.  To build and test all of
Gnulib, you will need development tools for the programming languages
C, C++, Java, and Perl, along with standard POSIX utilities such as
@command{awk}, @command{make} and @command{sh}.  You will also need
development tools that include Autoconf, Automake, Bison, Gettext,
Git, GNU M4, Gperf, Libtool, and Texinfo.  Some of these tools are
needed only by some modules.  More details can be found in Gnulib's
@file{DEPENDENCIES} file.

@item Obtain Gnulib

See @url{https://www.gnu.org/software/gnulib/} for how to get the
current Gnulib sources via Git.

@item Create gnulib directory

On a machine with GNU development tools installed and with a gnulib
git checkout, use

@example
gnulib-tool --create-megatestdir --with-tests --dir=...
@end example

Note: The created directory uses ca. 512 MB on disk.

@item Transfer gnulib directory

Transfer this directory to a build machine (HP-UX, Cygwin, or
whatever).  Often it is easier to transfer one file, and this can be
achieved by running, inside the directory the following commands:

@example
./configure
make dist
@end example

And then transferring the @file{dummy-0.tar.gz} file.

@item Build modules

On the build machine, run ./do-autobuild (or "nohup ./do-autobuild").
It creates a directory @file{logs/} with a log file for each module.

@end enumerate