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-head mailing list