2004-04-19 01:37:12 +00: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 17:27:29 +00:00
|
|
|
#
|
2004-04-19 01:37:12 +00:00
|
|
|
# Please view me with 4 column tabs!
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#
|
2004-04-19 01:37:12 +00:00
|
|
|
# Please make sure all changes to this file are passed either through
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
# the maintainer, or portmgr@FreeBSD.org
|
2004-04-19 01:37:12 +00:00
|
|
|
|
2007-03-27 01:23:57 +00:00
|
|
|
Autotools_Include_MAINTAINER= ade@FreeBSD.org
|
2004-04-19 01:37:12 +00: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 17:04:53 +00:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
# Entry point into the autotools system
|
|
|
|
#---------------------------------------------------------------------------
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#
|
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 10:43:34 +00:00
|
|
|
# USE_AUTOTOOLS= tool:version[:env] ...
|
2005-06-16 21:52:56 +00: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 17:04:53 +00:00
|
|
|
# 'tool' can currently be one of:
|
|
|
|
# libtool, libltdl, autoconf, autoheader, automake, aclocal
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#
|
2007-07-28 06:33:59 +00:00
|
|
|
# There is also a special tool, called 'autotools', which is
|
|
|
|
# a convenience function to simply bring in dependencies of
|
|
|
|
# all the autotools.
|
|
|
|
#
|
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 17:04:53 +00:00
|
|
|
# 'version' is tool dependent
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#
|
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 10:43:34 +00:00
|
|
|
# ':env' is used to pecify that the environment variables are needed,
|
|
|
|
# but the relevant tool should NOT be run as part of the
|
|
|
|
# run-autotools target
|
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 17:04:53 +00:00
|
|
|
#
|
|
|
|
# XXX: there is currently no sanity checking of the supplied variables
|
|
|
|
# other than to detect actually available versions. This should
|
|
|
|
# probably be fixed at some point.
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#
|
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 17:04:53 +00:00
|
|
|
# In addition, the following variables can be set in the port Makefile
|
|
|
|
# to be passed to the relevant tools:
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#
|
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 17:04:53 +00:00
|
|
|
# AUTOMAKE_ARGS=...
|
|
|
|
# - Extra arguments passed to automake during configure step
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#
|
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 17:04:53 +00:00
|
|
|
# ACLOCAL_ARGS=...
|
2006-12-04 01:07:25 +00: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 17:27:29 +00:00
|
|
|
#
|
|
|
|
# AUTOCONF_ARGS=...
|
|
|
|
# - Extra arguments passed to autoconf during configure step
|
|
|
|
#
|
|
|
|
# AUTOHEADER_ARGS=...
|
|
|
|
# - Extra arguments passed to autoheader during configure step
|
|
|
|
#
|
|
|
|
# LIBTOOLFLAGS=<value>
|
|
|
|
# - Arguments passed to libtool during configure step
|
|
|
|
#
|
|
|
|
# LIBTOOLFILES=<list-of-files>
|
|
|
|
# - A list of files to patch during libtool pre-configuration
|
2007-03-24 14:02:06 +00:00
|
|
|
# Defaults to "aclocal.m4" if autoconf is in use, otherwise
|
|
|
|
# ${CONFIGURE_SCRIPT} (usually "configure")
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
# XXX: here be dragons :)
|
|
|
|
#
|
|
|
|
.for item in ${USE_AUTOTOOLS}
|
|
|
|
AUTOTOOL_${item:C/^([^:]+).*/\1/}${item:M*\:*\:*:C/^[^:]+:[^:]+:([^:]+)/_\1/}= ${item:C/^[^:]+:([^:]+).*/\1/}
|
|
|
|
.endfor
|
|
|
|
|
2007-07-28 06:33:59 +00:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
# AUTOTOOLS handling (for build, runtime, and both)
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
.if defined(AUTOTOOL_autotools)
|
|
|
|
AUTOTOOLS_DEPENDS= ${LOCALBASE}/share/autotools:${PORTSDIR}/devel/autotools
|
|
|
|
|
|
|
|
. if ${AUTOTOOL_autotools} == "build"
|
|
|
|
BUILD_DEPENDS+= ${AUTOTOOLS_DEPENDS}
|
|
|
|
. elif ${AUTOTOOL_autotools} == "run"
|
|
|
|
RUN_DEPENDS+= ${AUTOTOOLS_DEPENDS}
|
|
|
|
. elif ${AUTOTOOL_autotools} == "both"
|
|
|
|
BUILD_DEPENDS+= ${AUTOTOOLS_DEPENDS}
|
|
|
|
RUN_DEPENDS+= ${AUTOTOOLS_DEPENDS}
|
|
|
|
. else
|
|
|
|
IGNORE+= Unknown autotools stanza: ${AUTOTOOL_autotools}
|
|
|
|
. endif
|
|
|
|
|
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 10:43:34 +00:00
|
|
|
.endif
|
|
|
|
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#---------------------------------------------------------------------------
|
2005-06-16 21:52:56 +00:00
|
|
|
# AUTOMAKE/ACLOCAL
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
.if defined(AUTOTOOL_automake)
|
|
|
|
AUTOTOOL_automake_env= ${AUTOTOOL_automake}
|
|
|
|
GNU_CONFIGURE?= yes
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
.endif
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
.if defined(AUTOTOOL_aclocal)
|
|
|
|
AUTOTOOL_automake_env= ${AUTOTOOL_aclocal}
|
|
|
|
GNU_CONFIGURE?= yes
|
2005-06-16 21:52:56 +00:00
|
|
|
.endif
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
.if defined(AUTOTOOL_automake_env)
|
|
|
|
AUTOMAKE_VERSION= ${AUTOTOOL_automake_env}
|
2007-07-28 06:33:59 +00:00
|
|
|
AUTOMAKE_SUFFIX= ${AUTOMAKE_VERSION:C/([0-9])(.*)/\1.\2/}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
|
|
|
|
# Make sure we specified a legal version of automake
|
|
|
|
#
|
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 17:04:53 +00:00
|
|
|
. if !exists(${PORTSDIR}/devel/automake${AUTOMAKE_VERSION}/Makefile)
|
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
|
|
|
IGNORE+= cannot install: unknown AUTOMAKE version: ${AUTOMAKE_VERSION}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
. endif
|
|
|
|
|
|
|
|
# Set up the automake environment
|
|
|
|
#
|
2007-07-28 06:33:59 +00:00
|
|
|
AUTOMAKE= ${LOCALBASE}/bin/automake-${AUTOMAKE_SUFFIX}
|
|
|
|
AUTOMAKE_DIR= ${LOCALBASE}/share/automake-${AUTOMAKE_SUFFIX}
|
|
|
|
ACLOCAL= ${LOCALBASE}/bin/aclocal-${AUTOMAKE_SUFFIX}
|
|
|
|
ACLOCAL_DIR= ${LOCALBASE}/share/aclocal-${AUTOMAKE_SUFFIX}
|
|
|
|
AUTOMAKE_VARS= ACLOCAL=${ACLOCAL} AUTOMAKE=${AUTOMAKE} AUTOMAKE_VERSION=${AUTOMAKE_VERSION}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
|
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 17:04:53 +00:00
|
|
|
AUTOMAKE_DEPENDS= ${AUTOMAKE}:${PORTSDIR}/devel/automake${AUTOMAKE_VERSION}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
BUILD_DEPENDS+= ${AUTOMAKE_DEPENDS}
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
# XXX: backwards compatibility shim
|
|
|
|
#
|
|
|
|
. if ${AUTOMAKE_VERSION} == 14
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
AUTOMAKE_ARGS+= -i
|
|
|
|
. endif
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
. if defined(AUTOTOOL_aclocal)
|
2005-06-16 21:52:56 +00:00
|
|
|
ACLOCAL_ARGS?= --acdir=${ACLOCAL_DIR}
|
|
|
|
. endif
|
|
|
|
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
.endif
|
|
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
# AUTOCONF/AUTOHEADER
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
.if defined(AUTOTOOL_autoheader)
|
|
|
|
AUTOTOOL_autoconf= ${AUTOTOOL_autoheader}
|
2004-04-19 01:37:12 +00:00
|
|
|
.endif
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
.if defined(AUTOTOOL_autoconf)
|
|
|
|
AUTOTOOL_autoconf_env= ${AUTOTOOL_autoconf}
|
|
|
|
GNU_CONFIGURE?= yes
|
2004-04-19 01:37:12 +00:00
|
|
|
.endif
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
.if defined(AUTOTOOL_autoconf_env)
|
|
|
|
AUTOCONF_VERSION= ${AUTOTOOL_autoconf_env}
|
2007-07-28 06:33:59 +00:00
|
|
|
AUTOCONF_SUFFIX= ${AUTOCONF_VERSION:C/([0-9])(.*)/\1.\2/}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
|
|
|
|
# Make sure we specified a legal version of autoconf
|
|
|
|
#
|
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 17:04:53 +00:00
|
|
|
. if !exists(${PORTSDIR}/devel/autoconf${AUTOCONF_VERSION}/Makefile)
|
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
|
|
|
IGNORE+= cannot install: unknown AUTOCONF version: ${AUTOCONF_VERSION}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
. endif
|
|
|
|
|
|
|
|
# Set up the autoconf/autoheader environment
|
|
|
|
#
|
2007-07-28 06:33:59 +00:00
|
|
|
AUTOCONF= ${LOCALBASE}/bin/autoconf-${AUTOCONF_SUFFIX}
|
|
|
|
AUTOCONF_DIR= ${LOCALBASE}/share/autoconf-${AUTOCONF_SUFFIX}
|
|
|
|
AUTOHEADER= ${LOCALBASE}/bin/autoheader-${AUTOCONF_SUFFIX}
|
|
|
|
AUTOIFNAMES= ${LOCALBASE}/bin/ifnames-${AUTOCONF_SUFFIX}
|
|
|
|
AUTOM4TE= ${LOCALBASE}/bin/autom4te-${AUTOCONF_SUFFIX}
|
|
|
|
AUTORECONF= ${LOCALBASE}/bin/autoreconf-${AUTOCONF_SUFFIX}
|
|
|
|
AUTOSCAN= ${LOCALBASE}/bin/autoscan-${AUTOCONF_SUFFIX}
|
|
|
|
AUTOUPDATE= ${LOCALBASE}/bin/autoupdate-${AUTOCONF_SUFFIX}
|
|
|
|
AUTOCONF_VARS= AUTOCONF=${AUTOCONF} AUTOHEADER=${AUTOHEADER} AUTOIFNAMES=${AUTOIFNAMES} AUTOM4TE=${AUTOM4TE} AUTORECONF=${AUTORECONF} AUTOSCAN=${AUTOSCAN} AUTOUPDATE=${AUTOUPDATE} AUTOCONF_VERSION=${AUTOCONF_VERSION}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
|
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 17:04:53 +00:00
|
|
|
AUTOCONF_DEPENDS= ${AUTOCONF}:${PORTSDIR}/devel/autoconf${AUTOCONF_VERSION}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
BUILD_DEPENDS+= ${AUTOCONF_DEPENDS}
|
|
|
|
|
2004-04-19 01:37:12 +00:00
|
|
|
.endif
|
|
|
|
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
# LIBTOOL/LIBLTDL
|
|
|
|
#---------------------------------------------------------------------------
|
2004-04-19 01:37:12 +00: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 17:27:29 +00:00
|
|
|
# Convenience function to save people having to depend directly on
|
2004-06-08 20:45:00 +00:00
|
|
|
# devel/libltdl15
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#
|
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 17:04:53 +00:00
|
|
|
.if defined(AUTOTOOL_libltdl)
|
2004-06-08 20:45:00 +00:00
|
|
|
LIB_DEPENDS+= ltdl.4:${PORTSDIR}/devel/libltdl15
|
2004-04-19 01:37:12 +00:00
|
|
|
.endif
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
.if defined(AUTOTOOL_libtool)
|
|
|
|
GNU_CONFIGURE?= YES
|
|
|
|
AUTOTOOL_libtool_env= ${AUTOTOOL_libtool}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
.endif
|
|
|
|
|
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 17:04:53 +00:00
|
|
|
.if defined(AUTOTOOL_libtool_env)
|
|
|
|
LIBTOOL_VERSION= ${AUTOTOOL_libtool_env}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
|
|
|
|
# Make sure we specified a legal version of libtool
|
2005-01-09 10:12:07 +00: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 17:04:53 +00:00
|
|
|
. if !exists(${PORTSDIR}/devel/libtool${LIBTOOL_VERSION}/Makefile)
|
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
|
|
|
IGNORE+= cannot install: unknown LIBTOOL version: ${LIBTOOL_VERSION}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
. endif
|
|
|
|
|
|
|
|
# Set up the libtool environment
|
|
|
|
#
|
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 10:43:34 +00: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
|
2004-07-01 17:06:41 +00:00
|
|
|
LTMAIN= ${LIBTOOL_SHAREDIR}/ltmain.sh
|
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 10:43:34 +00:00
|
|
|
LIBTOOL_VARS= LIBTOOL=${LIBTOOL} LIBTOOLIZE=${LIBTOOLIZE} LIBTOOL_M4=${LIBTOOL_M4}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
|
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 17:04:53 +00:00
|
|
|
LIBTOOL_DEPENDS= ${LIBTOOL}:${PORTSDIR}/devel/libtool${LIBTOOL_VERSION}
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
BUILD_DEPENDS+= ${LIBTOOL_DEPENDS}
|
|
|
|
|
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 10:43:34 +00: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 17:04:53 +00:00
|
|
|
|
|
|
|
. if defined(AUTOTOOL_autoconf)
|
2004-04-19 01:37:12 +00:00
|
|
|
LIBTOOLFILES?= aclocal.m4
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
. else
|
2007-03-24 14:02:06 +00: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 17:27:29 +00:00
|
|
|
. endif
|
2004-04-19 01:37:12 +00:00
|
|
|
|
|
|
|
.endif
|
|
|
|
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
# Environmental handling
|
|
|
|
# Now that we've got our environments defined for autotools, add them
|
|
|
|
# in so that the rest of the world can handle them
|
|
|
|
#
|
|
|
|
AUTOTOOLS_VARS= ${AUTOMAKE_VARS} ${AUTOCONF_VARS} ${LIBTOOL_VARS}
|
|
|
|
|
|
|
|
.if defined(AUTOTOOLS_VARS) && (${AUTOTOOLS_VARS} != "")
|
|
|
|
AUTOTOOLS_ENV+= ${AUTOTOOLS_VARS}
|
|
|
|
CONFIGURE_ENV+= ${AUTOTOOLS_VARS}
|
|
|
|
MAKE_ENV+= ${AUTOTOOLS_VARS}
|
|
|
|
SCRIPTS_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 17:04:53 +00:00
|
|
|
. for item in automake aclocal autoconf autoheader libtool
|
|
|
|
. if defined(AUTOTOOL_${item}_env)
|
|
|
|
${item:U}_ENV+= ${AUTOTOOLS_VARS}
|
|
|
|
. endif
|
|
|
|
. endfor
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
.endif
|
2004-04-19 01:37:12 +00: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 17:27:29 +00:00
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
# Make targets
|
|
|
|
#---------------------------------------------------------------------------
|
2004-04-19 01:37:12 +00: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 17:27:29 +00:00
|
|
|
# run-autotools
|
|
|
|
#
|
|
|
|
# Part of the configure set - run appropriate programs prior to
|
2005-11-18 23:21:49 +00:00
|
|
|
# the actual configure target if autotools are in use.
|
|
|
|
# If needed, this target can be overridden, for example to change
|
|
|
|
# the order of autotools running.
|
|
|
|
|
2004-04-19 01:37:12 +00:00
|
|
|
.if !target(run-autotools)
|
2007-06-16 19:03:50 +00:00
|
|
|
.ORDER: run-autotools run-autotools-aclocal patch-autotools run-autotools-autoheader run-autotools-autoconf run-autotools-automake
|
|
|
|
|
- Fix 'all-depends-list' target in cases if dependencies list is
very long and if some dependencies can't be added into the list.
[1]
- Fix FAM support. Make gamin the default FAM system. [2]
- Introduce new 'quicksearch' target to show only port, path and
info section of the matching ports. [3]
- Introduce new category - rubygems. [4]
- Fix stale dependencies while installing qmail slaveport and
another port that depends on qmail. [5]
- Add commentary for describes target in bsd.port.mk. [6]
- Fix warning issued during make index on archs !368. [7]
- Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from
all files under ${WRKSRC}. If set to a string, remove in all files
under ${WRKSRC} with one of these names the ^Ms. [8]
- Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by
checking the existance of the Perl modules with the "perl -e 'use
module;'" command. [9]
- Fix bsd.port.mk variable quoting issues. No quoting is necessary
anymore either in the Makefile or on the command line. Affected
variables include:
BROKEN
FORBIDDEN
IGNORE
MANUAL_PACKAGE_BUILD
NO_CDROM
NO_PACKAGE
RESTRICTED
[10]
- Add NOFETCHFILES variable. If set, don't download these files
from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from
${MASTER_SITE_OVERRIDE}). [11]
- Improve 'search' target output. [12]
- Add a new virtual category for Amateur Radio - hamradio. [13]
- Cleanup some old/unused pathes in bsd.port.mk. [14]
- Add @dirrmtry for plists which does the same as:
"@unexec rmdir %D/foo 2>/dev/null || true" [15]
- Remove virtual category - offix. [16]
- Use portsnap instead of cvsup or cvs on "make update" in
/usr/ports. [17]
- Move location of bsd.autotools.mk within bsd.port.mk [18]
- Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19]
- Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20]
- Replace the string "FreeBSD" by "The FreeBSD Project" in the
security warning [21]
- Add bsd.local.mk for local modification to ports framework. [22]
- Replace rcNG spelling by rc.d [23]
- Remove superfluous USE_REINPLACE. [24]
Special thanks to: linimon for spending hours with all these patches
clement for fixes
kris for help with pointyhat
PR: ports/86310 [1], ports/89498 [2], ports/83530 [3],
ports/83789 [4], ports/84053 [5], ports/86281 [6],
ports/87214 [7], ports/87234 [8], ports/87318 [9],
ports/87396 [10], ports/87605 [11], ports/87840 [12],
ports/88230 [13], ports/88493 [14], ports/88711 [15],
ports/88751 [16], ports/89281 [17], ports/89999 [18],
ports/90031 [19], ports/90150 [20], ports/90668 [21],
ports/91433 [23], ports/88754 [24]
Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3],
pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7],
edwin [8, 9, 11, 15, 21],
fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12],
Carl Makin <carl@stagecraft.cx> [13], arved [14],
NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18],
jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
|
|
|
run-autotools:: run-autotools-aclocal patch-autotools run-autotools-autoheader \
|
2006-01-05 21:05:30 +00:00
|
|
|
run-autotools-autoconf run-autotools-automake
|
2005-11-18 23:21:49 +00:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(run-autotools-aclocal)
|
|
|
|
run-autotools-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 17:04:53 +00:00
|
|
|
. if defined(AUTOTOOL_aclocal)
|
2005-06-16 21:52:56 +00:00
|
|
|
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${ACLOCAL} \
|
|
|
|
${ACLOCAL_ARGS})
|
2005-11-18 23:21:49 +00:00
|
|
|
. else
|
|
|
|
@${DO_NADA}
|
2005-06-16 21:52:56 +00:00
|
|
|
. endif
|
2005-11-18 23:21:49 +00:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(run-autotools-automake)
|
|
|
|
run-autotools-automake:
|
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 17:04:53 +00:00
|
|
|
. if defined(AUTOTOOL_automake)
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOMAKE} \
|
2004-04-19 01:37:12 +00:00
|
|
|
${AUTOMAKE_ARGS})
|
2005-11-18 23:21:49 +00:00
|
|
|
. else
|
|
|
|
@${DO_NADA}
|
2004-07-01 17:06:41 +00:00
|
|
|
. endif
|
2005-11-18 23:21:49 +00:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(run-autotools-autoconf)
|
|
|
|
run-autotools-autoconf:
|
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 17:04:53 +00:00
|
|
|
. if defined(AUTOTOOL_autoconf)
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOCONF} \
|
2004-04-19 01:37:12 +00:00
|
|
|
${AUTOCONF_ARGS})
|
2005-11-18 23:21:49 +00:00
|
|
|
. else
|
|
|
|
@${DO_NADA}
|
2004-07-01 17:06:41 +00:00
|
|
|
. endif
|
2005-11-18 23:21:49 +00:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(run-autotools-autoheader)
|
|
|
|
run-autotools-autoheader:
|
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 17:04:53 +00:00
|
|
|
. if defined(AUTOTOOL_autoheader)
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOHEADER} \
|
2004-04-19 01:37:12 +00:00
|
|
|
${AUTOHEADER_ARGS})
|
2005-11-18 23:21:49 +00:00
|
|
|
. else
|
|
|
|
@${DO_NADA}
|
2004-07-01 17:06:41 +00:00
|
|
|
. endif
|
2004-04-19 01:37:12 +00:00
|
|
|
.endif
|
|
|
|
|
Over the past few weeks, we have been testing the next
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
2004-06-04 17:27:29 +00:00
|
|
|
# patch-autotools
|
2004-04-19 01:37:12 +00:00
|
|
|
#
|
|
|
|
# Special target to automatically make libtool using ports use the
|
|
|
|
# libtool port. See above for default values of LIBTOOLFILES.
|
2005-11-18 23:21:49 +00:00
|
|
|
|
2004-04-19 01:37:12 +00:00
|
|
|
.if !target(patch-autotools)
|
2005-11-19 06:02:20 +00:00
|
|
|
patch-autotools::
|
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 10:43:34 +00:00
|
|
|
. if defined(AUTOTOOL_libtool)
|
2004-07-09 17:43:11 +00:00
|
|
|
@(cd ${PATCH_WRKSRC}; \
|
|
|
|
for file in ${LIBTOOLFILES}; do \
|
|
|
|
${CP} $$file $$file.tmp; \
|
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 10:43:34 +00:00
|
|
|
${SED} -e "/^ltmain=/!s^\$$ac_aux_dir/ltmain.sh^${LIBTOOLFLAGS} ${LTMAIN}^g" \
|
2004-07-09 17:43:11 +00:00
|
|
|
-e '/^LIBTOOL=/s^\$$(top_builddir)/libtool^${LIBTOOL}^g' \
|
|
|
|
$$file.tmp > $$file; \
|
|
|
|
${RM} $$file.tmp; \
|
|
|
|
done);
|
2004-07-01 17:06:41 +00:00
|
|
|
. else
|
2004-04-19 01:37:12 +00:00
|
|
|
@${DO_NADA}
|
2004-07-01 17:06:41 +00:00
|
|
|
. endif
|
2004-04-19 01:37:12 +00:00
|
|
|
.endif
|