2004-04-18 21:37:12 -04:00
|
|
|
#-*- mode: makefile; 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 13:27:29 -04:00
|
|
|
#
|
2004-04-18 21:37:12 -04: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 13:27:29 -04:00
|
|
|
#
|
2010-12-04 02:26:18 -05: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.
|
2004-04-18 21:37:12 -04:00
|
|
|
|
2009-12-27 21:47:25 -05:00
|
|
|
Autotools_Include_MAINTAINER= autotools@FreeBSD.org
|
2004-04-18 21:37:12 -04:00
|
|
|
|
Install the new version of bsd.autotools.mk with support for the
USE_AUTOTOOLS stanza. Full backwards compatibility with the current
USE/WANT variables has been maintained via a number of shims which
are set to expire on January 1st, 2006.
Please do *not* start using USE_AUTOTOOLS in port Makefiles until
after 6.0-RELEASE has gone out the door. Once that has happened,
I will implement a tree-wide conversion process before 5.5-RELEASE,
at which points ports will be free to use the new mechanisms.
This change has been extensively locally tested with various large
consumers of autotools building with no ill-effects notice. However,
there may well be edge cases that need to be taken care of. After
discussion with various members of portmgr, it was agreed that this
commit could go ahead without an -exp run, but that does not, in
my mind, constitute full approval. The responsibility for any breakages
caused by this commit are mine, and mine alone. Please do file PRs,
or mail me directly, if breakage is noticed, and I will endeavor to
fix immediately.
PR: 82462
2005-07-01 13:04:53 -04:00
|
|
|
#---------------------------------------------------------------------------
|
2010-12-04 02:26:18 -05:00
|
|
|
# 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 13:27:29 -04:00
|
|
|
#
|
2010-12-04 02:26:18 -05:00
|
|
|
# 'tool' can currently be one of the following:
|
|
|
|
# autoconf, autoheader
|
|
|
|
# autoconf213, autoheader213 (legacy version)
|
|
|
|
# automake, aclocal
|
|
|
|
# automake14, aclocal14 (legacy version)
|
|
|
|
# libtool, libtoolize, libltdl
|
2007-07-28 02:33:59 -04:00
|
|
|
#
|
2010-12-04 02:26:18 -05:00
|
|
|
# ':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 13:27:29 -04:00
|
|
|
#
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
#
|
Install the new version of bsd.autotools.mk with support for the
USE_AUTOTOOLS stanza. Full backwards compatibility with the current
USE/WANT variables has been maintained via a number of shims which
are set to expire on January 1st, 2006.
Please do *not* start using USE_AUTOTOOLS in port Makefiles until
after 6.0-RELEASE has gone out the door. Once that has happened,
I will implement a tree-wide conversion process before 5.5-RELEASE,
at which points ports will be free to use the new mechanisms.
This change has been extensively locally tested with various large
consumers of autotools building with no ill-effects notice. However,
there may well be edge cases that need to be taken care of. After
discussion with various members of portmgr, it was agreed that this
commit could go ahead without an -exp run, but that does not, in
my mind, constitute full approval. The responsibility for any breakages
caused by this commit are mine, and mine alone. Please do file PRs,
or mail me directly, if breakage is noticed, and I will endeavor to
fix immediately.
PR: 82462
2005-07-01 13:04:53 -04: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 13:27:29 -04:00
|
|
|
#
|
Install the new version of bsd.autotools.mk with support for the
USE_AUTOTOOLS stanza. Full backwards compatibility with the current
USE/WANT variables has been maintained via a number of shims which
are set to expire on January 1st, 2006.
Please do *not* start using USE_AUTOTOOLS in port Makefiles until
after 6.0-RELEASE has gone out the door. Once that has happened,
I will implement a tree-wide conversion process before 5.5-RELEASE,
at which points ports will be free to use the new mechanisms.
This change has been extensively locally tested with various large
consumers of autotools building with no ill-effects notice. However,
there may well be edge cases that need to be taken care of. After
discussion with various members of portmgr, it was agreed that this
commit could go ahead without an -exp run, but that does not, in
my mind, constitute full approval. The responsibility for any breakages
caused by this commit are mine, and mine alone. Please do file PRs,
or mail me directly, if breakage is noticed, and I will endeavor to
fix immediately.
PR: 82462
2005-07-01 13:04:53 -04:00
|
|
|
# ACLOCAL_ARGS=...
|
2006-12-03 20:07:25 -05:00
|
|
|
# - 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 13:27:29 -04:00
|
|
|
#
|
|
|
|
# AUTOCONF_ARGS=...
|
|
|
|
# - Extra arguments passed to autoconf during configure step
|
|
|
|
#
|
|
|
|
# AUTOHEADER_ARGS=...
|
|
|
|
# - Extra arguments passed to autoheader during configure step
|
|
|
|
#
|
|
|
|
# LIBTOOLFLAGS=<value>
|
|
|
|
# - Arguments passed to libtool during configure step
|
|
|
|
#
|
|
|
|
# LIBTOOLFILES=<list-of-files>
|
|
|
|
# - A list of files to patch during libtool pre-configuration
|
|
|
|
#
|
2010-12-22 15:04:59 -05:00
|
|
|
# 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 13:27:29 -04:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
2010-12-04 02:26:18 -05: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
|
Install the new version of bsd.autotools.mk with support for the
USE_AUTOTOOLS stanza. Full backwards compatibility with the current
USE/WANT variables has been maintained via a number of shims which
are set to expire on January 1st, 2006.
Please do *not* start using USE_AUTOTOOLS in port Makefiles until
after 6.0-RELEASE has gone out the door. Once that has happened,
I will implement a tree-wide conversion process before 5.5-RELEASE,
at which points ports will be free to use the new mechanisms.
This change has been extensively locally tested with various large
consumers of autotools building with no ill-effects notice. However,
there may well be edge cases that need to be taken care of. After
discussion with various members of portmgr, it was agreed that this
commit could go ahead without an -exp run, but that does not, in
my mind, constitute full approval. The responsibility for any breakages
caused by this commit are mine, and mine alone. Please do file PRs,
or mail me directly, if breakage is noticed, and I will endeavor to
fix immediately.
PR: 82462
2005-07-01 13:04:53 -04:00
|
|
|
|
2007-07-28 02:33:59 -04:00
|
|
|
#---------------------------------------------------------------------------
|
2010-12-04 02:26:18 -05:00
|
|
|
# Primary magic to break out the USE_AUTOTOOLS stanza into something
|
|
|
|
# more useful, along with substantial error checking to prevent
|
|
|
|
# foot-shooting
|
2007-07-28 02:33:59 -04:00
|
|
|
#---------------------------------------------------------------------------
|
2010-12-04 02:26:18 -05:00
|
|
|
|
|
|
|
# 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}}
|
2007-07-28 02:33:59 -04:00
|
|
|
. endif
|
2010-12-04 02:26:18 -05:00
|
|
|
.endfor
|
|
|
|
.if !empty(_AUTOTOOLS_BADCOMP)
|
|
|
|
IGNORE+= Bad autotool stanza: ${_AUTOTOOLS_BADCOMP:O:u}
|
|
|
|
.endif
|
2007-07-28 02:33:59 -04:00
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
# 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}
|
Conversion to a single libtool environment.
* devel/libtool13 is no more (requiem mors pacem)
* devel/libtool15 now installs as ${LOCALBASE}/bin/libtool etc.
(ie: no versioning on the binaries and scripts)
* USE_AUTOTOOLS= libtool:XX:inc has been deprecated
Where possible, ports should simply set GNU_CONFIGURE=yes and use the pre-packaged version of libtool that comes as part of the source distribution
* all the legacy hacks to libtool that we have been saddled with over the years have been removed. (eg: .la files are now installed) This brings us in line not only with Linux distributions, but also pkgsrc.
* libtool now understands, and correctly handles, "nonstandard" compilers
such as g++34, gcc295, etc. etc.
This could not have happened without the truly outstanding work from kris,
not only putting up with me, but also running countless builds, both on
dosirak and pointyhat. I am truly indebted to him.
Sponsored by: Theakston Old Peculier, Marlboro Red, Cafe de Colombia
Approved by: portmgr (kris)
2006-02-23 05:43:34 -05: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 13:27:29 -04:00
|
|
|
#---------------------------------------------------------------------------
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
.if defined(_AUTOTOOL_aclocal) && ${_AUTOTOOL_aclocal} == "yes"
|
|
|
|
_AUTOTOOL_automake?= env
|
|
|
|
_AUTOTOOL_rule_aclocal= yes
|
|
|
|
GNU_CONFIGURE= yes
|
2005-06-16 17:52:56 -04:00
|
|
|
.endif
|
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
.if defined(_AUTOTOOL_automake)
|
|
|
|
AUTOMAKE_VERSION= 1.11
|
|
|
|
AUTOMAKE_APIVER= 1.11.1
|
2010-12-08 14:58:49 -05:00
|
|
|
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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
. endif
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
. endif
|
2010-12-04 02:26:18 -05:00
|
|
|
.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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
. if defined(_AUTOTOOL_aclocal) || defined(_AUTOTOOL_aclocal14)
|
2005-06-16 17:52:56 -04:00
|
|
|
ACLOCAL_ARGS?= --acdir=${ACLOCAL_DIR}
|
|
|
|
. endif
|
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
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 13:27:29 -04:00
|
|
|
.endif
|
|
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
2010-12-04 02:26:18 -05:00
|
|
|
# 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 13:27:29 -04:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
2010-12-04 02:26:18 -05: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.68
|
2010-12-08 14:58:49 -05:00
|
|
|
AUTOCONF_PORT= devel/autoconf
|
2010-12-04 02:26:18 -05:00
|
|
|
|
|
|
|
. if ${_AUTOTOOL_autoconf} == "yes"
|
|
|
|
_AUTOTOOL_rule_autoconf= yes
|
|
|
|
GNU_CONFIGURE?= yes
|
|
|
|
. endif
|
2004-04-18 21:37:12 -04:00
|
|
|
.endif
|
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
.if defined(_AUTOTOOL_autoheader213) && ${_AUTOTOOL_autoheader213} == "yes"
|
|
|
|
_AUTOTOOL_autoconf213= yes
|
|
|
|
_AUTOTOOL_rule_autoheader= yes
|
|
|
|
GNU_CONFIGURE?= yes
|
2004-04-18 21:37:12 -04:00
|
|
|
.endif
|
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
.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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
. endif
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
BUILD_DEPENDS+= ${AUTOCONF_DEPENDS}
|
2004-04-18 21:37:12 -04: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 13:27:29 -04:00
|
|
|
#---------------------------------------------------------------------------
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
#---------------------------------------------------------------------------
|
2004-04-18 21:37:12 -04:00
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
.if defined(_AUTOTOOL_libltdl)
|
2010-12-08 14:58:49 -05:00
|
|
|
LIB_DEPENDS+= ltdl.7:${PORTSDIR}/devel/libltdl
|
2010-04-05 16:36:46 -04:00
|
|
|
.endif
|
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
# 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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
.if defined(_AUTOTOOL_libtool) || defined(_AUTOTOOL_libtoolize)
|
2011-02-25 01:15:44 -05:00
|
|
|
LIBTOOL_VERSION= 2.4
|
2010-12-08 14:58:49 -05:00
|
|
|
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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
. endif
|
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(LIBTOOL_VERSION)
|
Conversion to a single libtool environment.
* devel/libtool13 is no more (requiem mors pacem)
* devel/libtool15 now installs as ${LOCALBASE}/bin/libtool etc.
(ie: no versioning on the binaries and scripts)
* USE_AUTOTOOLS= libtool:XX:inc has been deprecated
Where possible, ports should simply set GNU_CONFIGURE=yes and use the pre-packaged version of libtool that comes as part of the source distribution
* all the legacy hacks to libtool that we have been saddled with over the years have been removed. (eg: .la files are now installed) This brings us in line not only with Linux distributions, but also pkgsrc.
* libtool now understands, and correctly handles, "nonstandard" compilers
such as g++34, gcc295, etc. etc.
This could not have happened without the truly outstanding work from kris,
not only putting up with me, but also running countless builds, both on
dosirak and pointyhat. I am truly indebted to him.
Sponsored by: Theakston Old Peculier, Marlboro Red, Cafe de Colombia
Approved by: portmgr (kris)
2006-02-23 05:43:34 -05:00
|
|
|
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
|
2010-12-04 02:26:18 -05:00
|
|
|
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 13:27:29 -04:00
|
|
|
|
2010-12-04 02:26:18 -05: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 13:27:29 -04:00
|
|
|
|
Conversion to a single libtool environment.
* devel/libtool13 is no more (requiem mors pacem)
* devel/libtool15 now installs as ${LOCALBASE}/bin/libtool etc.
(ie: no versioning on the binaries and scripts)
* USE_AUTOTOOLS= libtool:XX:inc has been deprecated
Where possible, ports should simply set GNU_CONFIGURE=yes and use the pre-packaged version of libtool that comes as part of the source distribution
* all the legacy hacks to libtool that we have been saddled with over the years have been removed. (eg: .la files are now installed) This brings us in line not only with Linux distributions, but also pkgsrc.
* libtool now understands, and correctly handles, "nonstandard" compilers
such as g++34, gcc295, etc. etc.
This could not have happened without the truly outstanding work from kris,
not only putting up with me, but also running countless builds, both on
dosirak and pointyhat. I am truly indebted to him.
Sponsored by: Theakston Old Peculier, Marlboro Red, Cafe de Colombia
Approved by: portmgr (kris)
2006-02-23 05:43:34 -05:00
|
|
|
LIBTOOLFLAGS?= # default to empty
|
Install the new version of bsd.autotools.mk with support for the
USE_AUTOTOOLS stanza. Full backwards compatibility with the current
USE/WANT variables has been maintained via a number of shims which
are set to expire on January 1st, 2006.
Please do *not* start using USE_AUTOTOOLS in port Makefiles until
after 6.0-RELEASE has gone out the door. Once that has happened,
I will implement a tree-wide conversion process before 5.5-RELEASE,
at which points ports will be free to use the new mechanisms.
This change has been extensively locally tested with various large
consumers of autotools building with no ill-effects notice. However,
there may well be edge cases that need to be taken care of. After
discussion with various members of portmgr, it was agreed that this
commit could go ahead without an -exp run, but that does not, in
my mind, constitute full approval. The responsibility for any breakages
caused by this commit are mine, and mine alone. Please do file PRs,
or mail me directly, if breakage is noticed, and I will endeavor to
fix immediately.
PR: 82462
2005-07-01 13:04:53 -04:00
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
. if defined(_AUTOTOOL_rule_autoconf) || defined(_AUTOTOOL_rule_autoconf213)
|
2004-04-18 21:37:12 -04:00
|
|
|
LIBTOOLFILES?= aclocal.m4
|
2010-12-04 02:26:18 -05:00
|
|
|
. elif defined(_AUTOTOOL_rule_libtool)
|
2007-03-24 10:02:06 -04:00
|
|
|
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 13:27:29 -04:00
|
|
|
. endif
|
2004-04-18 21:37:12 -04:00
|
|
|
|
2011-02-25 01:15:44 -05:00
|
|
|
LIBTOOL_DEPENDS= libtool>=2.4:${PORTSDIR}/${LIBTOOL_PORT}
|
2010-12-04 02:26:18 -05:00
|
|
|
BUILD_DEPENDS+= ${LIBTOOL_DEPENDS}
|
2004-04-18 21:37:12 -04: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 13:27:29 -04:00
|
|
|
#---------------------------------------------------------------------------
|
2010-12-04 02:26:18 -05: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}
|
Install the new version of bsd.autotools.mk with support for the
USE_AUTOTOOLS stanza. Full backwards compatibility with the current
USE/WANT variables has been maintained via a number of shims which
are set to expire on January 1st, 2006.
Please do *not* start using USE_AUTOTOOLS in port Makefiles until
after 6.0-RELEASE has gone out the door. Once that has happened,
I will implement a tree-wide conversion process before 5.5-RELEASE,
at which points ports will be free to use the new mechanisms.
This change has been extensively locally tested with various large
consumers of autotools building with no ill-effects notice. However,
there may well be edge cases that need to be taken care of. After
discussion with various members of portmgr, it was agreed that this
commit could go ahead without an -exp run, but that does not, in
my mind, constitute full approval. The responsibility for any breakages
caused by this commit are mine, and mine alone. Please do file PRs,
or mail me directly, if breakage is noticed, and I will endeavor to
fix immediately.
PR: 82462
2005-07-01 13:04:53 -04:00
|
|
|
. 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 13:27:29 -04:00
|
|
|
.endif
|
2004-04-18 21:37:12 -04:00
|
|
|
|
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 13:27:29 -04:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
# Make targets
|
|
|
|
#---------------------------------------------------------------------------
|
2004-04-18 21:37:12 -04:00
|
|
|
|
|
|
|
.if !target(run-autotools)
|
2010-12-22 15:04:59 -05:00
|
|
|
.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
|
2005-11-18 18:21:49 -05:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(run-autotools-aclocal)
|
|
|
|
run-autotools-aclocal:
|
2010-12-04 02:26:18 -05:00
|
|
|
. if defined(_AUTOTOOL_rule_aclocal)
|
2005-06-16 17:52:56 -04:00
|
|
|
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${ACLOCAL} \
|
|
|
|
${ACLOCAL_ARGS})
|
2005-11-18 18:21:49 -05:00
|
|
|
. else
|
|
|
|
@${DO_NADA}
|
2005-06-16 17:52:56 -04:00
|
|
|
. endif
|
2005-11-18 18:21:49 -05:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(run-autotools-automake)
|
|
|
|
run-autotools-automake:
|
2010-12-04 02:26:18 -05:00
|
|
|
. 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 13:27:29 -04:00
|
|
|
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOMAKE} \
|
2004-04-18 21:37:12 -04:00
|
|
|
${AUTOMAKE_ARGS})
|
2005-11-18 18:21:49 -05:00
|
|
|
. else
|
|
|
|
@${DO_NADA}
|
2004-07-01 13:06:41 -04:00
|
|
|
. endif
|
2005-11-18 18:21:49 -05:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(run-autotools-autoconf)
|
|
|
|
run-autotools-autoconf:
|
2010-12-04 02:26:18 -05:00
|
|
|
. 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 13:27:29 -04:00
|
|
|
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOCONF} \
|
2004-04-18 21:37:12 -04:00
|
|
|
${AUTOCONF_ARGS})
|
2005-11-18 18:21:49 -05:00
|
|
|
. else
|
|
|
|
@${DO_NADA}
|
2004-07-01 13:06:41 -04:00
|
|
|
. endif
|
2005-11-18 18:21:49 -05:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(run-autotools-autoheader)
|
|
|
|
run-autotools-autoheader:
|
2010-12-04 02:26:18 -05:00
|
|
|
. 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 13:27:29 -04:00
|
|
|
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOHEADER} \
|
2004-04-18 21:37:12 -04:00
|
|
|
${AUTOHEADER_ARGS})
|
2005-11-18 18:21:49 -05:00
|
|
|
. else
|
|
|
|
@${DO_NADA}
|
2004-07-01 13:06:41 -04:00
|
|
|
. endif
|
2004-04-18 21:37:12 -04:00
|
|
|
.endif
|
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
.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
|
2005-11-18 18:21:49 -05:00
|
|
|
|
2010-12-04 02:26:18 -05:00
|
|
|
.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;
|
2004-07-01 13:06:41 -04:00
|
|
|
. else
|
2004-04-18 21:37:12 -04:00
|
|
|
@${DO_NADA}
|
2004-07-01 13:06:41 -04:00
|
|
|
. endif
|
2004-04-18 21:37:12 -04:00
|
|
|
.endif
|
2010-12-04 02:26:18 -05:00
|
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
2010-12-22 15:04:59 -05:00
|
|
|
# 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
|
2010-12-04 02:26:18 -05:00
|
|
|
@${DO_NADA}
|
2010-12-22 15:04:59 -05:00
|
|
|
. endif
|
2010-12-04 02:26:18 -05:00
|
|
|
.endif
|