summaryrefslogtreecommitdiff
path: root/emulators/qemu/Makefile
blob: 3507e15ea1ffacc4ddda7c87386b53837e22e6d0 (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
# $NetBSD: Makefile,v 1.89 2012/03/15 11:53:26 obache Exp $

DISTNAME=		qemu-0.15.1
PKGREVISION=		4
CATEGORIES=		emulators
MASTER_SITES=		http://wiki.qemu.org/download/

MAINTAINER=		pkgsrc-users@NetBSD.org
HOMEPAGE=		http://www.qemu.org/
COMMENT=		CPU emulator using dynamic translation
LICENSE=		gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd

PKG_DESTDIR_SUPPORT=	user-destdir

CONFLICTS+=		qemu-bin-[0-9]*
NOT_FOR_PLATFORM=	NetBSD-1.[0-6]*-*

USE_TOOLS+=		gmake makeinfo perl:build pkg-config
UNLIMIT_RESOURCES=	datasize
HAS_CONFIGURE=		yes

BUILD_DEPENDS+=		texi2html-[0-9]*:../../textproc/texi2html

.include "options.mk"

.include "../../mk/bsd.prefs.mk"

CONFIGURE_ARGS+=	--prefix=${PREFIX}
CONFIGURE_ARGS+=	--interp-prefix=${PREFIX}/share/qemu
CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+=	--mandir=${PREFIX}/${PKGMANDIR}
CONFIGURE_ARGS+=	--python=${PYTHONBIN}

CONF_FILES=		${EGDIR}/target-x86_64.conf \
			${PKG_SYSCONFDIR}/target-x86_64.conf
EGDIR=			${PREFIX}/share/examples/qemu
INSTALL_MAKE_FLAGS=	egdir=${EGDIR}
PKG_SYSCONFSUBDIR=	qemu

# Avoid clash with system include file:
pre-patch:
	mv ${WRKSRC}/audio/audio.h ${WRKSRC}/audio/qaudio.h

SUBST_CLASSES+=		qaudio
SUBST_STAGE.qaudio=	pre-configure
SUBST_FILES.qaudio=	arch_init.c monitor.c savevm.c vl.c \
			audio/*.c \
			hw/ac97.c \
			hw/adlib.c \
			hw/cs4231a.c \
			hw/es1370.c \
			hw/gus.c \
			hw/hda-audio.c \
			hw/marvell_88w8618_audio.c \
			hw/milkymist-ac97.c \
			hw/mips_fulong2e.c \
			hw/mips_jazz.c \
			hw/mips_malta.c \
			hw/omap2.c \
			hw/palm.c \
			hw/pcspk.c \
			hw/sb16.c \
			hw/spitz.c \
			hw/tsc210x.c \
			hw/wm8750.c \
			ui/vnc.h
SUBST_SED.qaudio=	-e s,audio.h\",qaudio.h\",g
SUBST_MESSAGE.qaudio=	Fixing audio.h confusion

REPLACE_PERL+=		texi2pod.pl

BUILDLINK_PASSTHRU_DIRS+= /usr/lib
BUILDLINK_PASSTHRU_RPATHDIRS+= /usr/lib

INSTALLATION_DIRS=	${PKGMANDIR}/man1 share/doc/qemu

UE_ARCHS+=		alpha arm armeb cris i386 m68k microblaze mips mipsel
UE_ARCHS+=		ppc ppc64 ppc64abi32 sh4 sh4eb sparc sparc32plus
UE_ARCHS+=		sparc64 x86_64 microblazeel s390x unicore32

.if ${OPSYS} == "NetBSD"
.if (!empty(OS_VERSION:M5.99.*) || !empty(OS_VERSION:M[6-9].*))
# XXX
# i386 and x86_64 user emul require newer binutils for PROVIDE_HIDDEN()
# http://git.qemu.org/qemu.git/commit/?id=845f2c2812d9ed24b36c02a3d06ee83aeafe8b49
# but binutils-2.19 was enabled around 5.99.22:
# http://cvsweb.NetBSD.org/bsdweb.cgi/src/share/mk/bsd.own.mk#rev1.594
USER_EMUL=		i386 x86_64 sparc sparc64
.else
CONFIGURE_ARGS+=	--disable-bsd-user
USER_EMUL=
.endif
PLIST.nbd=		YES
.elif !empty(OPSYS:M*BSD) || !empty(OPSYS:MDragonFly)
USER_EMUL=		i386 x86_64 sparc sparc64
PLIST.nbd=		YES
.elif !empty(OPSYS:MDarwin)
USER_EMUL=
CONFIGURE_ARGS+=	--disable-bsd-user
CONFIGURE_ARGS+=	--disable-darwin-user
PLIST.nbd=		YES
.elif !empty(OPSYS:MLinux)
USER_EMUL=		${UE_ARCHS}
PLIST.nbd=		YES
.endif

PLIST_VARS+=		${UE_ARCHS} nbd
.for _var_ in ${USER_EMUL}
PLIST.${_var_}=		YES
.endfor

post-install:
	${INSTALL_DATA} ${FILESDIR}/Makefile.multinode-NetBSD \
		${DESTDIR}${PREFIX}/share/doc/qemu/

# On Darwin, qemu uses Cocoa and CoreAudio
.if empty(OPSYS:MDarwin)
.include "../../mk/oss.buildlink3.mk"
.endif
.include "../../devel/glib2/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/extension.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../mk/curses.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/terminfo.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"