7002b040bb
The find-prefix infrastructure was required in a pkgviews world where packages installed from pkgsrc could have different installation prefixes, and this was a way for a dependency prefix to be determined. Now that pkgviews has been removed there is no longer any need for the overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the dependency is coming from pkgsrc. Provides a reasonable performance win due to the reduction of `pkg_info -qp` calls, some of which were redundant anyway as they were duplicating the same information provided by BUILDLINK_PREFIX.pkg. |
||
---|---|---|
.. | ||
aix.mk | ||
bsdi.mk | ||
darwin-opendarwin.mk | ||
darwin.mk | ||
emulator-vars.mk | ||
emulator.mk | ||
freebsd.mk | ||
irix.mk | ||
linux-suse.mk | ||
linux.mk | ||
merge-distinfo.awk | ||
netbsd-compat.mk | ||
netbsd.mk | ||
osf1-netscape.mk | ||
osf1.mk | ||
pkg-plain.mk | ||
pkg-rpm.mk | ||
README | ||
solaris.mk | ||
sunos.mk |
$NetBSD: README,v 1.2 2007/07/29 09:24:33 jlam Exp $ The emulator framework handles binary-only packages that require binary "emulation" (or ABI re-implementation) on the native operating system. A package Makefile should set several variables in order to use the emulator framework: EMUL_PLATFORMS is a the list of supported <opsys>-<arch> pairs by the package and should be set before including bsd.prefs.mk. The emulator framework will select an appropriate supported platform and store it in EMUL_PLATFORM. EMUL_MODULES.<opsys> is a list of modules from <opsys> that are required by the package. Example use: EMUL_PLATFORMS= linux-i386 solaris-sparc EMUL_MODULES.linux= base compat .include "../../mk/bsd.prefs.mk" .if ${EMUL_PLATFORM} == "linux-i386" DISTNAME= foobar-linux-i586.bin ... A user may set several variables in /etc/mk.conf to influence the choices made by the emulator framework: EMUL_PREFER is a list of non-native platforms that should be tried, in order, when selecting an appropriate platform. EMUL_TYPE.<opsys> is the distribution of <opsys> that is used when <opsys> is selected for use by the emulator framework. "native" means that the OS is the native operating system. "builtin" means that the OS is installed in some "compat" location that is managed outside of pkgsrc. For Linux, there are several additional choices for EMUL_TYPE.linux: "suse" means to use the highest version of SuSE in pkgsrc. "suse-9.1" means to use SuSE 9.1 from pkgsrc. "suse-9.x" means to use the highest version of SuSE 9.x. "suse-10.0" means to use SuSE 10.0 from pkgsrc. "suse-10.x" means to use the highest version of SuSE 10.x. There are two helper targets for use by package developers: "emul-fetch" will cause the distfiles for all platforms listed in EMUL_PLATFORMS to be fetched. "emul-distinfo" will generate a "jumbo" distinfo file that contains checksums for the distfiles for all platforms listed in EMUL_PLATFORMS.