pkgsrc/mk/emulator
dsl d24555b956 Fix the .include lines so that make looks in the right place first.
Remember .include "foo.mk" is looked for (first) in the directory that
contains the makefile being processed (like in C), so remove all the
${.PARSEDIR} and ../ sequences that just cause grief.
2007-10-13 11:04:15 +00:00
..
bsdi.mk
darwin-opendarwin.mk Support automatically using pkgsrc/emulators/darwin_lib to satisfy 2007-08-01 16:28:08 +00:00
darwin.mk Fix the .include lines so that make looks in the right place first. 2007-10-13 11:04:15 +00:00
emulator-vars.mk Added _VARGROUPS. 2007-10-09 20:34:48 +00:00
emulator.mk Fix the .include lines so that make looks in the right place first. 2007-10-13 11:04:15 +00:00
freebsd.mk Fix the .include lines so that make looks in the right place first. 2007-10-13 11:04:15 +00:00
irix.mk Fix the .include lines so that make looks in the right place first. 2007-10-13 11:04:15 +00:00
linux-suse.mk Allow a nicer syntax for expressing needing at least a certain version 2007-08-23 18:20:30 +00:00
linux.mk Fix the .include lines so that make looks in the right place first. 2007-10-13 11:04:15 +00:00
merge-distinfo.awk
netbsd-compat.mk Allow a nicer syntax for expressing needing at least a certain version 2007-08-23 18:20:30 +00:00
netbsd.mk Fix the .include lines so that make looks in the right place first. 2007-10-13 11:04:15 +00:00
osf1-netscape.mk Support automatically using pkgsrc/emulators/osf1_lib to satisfy 2007-08-01 17:19:22 +00:00
osf1.mk Fix the .include lines so that make looks in the right place first. 2007-10-13 11:04:15 +00:00
pkg-plain.mk
pkg-rpm.mk Remove trailing spaces. 2007-10-09 19:19:08 +00:00
README Better formatting for the package- and user-settable variables, and 2007-07-29 09:24:33 +00:00
solaris.mk Fix the .include lines so that make looks in the right place first. 2007-10-13 11:04:15 +00:00
sunos.mk Fix the .include lines so that make looks in the right place first. 2007-10-13 11:04:15 +00:00

$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.