Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
|
|
|
|
using the "dlcompat" package under Mac OS X.
Another attempt to fix PR pkg/36086.
|
|
|
|
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
|
|
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
|
|
|
|
|
|
|
|
is included by packages that use dlopen(), and dlopen.builtin.mk,
which checks for the presence of built-in dl*() functions. On Darwin,
including dlopen.buildlink3.mk will cause the devel/dlcompat package
to be used if the base system lacks a dlcompat library.
|
|
|
|
or linking code that uses dl*() functions. Also re-structure a bit to
pave the way for a future dlopen.builtin.mk that handles -ldl on some
platforms and dlcompat on Darwin.
|
|
|
|
|
|
pkgsrc without any pthreads if we don't want to.
|
|
load shared objects. Some platforms require pthreads to be linked
into the application if it uses dlopen() or else the applications will
core dump when they dlopen a shared module that _is_ linked with
pthread support. Including dlopen.buildlink3.mk in a package Makefile
will cause pthread.buildlink3.mk to also be included.
It is up to the package to ensure that PTHREAD_{CFLAGS,LDFLAGS,LIBS}
(defined by pthread.buildlink3.mk) are passed to the compiler when
building/linking the applications, possibly by setting PTHREAD_AUTO_VARS
to "yes" in the package Makefile.
|