it is empty. USE_AUTOTOOLS_COMPAT will always be defined, but we don't
want to assume that we're using autotools compatibility unless its value
is non-null. Previously, the defined check would cause ports using the new
USE_AUTOTOOLS scheme to fail.
Approved by: ade
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
flagged a port as BROKEN. Since INDEX builds just fine, it's pretty
obvious that all ports have been converted over to the current world
order, and this has been the case through at least the lifetime of 5.x,
so it's time they went away.
using the various GNU autotools, running "aclocal" at configuration
time, prior to any other tools.
This should allow a number of ports Makefiles to be cleaned up with
respect to their explicit calling of ${ACLOCAL}
PR: 41945 (reworked for current reality)
Submitted by: Bruce M Simpson <bms@spc.org>
The versioned autotools are now strictly for building other ports in the tree.
Likewise, the gnu- autotools are for runtime dependencies for IDEs, and others,
where unmodified cross-platform capabilities are desired.
the libtoolX ports instead of the one included with each port. Ports that
set USE_LIBTOOL_VER=X will now use the ports version of libtool instead of
the included version. To restore previous behavior, use the new macro,
USE_INC_LIBTOOL_VER. Both macros accept the same argument: a libtool version.
For example, to use the ports version of libtool-1.5, add the following to
your Makefile:
USE_LIBTOOL_VER= 15
To use the included version of libtool with extra hacks provided by
libtool-1.5, add the following to your Makefile:
USE_INC_LIBTOOL_VER= 15
With this change, ports that had to add additional libtool hacks to prevent
.la files from being installed or to fix certain threading issues can now
delete those hacks (after appropriate testing, of course).
PR: 63944
Based on work by:eik and marcus
Approved by: ade (autotools maintainer)
Tested by: kris on pointyhat
Bound to be hidden problems: You bet
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
This is essentially a null-commit, with the one exception that
the "patch-libtool" target is now called "patch-autotools" for
consistency with "run-autotools".
Many thanks to kris for testing on the 4-exp bento cluster
Approved by: portmgr (kris)
Verified by: bento 4-exp