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.
library's soname. Split Makefile.common out from Makefile in preparation
for the addition of the mpg123 program and output module packages.
Change buildlink3.mk to reflect this, and rename options.mk
to mpg123-options.mk in adherence with convention, e.g.
gecko-options.mk.
core decoder library, which the new mpg123 package will depend on.
Other software packages are beginning to write plug-ins for this
library, and so installing it seperately is worthwhile.
NOTE: I have encountered segfaults when attempting to use the jack
module, which is threaded, with mpg123 unless I linked mpg123 with
libpthread. This may or may not apply to the library, though my
intuition is that it does not, as obviously the executable is
what calls lt_dlopen(). Thus, for now the Makefile and b3.mk of the
executable will pull in dlopen.buildlink3.mk, setting
DLOPEN_REQUIRE_PTHREADS=yes as necessary (last time I checked on
NetBSD 4.99, it was).