pkgsrc/mk/buildlink2
jlam 8ee3d01d39 Allow BUILDLINK_ENV to override shell environment settings in
${CONFIGURE_ENV} and in ${MAKE_ENV} for the configure and build processes,
respectively.  This allows overriding the value of "CC" passed to the
build, e.g.:

	BUILDLINK_ENV+=	CC="/usr/pkg/pthread/bin/pgcc"
2002-10-09 10:24:34 +00:00
..
bsd.buildlink2.mk Allow BUILDLINK_ENV to override shell environment settings in 2002-10-09 10:24:34 +00:00
buildlink2.txt Number questions and answers to make referring to specific Q&As easier. 2002-08-29 17:08:49 +00:00
fake-la Modifications and additions to create a dummy libtool archive to represent 2002-09-18 00:46:58 +00:00
ld-logic Allow for wrapper-specific transformations of arguments that occur after 2002-09-23 01:11:39 +00:00
libtool-fix-la Really, really fix the problem I was trying to fix with rev 1.6. I want 2002-10-01 09:51:22 +00:00
libtool.sh * Split _BLNK_TRANSFORM_SED into 4 variables, as even with 3 it was 2002-09-28 23:46:42 +00:00
post-cache * Split _BLNK_TRANSFORM_SED into 4 variables, as even with 3 it was 2002-09-28 23:46:42 +00:00
pre-cache Rename _BLNK_X11PKG_DIR to BUILDLINK_X11PKG_DIR and make it publicly 2002-08-29 22:29:03 +00:00
README Mention buildlink2.txt. Closes PR 18542 by Greg Woods. 2002-10-05 22:06:32 +00:00
wrapper.sh * Split _BLNK_TRANSFORM_SED into 4 variables, as even with 3 it was 2002-09-28 23:46:42 +00:00

$NetBSD: README,v 1.4 2002/10/05 22:06:32 wiz Exp $

For more general information about the use of buildlink2, see the file
buildlink2.txt in this directory.

 0 buildlink2 Wrapper Script System
 ==================================

The purpose of the buildlink2 wrapper script system is to replace calls to
compiler tool with scripts that tranlate any arguments into their buildlink
equivalents, then invoke the actual compiler tools with the translated
arguments.  The pkgsrc/mk/buildlink2 directory contains bits of the wrapper
script system for the buildlink2 framework.  The wrapper script system is
composed of four parts: the main wrapper script, the "cache", the "logic"
script generated from the cache, and a wrapper-specific "logic" script.

 0.1 Main wrapper script
 =======================

The main wrapper script for a compiler tool (cc, ld, as, etc.) is
generated from wrapper.sh, except for the libtool wrapper script which is
generated from libtool.sh.  The wrapper scripts share a common set of logic
files that translate arguments into their buildlink equivalents.

 0.2 Cache
 =========

The cache contains a series of lines that may be directly used as the
contents of a Bourne shell "case" statement.  They contain only arguments
that have already been seen and their buildlink equivalents.

 0.3 Logic script
 ================

The logic script contains a large "case" statement that handles the
translation of an argument into its buildlink equivalent.  It is generated
from three files: the pre-cache, cache, and post-cache files.  The cache is
described above.  The pre- and post-cache files simply complete the "case"
statement.  The post-cache also contains the final case that performs the
actual argument translation and, as an optimization, saves the result into
the cache.

 0.4 Wrapper-specifc logic script
 ================================

The wrapper-specific logic script contains extra shell commands that
typically perform an extra uncached translation of an argument after the
main translation has been performed by the logic script.