>From 66a7f1c706907612a260565cec36b1740caf8a48 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 10 Dec 2017 16:28:43 +0100 Subject: [PATCH 2/2] doc: New section "Modifying the build rules of a Gnulib import directory". * doc/gnulib-tool.texi (Modified build rules): New node. --- ChangeLog | 5 ++++ doc/gnulib-tool.texi | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/ChangeLog b/ChangeLog index 99e98dc..96ba6d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2017-12-10 Bruno Haible + doc: New sect. "Modifying the build rules of a Gnulib import directory". + * doc/gnulib-tool.texi (Modified build rules): New node. + +2017-12-10 Bruno Haible + doc: Tweak wording. * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not "binaries". diff --git a/doc/gnulib-tool.texi b/doc/gnulib-tool.texi index 7f43d4a..b4d548d 100644 --- a/doc/gnulib-tool.texi +++ b/doc/gnulib-tool.texi @@ -44,6 +44,7 @@ a real run without changing anything. * Modified imports:: Changing the import specification. * Simple update:: Tracking Gnulib development. * Source changes:: Impact of Gnulib on your source files. +* Modified build rules:: Modifying the build rules of a Gnulib import * Multiple instances:: Using Gnulib for both a library and a program * gettextize and autopoint:: Caveat: @code{gettextize} and @code{autopoint} users! * Localization:: Handling Gnulib's own message translations. @@ -451,6 +452,74 @@ used to set system dependent flags (such as @code{_GNU_SOURCE} on GNU systems), and these flags have no effect after any system header file has been included. address@hidden Modified build rules address@hidden Modifying the build rules of a Gnulib import directory + +In some cases, you may want to set additional compiler options for +use within the Gnulib import directory. For example, the address@hidden module operates better if you define the C macros address@hidden and @code{INSTALLDIR} during its +compilation. + +There are two ways to do so: Use of the @code{gnulib-tool} option address@hidden, and a kitchen-sink module. + +With the @code{gnulib-tool} option @code{--makefile-name}, you are +telling @code{gnulib-tool} to generate an includable @code{Makefile.am} +portion, rather than a self-contained @code{Makefile.am}. For example, +when you use @code{--makefile-name=Makefile.gnulib}, @code{gnulib-tool} +will generate @code{Makefile.gnulib}, and you will provide a +hand-written @code{Makefile.am} that includes @code{Makefile.gnulib} +through a line such as address@hidden +include Makefile.gnulib address@hidden smallexample +Before this include, you need to initialize this set of @code{Makefile.am} +variables: address@hidden @bullet address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden (only with Automake @geq{} 1.11.4) address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden address@hidden itemize address@hidden should be initialized as described in address@hidden,,Changing Automake's Behavior,automake,GNU Automake}. +The other variables can be initialized to empty. However, you will most +likely want to initialize some of them with non-empty values, in order +to achieve the desired customization. + +The other approach, the kitchen-sink module, is more advanced. See +chapter @ref{Extending Gnulib}. + + @node Multiple instances @section Using Gnulib for both a library and a program -- 2.7.4