e287e42e02
logic and caching in a more natural way.
46 lines
2 KiB
Text
46 lines
2 KiB
Text
$NetBSD: README,v 1.5 2002/12/26 17:08:56 jlam 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 three parts: the main wrapper script, the "cache", and the
|
|
"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 is a giant Bourne shell "case" statement that stores
|
|
pre-translated arguments from previous wrapper invocations. This allows
|
|
speedy translation of already-seen arguments without having to run the
|
|
utilities needed to perform a translation from scratch. There are two
|
|
caches: the common cache and a wrapper-specific cache. The common cache
|
|
is used by all wrapper scripts. The wrapper-specific cache is read before
|
|
the common cache and contains wrapper-specific argument translation that
|
|
shouldn't be used by other wrapper scripts.
|
|
|
|
0.3 Logic script
|
|
================
|
|
|
|
The logic script contains a large "case" statement that handles the
|
|
actual translation of an argument into its buildlink equivalent. The logic
|
|
script also invokes a wrapper-specific logic script which may contain extra
|
|
commands that perform further translation of an argument after the main
|
|
translation has been performed by the logic script. Finally, the logic
|
|
script may save the translations results into a cache file if requested by
|
|
the wrapper script.
|