From owner-svn-doc-head@FreeBSD.ORG Fri Mar 7 18:48:03 2014 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EA0EF43D; Fri, 7 Mar 2014 18:48:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CA4AF92; Fri, 7 Mar 2014 18:48:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s27Im38Q089993; Fri, 7 Mar 2014 18:48:03 GMT (envelope-from mat@svn.freebsd.org) Received: (from mat@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s27Im3RV089992; Fri, 7 Mar 2014 18:48:03 GMT (envelope-from mat@svn.freebsd.org) Message-Id: <201403071848.s27Im3RV089992@svn.freebsd.org> From: Mathieu Arnold Date: Fri, 7 Mar 2014 18:48:03 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r44184 - head/en_US.ISO8859-1/books/porters-handbook/special X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Mar 2014 18:48:04 -0000 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: - USE_AUTOTOOLS= tool:version[:operation] ... + USE_AUTOTOOLS= tool[:env] ... At the time of writing, tool - can be one of libtool, - libltdl, autoconf, - autoheader, automake - or aclocal. - - version specifies the - particular tool revision to be used (see - devel/{automake,autoconf,libtool}[0-9]+ - for valid versions). - - operation is an optional - extension to modify how the tool is used. + can be one of autoconf, + autoheader, automake, + aclocal, libtool + (deprecated), libtoolize, + libltdl. It can also be one the older + legacy of autoconf213, + autoheader213, + automake14, + aclocal14. + + env is used to specify that the + environmental variables are needed. It also adds a build + dependency on the tool. The relevant tool is + not ran as part of the + run-autotools target. Multiple tools can be specified at once, either by including them all on a single line, or using the += Makefile construct. - - Finally, there is the special tool, called - autotools, 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 - devel/autotools port. <command>libtool</command> - Shared libraries using the GNU building framework - usually use libtool 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 libtool - bundled with the application. In case you need to use - external libtool, you can use the version - provided by The Ports Collection: - - USE_AUTOTOOLS= libtool:version[:env] - - With no additional operations, - libtool:version - tells the building framework to patch the configure script - with the system-installed copy of - libtool. The - GNU_CONFIGURE is implied. Further, a - number of make and shell variables will be assigned for - onward use by the port. See - bsd.autotools.mk for details. - - With the :env operation, only the - environment will be set up. - - Finally, LIBTOOLFLAGS and - LIBTOOLFILES can be optionally set to - override the most likely arguments to, and files patched by, - libtool. Most ports are unlikely to need - this. See bsd.autotools.mk for further - details. + The use of USE_AUTOTOOLS=libtool is + deprecated. Now all ports that ship with their own copy of + libtool (search for a file named ltmain.sh) need to have + USES=libtool. Also, if a port has + USE_AUTOTOOLS=libtoolize it probably also + needs USES=libtool. + + 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: + + BUILD_DEPENDS= libtool:${PORTSDIR}/devel/libtool. @@ -722,7 +700,7 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp libtool itself, so a separate construct is provided. - USE_AUTOTOOLS= libltdl:version + USE_AUTOTOOLS= libltdl Currently, all this does is to bring in a LIB_DEPENDS on the appropriate @@ -745,27 +723,22 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp autoheader create template headers for use by the configure script. - USE_AUTOTOOLS= autoconf:version[:env] + USE_AUTOTOOLS= autoconf[:env] and - USE_AUTOTOOLS= autoheader:version + USE_AUTOTOOLS= autoheader which also implies the use of - autoconf:version. - - Similarly to libtool, the inclusion - of the optional :env operation simply - sets up the environment for further use. Without it, - patching and reconfiguration of the port is carried - out. + autoconf. The additional optional variables AUTOCONF_ARGS and AUTOHEADER_ARGS can be overridden by the port Makefile if specifically - requested. As with the libtool - equivalents, most ports are unlikely to need this. + requested. Most ports are unlikely to need this. See + bsd.autotools.mk for further + details. @@ -792,20 +765,11 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp previous section. aclocal implies the use of automake, thus we have: - USE_AUTOTOOLS= automake:version[:env] + USE_AUTOTOOLS= automake[:env] and - USE_AUTOTOOLS= aclocal:version - - which also implies the use of - automake:version. - - Similarly to libtool and - autoconf, the inclusion of the optional - :env operation simply sets up the - environment for further use. Without it, reconfiguration of - the port is carried out. + USE_AUTOTOOLS= aclocal As with autoconf and autoheader, both