use buildlink2 and set USE_X11 will use x11-links, or if they will simply
symlink the X11 files directly into ${BUILDLINK_DIR}. If USE_X11_LINKS is
"YES" (the default), then x11-links is used. If USE_X11_LINKS is "NO",
then the X11 files are symlinked directly.
There is a choice here between speed and flexibility. Using x11-links is
faster since you don't need to spend time symlinking all of the X11 files
into ${BUILDLINK_DIR}. However, if you update your X11 installation, then
the x11-links package will likely be out-of-date. Conversely, directly
symlinking the X11 files will protect you from changes in your X11
installation when you update, but there is a (small) time penalty to have
to do it for every package that uses X11.
Use _REQUIRE_BUILTIN_* to specify that the headers/libraries of some parts
of X11 that are available from 3rd parties must be part of the standard X11
distribution or else their symlinks aren't installed as part of x11-links.
This is to allow x11-links to contain all of the parts of the standard X11
distribution.
The problem that prompted this is that newer releases of XFree86-4.x
contain not just new libraries but new inter-library dependencies. Some
of the X11 libraries present in XF86-4.x that were also in XF86-3.x now
depend on libXpm.so or libfreetype.so, which, from a buildlink
point-of-view, must also be found during the link phase when building
software.
libraries to ${X11BASE} under ${LOCALBASE}/share/x11-links. It is intended
for use by buildlink code to cleanly separate out the true X11 code files
from any installed X11 package code files. The X11 hierarchies supported
are:
XFree86-3.3.x
XFree86-4.0.x
XFree86-4.1.0