2595d021b41bb9f048494c56939d10948a2e4dc4
[pkgsrc.git] / emulators / qemu / Makefile
1 # $NetBSD: Makefile,v 1.67 2010/05/17 14:31:07 tsutsui Exp $
2 #
3
4 DISTNAME=               qemu-0.12.4
5 CATEGORIES=             emulators
6 MASTER_SITES=           http://download.savannah.gnu.org/releases/qemu/
7
8 MAINTAINER=             pkgsrc-users@NetBSD.org
9 HOMEPAGE=               http://www.qemu.org/
10 COMMENT=                CPU emulator using dynamic translation
11 LICENSE=                gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd
12
13 PKG_DESTDIR_SUPPORT=    user-destdir
14
15 CONFLICTS+=             qemu-bin-[0-9]*
16 NOT_FOR_PLATFORM=       NetBSD-1.[0-6]*-*
17
18 USE_TOOLS+=             gmake perl:build
19 HAS_CONFIGURE=          yes
20
21 BUILD_DEPENDS+=         texi2html-[0-9]*:../../textproc/texi2html
22
23 # Workaround for PR/41007 - ensure WRKSRC comes before any buildlinked
24 # directories so we pickup our audio/audio.h. Cannot use CPPFLAGS for this
25 CFLAGS+=                -I${WRKSRC} -I${WRKSRC}/slirp
26
27 .include "../../mk/bsd.prefs.mk"
28
29 CONFIGURE_ENV+=         mansuffix=/${PKGMANDIR}
30 CONFIGURE_ARGS+=        --prefix=${PREFIX:Q}
31 CONFIGURE_ARGS+=        --interp-prefix=${PREFIX:Q}/share/qemu
32
33 .if !empty(MACHINE_PLATFORM:MNetBSD-*)
34 SUBST_CLASSES+=         lib
35 SUBST_STAGE.lib=        pre-configure
36 SUBST_FILES.lib=        x86_64.ld
37 SUBST_SED.lib=          -e s,/lib64,/lib,g
38 SUBST_MESSAGE.lib=      fixing hardcoded paths to libraries.
39 .endif
40
41 SUBST_CLASSES+=         snd
42 SUBST_STAGE.snd=        pre-configure
43 SUBST_FILES.snd=        audio/ossaudio.c
44 SUBST_SED.snd=          -e s,/dev/dsp,${DEVOSSAUDIO:Q},g
45 SUBST_MESSAGE.snd=      Fixing hardcoded audio device.
46
47 SUBST_CLASSES+=         smbd
48 SUBST_STAGE.smbd=       pre-configure
49 SUBST_FILES.smbd=       vl.c
50 SUBST_SED.smbd=         -e s,/usr/sbin/smbd,${PREFIX:Q}/sbin/smbd,g
51 SUBST_MESSAGE.smbd=     Fixing hardcoded paths.
52
53 # Avoid clash with system include file:
54 pre-patch:
55         mv ${WRKSRC}/audio/audio.h ${WRKSRC}/audio/qaudio.h
56
57 SUBST_CLASSES+=         qaudio
58 SUBST_STAGE.qaudio=     pre-configure
59 SUBST_FILES.qaudio=     *.c *.h audio/*.c hw/*.c
60 SUBST_SED.qaudio=       -e s,audio.h\",qaudio.h\",g
61 SUBST_MESSAGE.qaudio=   Fixing audio.h confusion
62
63 REPLACE_PERL+=          texi2pod.pl
64
65 BUILDLINK_PASSTHRU_DIRS+= /usr/lib
66 BUILDLINK_PASSTHRU_RPATHDIRS+= /usr/lib
67
68 INSTALLATION_DIRS=      ${PKGMANDIR}/man1 share/doc/qemu
69
70 UE_ARCHS+=              alpha arm armeb cris i386 m68k microblaze mips mipsel
71 UE_ARCHS+=              nbd ppc ppc64 ppc64abi32 sh4 sh4eb sparc sparc32plus
72 UE_ARCHS+=              sparc64 x86_64
73
74 .if !empty(OPSYS:M*BSD) || !empty(OPSYS:MDragonFly)
75 USER_EMUL=              i386 x86_64 sparc sparc64
76 .elif !empty(OPSYS:MDarwin)
77 USER_EMUL=              i386 x86_64 sparc sparc64 ppc
78 .elif !empty(OPSYS:MLinux)
79 USER_EMUL=              ${UE_ARCHS}
80 PLIST.nbd=              YES
81 .endif
82
83 PLIST_VARS+=            ${UE_ARCHS} nbd
84 .for _var_ in ${USER_EMUL}
85 PLIST.${_var_}=         YES
86 .endfor
87
88 post-install:
89         ${INSTALL_DATA} ${FILESDIR}/Makefile.multinode-NetBSD \
90                 ${DESTDIR}${PREFIX}/share/doc/qemu/
91
92 .include "../../devel/SDL/buildlink3.mk"
93 .include "../../mk/oss.buildlink3.mk"
94 .include "../../mk/pthread.buildlink3.mk"
95 .include "../../mk/bsd.pkg.mk"