summaryrefslogtreecommitdiff
path: root/mk/emulator/linux.mk
blob: 8d03318a1488ecd5a0a5bf648d092e08b4090b54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# $NetBSD: linux.mk,v 1.29 2015/04/12 12:21:29 wiz Exp $
#
# Linux binary emulation framework
#

.if ${OPSYS} == "Linux"
.  if ${EMUL_ARCH} == ${MACHINE_ARCH}
EMUL_TYPE.linux?=	native
.  else
EMUL_TYPE.linux?=	none
.  endif
.else

# Pick appropriate SuSE Linux version for NetBSD amd64 and i386.
.if ${OPSYS} == "NetBSD" && ${EMUL_ARCH} != "powerpc"
# Use 13.1 under NetBSD 7.* and newer,
.  if empty(OS_VERSION:M[0-6].*)
SUSE_PREFER?=	13.1
# 12.1 under NetBSD 6.*, and 10.0 otherwise.
.  elif empty(OS_VERSION:M[0-5].*)
SUSE_PREFER?=	12.1
.  endif
.endif
SUSE_PREFER?=	10.0

.for _version_ in ${EMUL_REQD:Msuse>=*:S/suse>=//}
SUSE_VERSION_REQD?=	${_version_}
.endfor
.if !defined(SUSE_VERSION_REQD) || ${SUSE_PREFER} > ${SUSE_VERSION_REQD}
SUSE_VERSION_REQD=	${SUSE_PREFER}
.endif

EMUL_TYPE.linux?=	suse-${SUSE_VERSION_REQD}
.endif
EMUL_MODULES.linux?=	# empty

.if ((${EMUL_ARCH} == "i386") && (${MACHINE_ARCH} == "x86_64")) || \
    ((${EMUL_ARCH} == "sparc") && (${MACHINE_ARCH} == "sparc64"))
_LINUX_BASE=		linux32
EMULSUBDIR=		emul/linux32
.else
_LINUX_BASE=		linux
EMULSUBDIR=		emul/linux
.endif

EMULDIR=		${PREFIX}/${EMULSUBDIR}
OPSYS_EMULDIR=		${_OPSYS_EMULDIR.${_LINUX_BASE}}

# _EMUL_TYPES
#	List of recognized Linux types that a user may request.
#
# _EMUL_MODULES
#	List of recognized Linux "modules" that packages may request.
#
_EMUL_TYPES=		builtin
_EMUL_TYPES+=		native
_EMUL_TYPES+=		suse

.if !empty(EMUL_TYPE.linux:Msuse-*)
_EMUL_TYPE?=		suse
.endif
_EMUL_TYPE?=		${EMUL_TYPE.linux}

_EMUL_MODULES=		alsa
_EMUL_MODULES+=		aspell
_EMUL_MODULES+=		base
_EMUL_MODULES+=		compat
_EMUL_MODULES+=		cups
_EMUL_MODULES+=		curl
_EMUL_MODULES+=		cyrus-sasl
_EMUL_MODULES+=		drm
_EMUL_MODULES+=		dbus
_EMUL_MODULES+=		dbus-glib
_EMUL_MODULES+=		expat
_EMUL_MODULES+=		fontconfig
_EMUL_MODULES+=		freetype2
_EMUL_MODULES+=		glib2
_EMUL_MODULES+=		glx
_EMUL_MODULES+=		gstreamer
_EMUL_MODULES+=		gtk2
_EMUL_MODULES+=		jpeg
_EMUL_MODULES+=		krb5
_EMUL_MODULES+=		libSDL
_EMUL_MODULES+=		libaudiofile
_EMUL_MODULES+=		libesd
_EMUL_MODULES+=		libffi
_EMUL_MODULES+=		libjson
_EMUL_MODULES+=		libidn
_EMUL_MODULES+=		libsigc++2
_EMUL_MODULES+=		libsndfile
_EMUL_MODULES+=		libssh
_EMUL_MODULES+=		libwrap
_EMUL_MODULES+=		locale
_EMUL_MODULES+=		motif
_EMUL_MODULES+=		nspr
_EMUL_MODULES+=		nss
_EMUL_MODULES+=		openldap
_EMUL_MODULES+=		openssl
_EMUL_MODULES+=		png
_EMUL_MODULES+=		pulseaudio
_EMUL_MODULES+=		qt4
_EMUL_MODULES+=		resmgr
_EMUL_MODULES+=		slang
_EMUL_MODULES+=		sqlite3
_EMUL_MODULES+=		tiff
_EMUL_MODULES+=		webp
_EMUL_MODULES+=		x11
_EMUL_MODULES+=		xml2
_EMUL_MODULES+=		xslt

.if ${_EMUL_TYPE} == "builtin"
EMUL_DISTRO=		builtin-linux	# managed outside pkgsrc
.elif ${_EMUL_TYPE} == "none"
EMUL_DISTRO=		none
NOT_FOR_PLATFORM=	Linux-*-${MACHINE_ARCH}
.elif ${_EMUL_TYPE} == "native"
EMUL_DISTRO=		native-linux	# native Linux installation
EMULDIR=		${PREFIX}
EMULSUBDIR=		# empty
.else
.  include "linux-${_EMUL_TYPE}.mk"
.endif

.if (${_EMUL_TYPE} == "builtin") || (${_EMUL_TYPE} == "native") || \
    (${_EMUL_TYPE} == "none")
.  for _mod_ in ${_EMUL_MODULES}
DEPENDS_${EMUL_DISTRO}.${_mod_}=	# empty
.  endfor
.endif

.if !defined(EMUL_IS_NATIVE)
LDCONFIG_ADD_CMD?=	${EMULDIR}/sbin/ldconfig -r ${EMULDIR}
LDCONFIG_REMOVE_CMD?=	${EMULDIR}/sbin/ldconfig -r ${EMULDIR}
.endif