svn commit: r44184 - head/en_US.ISO8859-1/books/porters-handbook/special
Mathieu Arnold
mat at FreeBSD.org
Fri Mar 7 18:48:04 UTC 2014
Author: mat (ports committer)
Date: Fri Mar 7 18:48:03 2014
New Revision: 44184
URL: http://svnweb.freebsd.org/changeset/doc/44184
Log:
Update the autotools bits.
Draft by: tijl
Sponsored by: Absolight
Modified:
head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml
Modified: head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Fri Mar 7 18:38:41 2014 (r44183)
+++ head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Fri Mar 7 18:48:03 2014 (r44184)
@@ -649,67 +649,45 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp
Within the Ports Collection, an individual port can make use
of these tools via a simple construct:</para>
- <programlisting>USE_AUTOTOOLS= <replaceable>tool</replaceable>:<replaceable>version</replaceable>[:<replaceable>operation</replaceable>] ...</programlisting>
+ <programlisting>USE_AUTOTOOLS= <replaceable>tool</replaceable>[:env] ...</programlisting>
<para>At the time of writing, <replaceable>tool</replaceable>
- can be one of <literal>libtool</literal>,
- <literal>libltdl</literal>, <literal>autoconf</literal>,
- <literal>autoheader</literal>, <literal>automake</literal>
- or <literal>aclocal</literal>.</para>
-
- <para><replaceable>version</replaceable> specifies the
- particular tool revision to be used (see
- <literal>devel/{automake,autoconf,libtool}[0-9]+</literal>
- for valid versions).</para>
-
- <para><replaceable>operation</replaceable> is an optional
- extension to modify how the tool is used.</para>
+ can be one of <literal>autoconf</literal>,
+ <literal>autoheader</literal>, <literal>automake</literal>,
+ <literal>aclocal</literal>, <literal>libtool</literal>
+ (deprecated), <literal>libtoolize</literal>,
+ <literal>libltdl</literal>. It can also be one the older
+ legacy of <literal>autoconf213</literal>,
+ <literal>autoheader213</literal>,
+ <literal>automake14</literal>,
+ <literal>aclocal14</literal>.</para>
+
+ <para><replaceable>env</replaceable> is used to specify that the
+ environmental variables are needed. It also adds a build
+ dependency on the tool. The relevant tool is
+ <emphasis>not</emphasis> ran as part of the
+ <buildtarget>run-autotools</buildtarget> target.</para>
<para>Multiple tools can be specified at once, either by
including them all on a single line, or using the
<literal>+=</literal> Makefile construct.</para>
-
- <para>Finally, there is the special tool, called
- <literal>autotools</literal>, which is a convenience
- function to bring in all available versions of the autotools
- to allow for cross-development work. This can also be
- accomplished by installing the
- <literal>devel/autotools</literal> port.</para>
</sect2>
<sect2 xml:id="using-libtool">
<title><command>libtool</command></title>
- <para>Shared libraries using the GNU building framework
- usually use <command>libtool</command> to adjust the
- compilation and installation of shared libraries to match
- the specifics of the underlying operating system. The usual
- practice is to use copy of <command>libtool</command>
- bundled with the application. In case you need to use
- external <command>libtool</command>, you can use the version
- provided by The Ports Collection:</para>
-
- <programlisting>USE_AUTOTOOLS= libtool:<replaceable>version</replaceable>[:env]</programlisting>
-
- <para>With no additional operations,
- <literal>libtool:version</literal>
- tells the building framework to patch the configure script
- with the system-installed copy of
- <command>libtool</command>. The
- <varname>GNU_CONFIGURE</varname> is implied. Further, a
- number of make and shell variables will be assigned for
- onward use by the port. See
- <filename>bsd.autotools.mk</filename> for details.</para>
-
- <para>With the <literal>:env</literal> operation, only the
- environment will be set up.</para>
-
- <para>Finally, <varname>LIBTOOLFLAGS</varname> and
- <varname>LIBTOOLFILES</varname> can be optionally set to
- override the most likely arguments to, and files patched by,
- <command>libtool</command>. Most ports are unlikely to need
- this. See <filename>bsd.autotools.mk</filename> for further
- details.</para>
+ <para>The use of <literal>USE_AUTOTOOLS=libtool</literal> is
+ deprecated. Now all ports that ship with their own copy of
+ libtool (search for a file named ltmain.sh) need to have
+ <literal>USES=libtool</literal>. Also, if a port has
+ <literal>USE_AUTOTOOLS=libtoolize</literal> it probably also
+ needs <literal>USES=libtool</literal>.</para>
+
+ <para>Some ports do not ship with their own copy of libtool and
+ expect libtool to be provided by the build system. In that
+ case simply add:</para>
+
+ <programlisting>BUILD_DEPENDS= libtool:${PORTSDIR}/devel/libtool.</programlisting>
</sect2>
<sect2 xml:id="using-libltdl">
@@ -722,7 +700,7 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp
<command>libtool</command> itself, so a separate construct
is provided.</para>
- <programlisting>USE_AUTOTOOLS= libltdl:<replaceable>version</replaceable></programlisting>
+ <programlisting>USE_AUTOTOOLS= libltdl</programlisting>
<para>Currently, all this does is to bring in a
<varname>LIB_DEPENDS</varname> on the appropriate
@@ -745,27 +723,22 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp
<command>autoheader</command> create template headers for
use by the configure script.</para>
- <programlisting>USE_AUTOTOOLS= autoconf:<replaceable>version</replaceable>[:env]</programlisting>
+ <programlisting>USE_AUTOTOOLS= autoconf[:env]</programlisting>
<para>and</para>
- <programlisting>USE_AUTOTOOLS= autoheader:<replaceable>version</replaceable></programlisting>
+ <programlisting>USE_AUTOTOOLS= autoheader</programlisting>
<para>which also implies the use of
- <literal>autoconf:version</literal>.</para>
-
- <para>Similarly to <command>libtool</command>, the inclusion
- of the optional <literal>:env</literal> operation simply
- sets up the environment for further use. Without it,
- patching and reconfiguration of the port is carried
- out.</para>
+ <literal>autoconf</literal>.</para>
<para>The additional optional variables
<varname>AUTOCONF_ARGS</varname> and
<varname>AUTOHEADER_ARGS</varname> can be overridden by the
port <filename>Makefile</filename> if specifically
- requested. As with the <command>libtool</command>
- equivalents, most ports are unlikely to need this.</para>
+ requested. Most ports are unlikely to need this. See
+ <filename>bsd.autotools.mk</filename> for further
+ details.</para>
</sect2>
<sect2 xml:id="using-automake">
@@ -792,20 +765,11 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp
previous section. <command>aclocal</command> implies the
use of <command>automake</command>, thus we have:</para>
- <programlisting>USE_AUTOTOOLS= automake:<replaceable>version</replaceable>[:<replaceable>env</replaceable>]</programlisting>
+ <programlisting>USE_AUTOTOOLS= automake[:<replaceable>env</replaceable>]</programlisting>
<para>and</para>
- <programlisting>USE_AUTOTOOLS= aclocal:<replaceable>version</replaceable></programlisting>
-
- <para>which also implies the use of
- <literal>automake:version</literal>.</para>
-
- <para>Similarly to <command>libtool</command> and
- <command>autoconf</command>, the inclusion of the optional
- <literal>:env</literal> operation simply sets up the
- environment for further use. Without it, reconfiguration of
- the port is carried out.</para>
+ <programlisting>USE_AUTOTOOLS= aclocal</programlisting>
<para>As with <command>autoconf</command> and
<command>autoheader</command>, both
More information about the svn-doc-all
mailing list