summaryrefslogtreecommitdiff
path: root/mk/emulator
diff options
context:
space:
mode:
authorjlam <jlam>2007-07-29 08:58:52 +0000
committerjlam <jlam>2007-07-29 08:58:52 +0000
commitbabf68fea34ed382a60eb9b23d01ef96ed708988 (patch)
tree08bb5297ba829d089814e7fefa183f734dd99e4c /mk/emulator
parent33bee874927ac02431c2eefa75a270a754d1af43 (diff)
downloadpkgsrc-babf68fea34ed382a60eb9b23d01ef96ed708988.tar.gz
Improve the example by adding a typical use of EMUL_MODULES.linux.
Diffstat (limited to 'mk/emulator')
-rw-r--r--mk/emulator/README47
1 files changed, 47 insertions, 0 deletions
diff --git a/mk/emulator/README b/mk/emulator/README
new file mode 100644
index 00000000000..9df20b37db2
--- /dev/null
+++ b/mk/emulator/README
@@ -0,0 +1,47 @@
+$NetBSD: README,v 1.1 2007/07/29 08:58:52 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 in pkgsrc.
+ "suse-10.0" means to use SuSE 10.0 from pkgsrc.
+ "suse-10.x" means to use the highest version of SuSE 10.x in pkgsrc.