libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patch 14/19] 298-gary-document-libltdl-build-modes.diff Queue


From: Gary V. Vaughan
Subject: [patch 14/19] 298-gary-document-libltdl-build-modes.diff Queue
Date: Mon, 10 Oct 2005 11:26:38 +0100
User-agent: quilt/0.42-1

 doc/libtool.texi |   92 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 90 insertions(+), 2 deletions(-)

Index: libtool--devo--1.0/ChangeLog
from  Gary V. Vaughan  <address@hidden>
        * tests/testsuite.at (_LTDL_PROJECT_FILES): Factored out from
        common code to build a basic libltdl using project.
        * tests/old-m4-iface.at, tests/standalone.at, tests/subproject.at:
        Use it.
        * doc/libtool.texi (Distributing libltdl): Document correct use of
        LT_CONFIG_LTDL_DIR mode argument with Autoconf and Automake.

Index: libtool--devo--1.0/doc/libtool.texi
===================================================================
--- libtool--devo--1.0.orig/doc/libtool.texi
+++ libtool--devo--1.0/doc/libtool.texi
@@ -4186,10 +4186,98 @@ or against both a local convenience libr
 is bad.  Ensuring that only one copy of the libltdl sources are linked
 into any program is left as an exercise for the reader.
 
address@hidden LT_CONFIG_LTDL_DIR (@var{DIRECTORY})
address@hidden LT_CONFIG_LTDL_DIR (@var{DIRECTORY}. @var{LTDL-MODE})
 Declare @var{DIRECTORY} to be the location of the @code{libltdl}
 source files, for @command{libtoolize --ltdl} to place
-them. @xref{Invoking libtoolize}, for more details.
+them. @xref{Invoking libtoolize}, for more details.  Providing that you
+add an appropriate @code{LT_CONFIG_LTDL} call in your
address@hidden before calling @command{libtoolize}, then the
+appropriate @code{libltdl} files will be installed automatically without
+manually specifying the mode to @command{libtoolize} explicitly.
+
address@hidden can be either @samp{nonrecursive}, @samp{recursive}, or
address@hidden depending on how you wish for your project to build
address@hidden:
+
address@hidden @samp
address@hidden nonrecursive
+This is how the Libtool project distribution builds the @code{libltdl}
+we ship and install.  If you wish to use Automake to build
address@hidden without invoking a recursive make to descend into the
address@hidden subdirectory, then use this option.  You will need to set
+your configuration up carefully to make this work properly, and you will
+need a release of Automake that supports @code{subdir-objects}.  In your
address@hidden, add:
+
address@hidden
+LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive])
+AM_PROG_CC_C_O
+AM_INIT_AUTOMAKE([subdir-objects])
+LT_WITH_LTDL
address@hidden example
+
address@hidden
+And add the following near the top of your @file{Makefile.am}:
+
address@hidden
+BUILT_SOURCES =
+EXTRA_DIST =
+CLEANFILES =
+MOSTLYCLEANFILES =
+
+include libltdl/Makefile.inc
address@hidden example
+
address@hidden
+Unless you don't build any other libraries from this @file{Makefile.am},
+you will also need to change @code{lib_LTLIBRARIES} to assign with
address@hidden so that the @code{libltdl} targets declared in
address@hidden are not overwritten.
+
address@hidden recursive
+This build mode still requires that you use Automake, but (in contrast
+with @samp{nonrecursive}) uses the more usual device of starting another
address@hidden process in the @file{libltdl} subdirectory.  To use this
+mode, you should add to your @file{configure.ac}:
+
address@hidden
+LT_CONFIG_LTDL_DIR([libltdl], [recursive])
+AM_INIT_AUTOMAKE
+LT_WITH_LTDL
+AC_CONFIG_FILES([libltdl/Makefile])
address@hidden example
+
address@hidden
+and to your @file{Makefile.am}:
+
address@hidden
+SUBDIRS = libltdl
address@hidden example
+
address@hidden subproject
+This mode is the default unless you declare otherwise with
address@hidden, and is the only mode supported by previous
+releases of Libtool.  If you do not use Autoconf in the parent project,
+then @samp{subproject} mode @code{libltdl} contains all the necessary
+files to configure and build itself -- you just need to arrange for your
+build system to call @file{libltdl/configure} with appropriate options,
+and then run @code{make} in the @code{libltdl} subdirectory.
+
+If you @emph{are} using Autoconf and Automake, then you will need to add
+the following to your @file{configure.ac}:
+
address@hidden
+LT_CONFIG_LTDL_DIR([libltdl], [subproject])
+LT_WITH_LTDL
address@hidden example
+
address@hidden
+and to @file{Makefile.am}:
+
address@hidden
+SUBDIRS = libltdl
address@hidden example
address@hidden table
 @end defmac
 
 @defmac LT_WITH_LTDL

--
Gary V. Vaughan      ())_.  address@hidden,gnu.org}
Research Scientist   ( '/   http://tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/libtool
Technical Author   `(_~)_   http://sources.redhat.com/autobook




reply via email to

[Prev in Thread] Current Thread [Next in Thread]