Update the autotools bits.
Draft by: tijl Sponsored by: Absolight
This commit is contained in:
parent
4406703702
commit
94e59bc59f
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44184
1 changed files with 34 additions and 70 deletions
|
@ -649,67 +649,45 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subproject</programlisting>
|
|||
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>
|
||||
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>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>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<programlisting>USE_AUTOTOOLS= libtool:<replaceable>version</replaceable>[:env]</programlisting>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<programlisting>BUILD_DEPENDS= libtool:${PORTSDIR}/devel/libtool.</programlisting>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="using-libltdl">
|
||||
|
@ -722,7 +700,7 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subproject</programlisting>
|
|||
<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}/subproject</programlisting>
|
|||
<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}/subproject</programlisting>
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue