the exported libraries
(according to the CVS log, this was only to work around spurious db4
dependencies which are hopefully fixed by my last change to db4/bl3)
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
$PYTHON -c "from distutils import sysconfig; print sysconfig.get_config_var('SHLIBS');"
... where bdb.buildlink.mk has been used and it satisfied the requirement from
Pkgsrc (E.g. via databases/db4) would fail to build because the required -ldb4
library was not itself buildlinked.
To rectify this, pull in bdb.buildlink.mk in python??/buildlink3.mk under the
same conditions as it is pulled in in the package's own makefile.
No revision bump required, this almost certainly only affects packages and
environments that simply wouldn't build at all prior to the fix.
Fixes the build of py-ORBit on Linux (Python 2.4 or 2.5), and PR39377.
It probably needs plenty more polishing, especially on !NetBSD.
Python 2.4 will remain the default for some time.
For the new features in Python 2.5, look here:
* http://docs.python.org/whatsnew/whatsnew25.html