1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-02 01:20:54 +00:00
freebsd-ports/Mk/bsd.autotools.mk

425 lines
12 KiB
Makefile
Raw Normal View History

#-*- tab-width: 4; -*-
# ex:ts=4
#
# $FreeBSD$
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#
# Please view me with 4 column tabs!
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#
# IMPORTANT NOTE:
# Before making any changes to this file, contact portmgr to arrange
# for an experimental ports run.
# Untested commits will almost certainly break the tree, incur the
# wrath of countless folks, and be unceremoniously backed out by
# the maintainer and/or portmgr.
Autotools_Include_MAINTAINER= autotools@FreeBSD.org
#---------------------------------------------------------------------------
# USE_AUTOTOOLS= tool[:env] ...
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#
# 'tool' can currently be one of the following:
# autoconf, autoheader
# autoconf213, autoheader213 (legacy version)
# automake, aclocal
# automake14, aclocal14 (legacy version)
# libtool, libtoolize, libltdl
#
# ':env' is used to specify that the environmental variables are needed
# but the relevant tool should NOT be run as part of the
# 'run-autotools' target
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#
# In addition, these variables can be set in the port Makefile to be
# passed to the relevant tools:
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#
# AUTOMAKE_ARGS=...
# - Extra arguments passed to automake during configure step
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#
# ACLOCAL_ARGS=...
# - Arguments passed to aclocal during configure step
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#
# AUTOCONF_ARGS=...
# - Extra arguments passed to autoconf during configure step
#
# AUTOHEADER_ARGS=...
# - Extra arguments passed to autoheader during configure step
#
# LIBTOOLIZE_ARGS=...
# - Extra arguments passed to libtoolize during configure step
#
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
# LIBTOOLFLAGS=<value>
# - Arguments passed to libtool during configure step
#
# LIBTOOLFILES=<list-of-files>
# - A list of files to patch during libtool pre-configuration
#
# AUTOTOOLSFILES=<list-of-files>
# - A list of files to further patch with derived information
# post-patching to reduce churn during component updates
#
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
# NO USER-SERVICABLE PARTS BEYOND THIS POINT. REALLY. WE MEAN IT.
#---------------------------------------------------------------------------
# Known autotools components
_AUTOTOOLS_ALL= autoconf autoheader autoconf213 autoheader213 \
automake aclocal automake14 aclocal14 \
libtool libtoolize libltdl
# Incompatible autotools mixing
_AUTOTOOLS_IGN_autoconf= autoconf213 autoheader213
_AUTOTOOLS_IGN_autoheader= autoconf213 autoheader213
_AUTOTOOLS_IGN_autoconf213= autoconf autoheader
_AUTOTOOLS_IGN_autoheader213= autoconf autoheader
_AUTOTOOLS_IGN_automake= automake14 aclocal14
_AUTOTOOLS_IGN_aclocal= automake14 aclocal14
_AUTOTOOLS_IGN_automake14= automake aclocal
_AUTOTOOLS_IGN_aclocal14= automake aclocal
#---------------------------------------------------------------------------
# Primary magic to break out the USE_AUTOTOOLS stanza into something
# more useful, along with substantial error checking to prevent
# foot-shooting
#---------------------------------------------------------------------------
# Break out the stanza
#
_AUTOTOOLS_IMPL=
.for stanza in ${USE_AUTOTOOLS}
_AUTOTOOLS_IMPL+= ${stanza:C/^([^:]+).*/\1/}
_AUTOTOOL_${stanza:C/^([^:]+).*/\1/}= ${stanza:C/^[^:]+:([^:]+)/\1/}
.endfor
# Verify each component, normalize
#
_AUTOTOOLS_NOCOMP=
.for component in ${_AUTOTOOLS_IMPL}
. if ${_AUTOTOOLS_ALL:M${component}}==""
_AUTOTOOLS_NOCOMP+= ${component}
. endif
. if ${_AUTOTOOL_${component}}==${component}
_AUTOTOOL_${component}= yes
. elsif ${_AUTOTOOL_${component}}!="env" && ${_AUTOTOOL_${component}}!="yes"
_AUTOTOOLS_BADCOMP+= ${component}:${_AUTOTOOL_${component}}
. endif
.endfor
.if !empty(_AUTOTOOLS_NOCOMP)
IGNORE+= Unknown autotool: ${_AUTOTOOLS_NOCOMP:O:u}
.endif
# Check for anything other than 'yes' or 'env'
#
_AUTOTOOLS_BADCOMP=
.for component in ${_AUTOTOOLS_IMPL}
. if ${_AUTOTOOL_${component}}!="env" && ${_AUTOTOOL_${component}}!="yes"
_AUTOTOOLS_BADCOMP+= ${component}:${_AUTOTOOL_${component}}
. endif
.endfor
.if !empty(_AUTOTOOLS_BADCOMP)
IGNORE+= Bad autotool stanza: ${_AUTOTOOLS_BADCOMP:O:u}
.endif
# Check for incompatible mixes of components
#
_AUTOTOOLS_IGN=
.for component in ${_AUTOTOOLS_IMPL}
. for ignore in ${_AUTOTOOLS_IGN_${component}}
. if defined(_AUTOTOOL_${ignore})
_AUTOTOOLS_IGN+= ${component}
. endif
. endfor
.endfor
.if !empty(_AUTOTOOLS_IGN)
IGNORE+= Incompatible autotools: ${_AUTOTOOLS_IGN:O:u}
.endif
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#---------------------------------------------------------------------------
# automake and aclocal
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#---------------------------------------------------------------------------
.if defined(_AUTOTOOL_aclocal) && ${_AUTOTOOL_aclocal} == "yes"
_AUTOTOOL_automake?= env
_AUTOTOOL_rule_aclocal= yes
GNU_CONFIGURE= yes
.endif
.if defined(_AUTOTOOL_automake)
AUTOMAKE_VERSION= 1.14
AUTOMAKE_APIVER= 1.14
AUTOMAKE_PORT= devel/automake
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. if ${_AUTOTOOL_automake} == "yes"
_AUTOTOOL_rule_automake= yes
GNU_CONFIGURE?= yes
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. endif
.endif
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
.if defined(_AUTOTOOL_aclocal14) && ${_AUTOTOOL_aclocal14} == "yes"
_AUTOTOOL_automake14?= env
_AUTOTOOL_rule_aclocal14= yes
GNU_CONFIGURE?= yes
.endif
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
.if defined(_AUTOTOOL_automake14)
AUTOMAKE_VERSION= 1.4
AUTOMAKE_APIVER= 1.4.6
AUTOMAKE_PORT= devel/automake14
AUTOMAKE_ARGS+= -i # backwards compatibility shim
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. if ${_AUTOTOOL_automake14} == "yes"
_AUTOTOOL_rule_automake= yes
GNU_CONFIGURE?= yes
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. endif
.endif
.if defined(AUTOMAKE_VERSION)
AUTOMAKE= ${LOCALBASE}/bin/automake-${AUTOMAKE_VERSION}
AUTOMAKE_DIR= ${LOCALBASE}/share/automake-${AUTOMAKE_VERSION}
ACLOCAL= ${LOCALBASE}/bin/aclocal-${AUTOMAKE_VERSION}
ACLOCAL_DIR= ${LOCALBASE}/share/aclocal-${AUTOMAKE_VERSION}
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. if defined(_AUTOTOOL_aclocal)
ACLOCAL_ARGS?= --automake-acdir=${ACLOCAL_DIR}
. endif
. if defined(_AUTOTOOL_aclocal14)
ACLOCAL_ARGS?= --acdir=${ACLOCAL_DIR}
. endif
AUTOMAKE_VARS= AUTOMAKE=${AUTOMAKE} \
AUTOMAKE_DIR=${AUTOMAKE_DIR} \
AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
AUTOMAKE_APIVER=${AUTOMAKE_APIVER} \
ACLOCAL=${ACLOCAL} \
ACLOCAL_DIR=${ACLOCAL_DIR}
AUTOMAKE_DEPENDS= ${AUTOMAKE}:${PORTSDIR}/${AUTOMAKE_PORT}
BUILD_DEPENDS+= ${AUTOMAKE_DEPENDS}
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
.endif
#---------------------------------------------------------------------------
# autoconf and autoheader
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#---------------------------------------------------------------------------
.if defined(_AUTOTOOL_autoheader) && ${_AUTOTOOL_autoheader} == "yes"
_AUTOTOOL_autoconf= yes
_AUTOTOOL_rule_autoheader= yes
GNU_CONFIGURE?= yes
.endif
.if defined(_AUTOTOOL_autoconf)
AUTOCONF_VERSION= 2.69
AUTOCONF_PORT= devel/autoconf
. if ${_AUTOTOOL_autoconf} == "yes"
_AUTOTOOL_rule_autoconf= yes
GNU_CONFIGURE?= yes
. endif
.endif
.if defined(_AUTOTOOL_autoheader213) && ${_AUTOTOOL_autoheader213} == "yes"
_AUTOTOOL_autoconf213= yes
_AUTOTOOL_rule_autoheader= yes
GNU_CONFIGURE?= yes
.endif
.if defined(_AUTOTOOL_autoconf213)
AUTOCONF_VERSION= 2.13
AUTOCONF_PORT= devel/autoconf213
AUTOM4TE= ${FALSE} # doesn't exist here
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. if ${_AUTOTOOL_autoconf213} == "yes"
_AUTOTOOL_rule_autoconf= yes
GNU_CONFIGURE?= yes
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. endif
.endif
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
.if defined(AUTOCONF_VERSION)
AUTOCONF= ${LOCALBASE}/bin/autoconf-${AUTOCONF_VERSION}
AUTOCONF_DIR= ${LOCALBASE}/share/autoconf-${AUTOCONF_VERSION}
AUTOHEADER= ${LOCALBASE}/bin/autoheader-${AUTOCONF_VERSION}
AUTOIFNAMES= ${LOCALBASE}/bin/ifnames-${AUTOCONF_VERSION}
AUTOM4TE?= ${LOCALBASE}/bin/autom4te-${AUTOCONF_VERSION}
AUTORECONF= ${LOCALBASE}/bin/autoreconf-${AUTOCONF_VERSION}
AUTOSCAN= ${LOCALBASE}/bin/autoscan-${AUTOCONF_VERSION}
AUTOUPDATE= ${LOCALBASE}/bin/autoupdate-${AUTOCONF_VERSION}
AUTOCONF_VARS= AUTOCONF=${AUTOCONF} \
AUTOCONF_DIR=${AUTOCONF_DIR} \
AUTOHEADER=${AUTOHEADER} \
AUTOIFNAMES=${AUTOIFNAMES} \
AUTOM4TE=${AUTOM4TE} \
AUTORECONF=${AUTORECONF} \
AUTOSCAN=${AUTOSCAN} \
AUTOUPDATE=${AUTOUPDATE} \
AUTOCONF_VERSION=${AUTOCONF_VERSION}
AUTOCONF_DEPENDS= ${AUTOCONF}:${PORTSDIR}/${AUTOCONF_PORT}
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
BUILD_DEPENDS+= ${AUTOCONF_DEPENDS}
.endif
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#---------------------------------------------------------------------------
# libltdl
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#---------------------------------------------------------------------------
.if defined(_AUTOTOOL_libltdl)
LIB_DEPENDS+= ltdl.7:${PORTSDIR}/devel/libltdl
.endif
#---------------------------------------------------------------------------
# libtool/libtoolize
#---------------------------------------------------------------------------
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
.if defined(_AUTOTOOL_libtool) || defined(_AUTOTOOL_libtoolize)
LIBTOOL_VERSION= 2.4
LIBTOOL_PORT= devel/libtool
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. if defined(_AUTOTOOL_libtool) && ${_AUTOTOOL_libtool} == "yes"
_AUTOTOOL_rule_libtool= yes
GNU_CONFIGURE?= yes
. endif
. if defined(_AUTOTOOL_libtoolize) && ${_AUTOTOOL_libtoolize} == "yes"
_AUTOTOOL_rule_libtoolize= yes
GNU_CONFIGURE?= yes
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. endif
.endif
.if defined(LIBTOOL_VERSION)
LIBTOOL= ${LOCALBASE}/bin/libtool
LIBTOOLIZE= ${LOCALBASE}/bin/libtoolize
LIBTOOL_LIBEXECDIR= ${LOCALBASE}/libexec/libtool
LIBTOOL_SHAREDIR= ${LOCALBASE}/share/libtool
LIBTOOL_M4= ${LOCALBASE}/share/aclocal/libtool.m4
LTMAIN= ${LOCALBASE}/share/libtool/config/ltmain.sh
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
LIBTOOL_VARS= LIBTOOL=${LIBTOOL} \
LIBTOOLIZE=${LIBTOOLIZE} \
LIBTOOL_LIBEXECDIR=${LIBTOOL_LIBEXECDIR} \
LIBTOOL_SHAREDIR=${LIBTOOL_SHAREDIR} \
LIBTOOL_M4=${LIBTOOL_M4} \
LTMAIN=${LTMAIN}
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
LIBTOOLFLAGS?= # default to empty
. if defined(_AUTOTOOL_rule_autoconf) || defined(_AUTOTOOL_rule_autoconf213)
LIBTOOLFILES?= aclocal.m4
. elif defined(_AUTOTOOL_rule_libtool)
LIBTOOLFILES?= ${CONFIGURE_SCRIPT}
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
. endif
LIBTOOL_DEPENDS= libtool>=2.4:${PORTSDIR}/${LIBTOOL_PORT}
BUILD_DEPENDS+= ${LIBTOOL_DEPENDS}
.endif
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#---------------------------------------------------------------------------
# Add to the environment
#---------------------------------------------------------------------------
AUTOTOOLS_VARS= ${AUTOMAKE_VARS} ${AUTOCONF_VARS} ${LIBTOOL_VARS}
.if defined(AUTOTOOLS_VARS) && !empty(AUTOTOOLS_VARS)
. for var in AUTOTOOLS CONFIGURE MAKE SCRIPTS
${var:U}_ENV+= ${AUTOTOOLS_VARS}
. endfor
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
.endif
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
#---------------------------------------------------------------------------
# Make targets
#---------------------------------------------------------------------------
.if !target(run-autotools)
.ORDER: run-autotools run-autotools-aclocal \
patch-autotools-libtool run-autotools-autoheader \
run-autotools-libtoolize run-autotools-autoconf \
run-autotools-automake
run-autotools:: run-autotools-aclocal \
patch-autotools-libtool run-autotools-autoheader \
run-autotools-libtoolize run-autotools-autoconf \
run-autotools-automake
.endif
.if !target(run-autotools-aclocal)
run-autotools-aclocal:
. if defined(_AUTOTOOL_rule_aclocal)
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${ACLOCAL} \
${ACLOCAL_ARGS})
. else
@${DO_NADA}
. endif
.endif
.if !target(run-autotools-automake)
run-autotools-automake:
. if defined(_AUTOTOOL_rule_automake)
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOMAKE} \
${AUTOMAKE_ARGS})
. else
@${DO_NADA}
. endif
.endif
.if !target(run-autotools-autoconf)
run-autotools-autoconf:
. if defined(_AUTOTOOL_rule_autoconf)
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOCONF} \
${AUTOCONF_ARGS})
. else
@${DO_NADA}
. endif
.endif
.if !target(run-autotools-autoheader)
run-autotools-autoheader:
. if defined(_AUTOTOOL_rule_autoheader)
Over the past few weeks, we have been testing the next incarnation of ports/Mk/bsd.autotools.mk on the road to bringing at least some semblance of sanity back to this corner of the ports collection. By far and away the easiest way to see the changes will be to view the new file once committed, but here is a summary of the changes: 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have been fully deprecated. Ports attempting to use these variables after the commit will error out, and most obviously break INDEX generation, with a helpful error message. Instead, ports must now specifically choose the version of any of these tools that they need with the corresponding USE_*_VER variables. Note that these variables understand any and all versions of autotools ports in the tree, there is no longer a need to have specific version numbers hardcoded in the infrastructure of bsd.autotools.mk (as there is now). In particular, this will immediately open up automake18 and autoconf259 for general use and beating. 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE. Again, these have been fully deprecated, and the equivalent WANT_*_VER versions should be used. In order to preserve existing behavior for these variables, please note the 20040314 entry in ports/CHANGES for the appropriate version numbers to use for any ports in the GNATS queue. Both WANT_* and USE_* bring in the relevant tool as a build dependency, and set up a reasonably large number of variables pointing to the right programs to be using in the port. The only difference at the moment, is that USE_* will run an extra autotools-related configuration step, whereas WANT_* merely requests the environment. 3. The helper knob USE_LIBLTDL has been added which currently simply adds a LIB dependency on the libltdl port. 4. Three new variables have been introduced, WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will do nothing by themselves (a Work-In-Progress), but if the appropriate autotool version is defined (either through WANT_*_VER or USE_*_VER), this will add the relevant dependency to RUN_DEPENDS. Steps 3 and 4 now essentially negate the need for any kind of direct dependency within a non-autotools port Makefile on devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl. PR: 66037 Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOHEADER} \
${AUTOHEADER_ARGS})
. else
@${DO_NADA}
. endif
.endif
.if !target(run-autotools-libtoolize)
run-autotools-libtoolize:
. if defined(_AUTOTOOL_rule_libtoolize)
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${LIBTOOLIZE} \
${LIBTOOLIZE_ARGS})
. else
@${DO_NADA}
. endif
.endif
.if !target(patch-autotools-libtool)
patch-autotools-libtool::
. if defined(_AUTOTOOL_rule_libtool)
@for file in ${LIBTOOLFILES}; do \
${REINPLACE_CMD} -e \
"/^ltmain=/!s|\$$ac_aux_dir/ltmain.sh|${LIBTOOLFLAGS} ${LTMAIN}|g; \
/^LIBTOOL=/s|\$$(top_builddir)/libtool|${LIBTOOL}|g" \
${PATCH_WRKSRC}/$$file; \
done;
. else
@${DO_NADA}
. endif
.endif
#---------------------------------------------------------------------------
# Reduce patch churn by auto-substituting data from AUTOTOOLS_VARS
# into the correct places. Code shamelessly stolen from PLIST_SUB.
AUTOTOOLSFILES?= # default to empty
AUTOTOOLS_VARS?= # empty if not already set
.if !target(configure-autotools)
configure-autotools::
. if ${AUTOTOOLS_VARS}!="" && ${AUTOTOOLSFILES} != ""
@for file in ${AUTOTOOLSFILES}; do \
${REINPLACE_CMD} ${AUTOTOOLS_VARS:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
${WRKSRC}/$${file} ; \
done
. else
@${DO_NADA}
. endif
.endif