Annotation of pkgsrc/emulators/qemu/Makefile, Revision 1.264
1.264 ! wiz 1: # $NetBSD: Makefile,v 1.263 2021/02/20 22:59:29 ryoon Exp $
1.1 xtraeme 2:
1.263 ryoon 3: DISTNAME= qemu-5.2.0
1.112 adam 4: CATEGORIES= emulators
1.190 ryoon 5: MASTER_SITES= https://download.qemu.org/
1.168 adam 6: EXTRACT_SUFX= .tar.xz
1.112 adam 7:
8: MAINTAINER= pkgsrc-users@NetBSD.org
1.164 ryoon 9: HOMEPAGE= http://www.qemu-project.org/
1.112 adam 10: COMMENT= CPU emulator using dynamic translation
11: LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd
1.1 xtraeme 12:
1.264 ! wiz 13: BUILD_DEPENDS+= ninja-build-[0-9]*:../../devel/ninja-build
! 14:
1.165 adam 15: USE_CURSES= resize_term wide
16: USE_LANGUAGES+= c c++
1.205 leot 17: USE_TOOLS+= bison flex gmake makeinfo perl:build pod2man pkg-config
1.162 kamil 18: FAKE_NCURSES= yes
1.79 wiz 19: UNLIMIT_RESOURCES= datasize
1.1 xtraeme 20: HAS_CONFIGURE= yes
21:
1.216 adam 22: GMAKE_REQD= 4.1 # needed for docs
1.218 adam 23:
24: PYTHON_VERSIONED_DEPENDENCIES= sphinx:tool
1.41 adrianp 25:
1.205 leot 26: SUBST_CLASSES+= sphinx-build
27: SUBST_STAGE.sphinx-build= pre-configure
28: SUBST_MESSAGE.sphinx-build= Fix hardcoded sphinx-build
1.238 rillig 29: SUBST_FILES.sphinx-build+= configure
1.263 ryoon 30: SUBST_FILES.sphinx-build+= docs/meson.build
1.205 leot 31: SUBST_FILES.sphinx-build+= roms/skiboot/doc/Makefile
32: SUBST_FILES.sphinx-build+= roms/u-boot/Documentation/Makefile
1.218 adam 33: SUBST_SED.sphinx-build+= -e 's/sphinx-build/sphinx-build-${PYVERSSUFFIX}/g'
1.205 leot 34:
1.78 wiz 35: .include "options.mk"
36:
1.36 xtraeme 37: .include "../../mk/bsd.prefs.mk"
38:
1.253 thorpej 39: DISTFILES= ${DEFAULT_DISTFILES}
40: DISTFILES+= palcode-clipper
1.264 ! wiz 41: SITES.palcode-clipper= http://ftp.NetBSD.org/pub/NetBSD/arch/alpha/qemu/
1.253 thorpej 42:
1.77 adam 43: CONFIGURE_ARGS+= --prefix=${PREFIX}
44: CONFIGURE_ARGS+= --interp-prefix=${PREFIX}/share/qemu
45: CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
1.91 ryoon 46: CONFIGURE_ARGS+= --python=${PYTHONBIN}
1.102 shattere 47: CONFIGURE_ARGS+= --smbd=${PREFIX}/sbin/smbd
1.87 sbd 48: CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}
1.114 jnemeth 49: CONFIGURE_ARGS+= --enable-curses
1.205 leot 50: CONFIGURE_ARGS+= --enable-docs
1.165 adam 51: CONFIGURE_ARGS+= --enable-jemalloc
1.113 adam 52: CONFIGURE_ENV+= mansuffix=/${PKGMANDIR}
1.75 jmmv 53:
1.159 wiz 54: .if defined(PKGSRC_USE_SSP)
55: # do not add flags to everything
56: PKGSRC_USE_SSP= no
57: CONFIGURE_ARGS+= --enable-stack-protector
58: .endif
59:
1.153 maya 60: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-aarch64
61: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-alpha
62: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-arm
63: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-cris
1.198 gson 64: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-hppa
1.153 maya 65: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-i386
66: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-m68k
67: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-microblaze
68: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-microblazeel
69: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-mips
70: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-mips64
71: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-mips64el
72: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-mipsel
73: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-moxie
1.198 gson 74: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-nios2
1.168 adam 75: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-or1k
1.153 maya 76: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-ppc
77: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-ppc64
1.198 gson 78: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-riscv32
79: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-riscv64
1.153 maya 80: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-s390x
81: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-sh4
82: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-sh4eb
83: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-sparc
84: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-sparc64
85: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-tricore
1.150 pgoyette 86: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-x86_64
1.153 maya 87: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-xtensa
88: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-xtensaeb
1.150 pgoyette 89:
1.75 jmmv 90: PKG_SYSCONFSUBDIR= qemu
1.1 xtraeme 91:
1.49 joerg 92: INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/doc/qemu
93:
1.208 kamil 94: UE_ARCHS+= aarch64 aarch64_be
95: UE_ARCHS+= alpha arm armeb cris
96: UE_ARCHS+= hppa
97: UE_ARCHS+= i386
98: UE_ARCHS+= m68k microblaze microblazeel
99: UE_ARCHS+= mips mips64 mips64el mipsel mipsn32 mipsn32el
100: UE_ARCHS+= nios2
101: UE_ARCHS+= or1k ppc ppc64 ppc64le ppc64abi32
102: UE_ARCHS+= riscv32 riscv64
103: UE_ARCHS+= s390x sh4 sh4eb sparc sparc32plus sparc64
104: UE_ARCHS+= tilegx
105: UE_ARCHS+= x86_64 xtensa xtensaeb
1.65 sbd 106:
1.76 tsutsui 107: .if ${OPSYS} == "NetBSD"
1.246 nia 108: PLIST.nbd= yes
109: . if !exists(/usr/include/machine/trap.h)
110: CONFIGURE_ARGS+= --disable-bsd-user
111: . else
1.220 rillig 112: USER_EMUL= i386 x86_64 sparc sparc64
1.246 nia 113: . endif
1.187 adam 114: .elif !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly"
1.220 rillig 115: USER_EMUL= i386 x86_64 sparc sparc64
116: PLIST.nbd= yes
1.187 adam 117: .elif ${OPSYS} == "Darwin"
1.77 adam 118: USER_EMUL=
1.220 rillig 119: CONFIGURE_ARGS+= --disable-bsd-user
120: PLIST.nbd= yes
1.187 adam 121: .elif ${OPSYS} == "Linux"
1.220 rillig 122: USER_EMUL= ${UE_ARCHS}
123: PLIST.bridge-helper= yes
124: PLIST.nbd= yes
125: PLIST.ivshmem= yes
126: PLIST.pr-helper= yes
1.116 jperkin 127: .elif !empty(MACHINE_PLATFORM:MSunOS-5.11-*)
1.221 jperkin 128: PLIST.ivshmem= yes
1.220 rillig 129: PLIST.nbd= yes
130: CONFIGURE_ARGS+= --disable-coroutine-pool
1.65 sbd 131: .endif
132:
1.226 gutterid 133: PLIST_VARS+= ${UE_ARCHS} bridge-helper ivshmem keymap nbd pr-helper
1.188 adam 134: .for pvar in ${USER_EMUL}
1.209 wiz 135: PLIST.${pvar}= yes
1.65 sbd 136: .endfor
137:
1.219 adam 138: # different versions of Sphinx generate different static files
139: PLIST_SRC= PLIST ${WRKDIR}/PLIST.STATIC
140:
1.172 kamil 141: TEST_TARGET= check
142:
1.253 thorpej 143: post-extract:
144: cp ${WRKDIR}/palcode-clipper ${WRKSRC}/pc-bios/palcode-clipper
1.262 reinoud 145: cp ${FILESDIR}/hw-mips-mipssim_virtio.c ${WRKSRC}/hw/mips/mipssim_virtio.c
1.253 thorpej 146:
1.263 ryoon 147: do-build:
148: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
149: ninja -j ${_MAKE_JOBS_N:U1} -C build
150:
151: do-install:
152: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${INSTALL_ENV} \
153: ninja -j ${_MAKE_JOBS_N:U1} -C build install
154:
1.221 jperkin 155: # Some dependencies aren't correct and this tries to be re-made on install,
156: # failing due to configure bugs.
157: post-build:
158: ${TOUCH} ${WRKSRC}/config-host.mak
159:
1.18 hubertf 160: post-install:
1.49 joerg 161: ${INSTALL_DATA} ${FILESDIR}/Makefile.multinode-NetBSD \
162: ${DESTDIR}${PREFIX}/share/doc/qemu/
1.216 adam 163: ${RM} -f ${DESTDIR}${PREFIX}/share/doc/qemu/interop/.buildinfo
1.219 adam 164: ${RM} -f ${DESTDIR}${PREFIX}/share/doc/qemu/specs/.buildinfo
165: ${RM} -f ${WRKDIR}/PLIST.STATIC
166: cd ${DESTDIR}${PREFIX} && \
167: ${FIND} share/doc/qemu -path '*/_static/*' -type f -print > ${WRKDIR}/PLIST.STATIC
1.41 adrianp 168:
1.260 roy 169: # On Darwin, qemu uses CoreAudio
1.187 adam 170: .if ${OPSYS} != "Darwin"
1.77 adam 171: .include "../../mk/oss.buildlink3.mk"
172: .endif
1.165 adam 173: .include "../../archivers/lzo/buildlink3.mk"
1.81 ryoon 174: .include "../../devel/glib2/buildlink3.mk"
1.165 adam 175: .include "../../devel/jemalloc/buildlink3.mk"
1.263 ryoon 176: .include "../../devel/ncursesw/buildlink3.mk"
1.165 adam 177: .include "../../devel/snappy/buildlink3.mk"
1.68 tnn 178: .include "../../devel/zlib/buildlink3.mk"
1.205 leot 179: .include "../../graphics/hicolor-icon-theme/buildlink3.mk"
1.165 adam 180: .include "../../graphics/png/buildlink3.mk"
1.81 ryoon 181: .include "../../lang/python/extension.mk"
1.218 adam 182: .include "../../lang/python/versioned_dependencies.mk"
1.147 ryoon 183: .include "../../security/libgcrypt/buildlink3.mk"
1.165 adam 184: .include "../../www/curl/buildlink3.mk"
1.106 wiz 185: .include "../../x11/pixman/buildlink3.mk"
1.165 adam 186: .include "../../mk/jpeg.buildlink3.mk"
1.2 xtraeme 187: .include "../../mk/pthread.buildlink3.mk"
1.1 xtraeme 188: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>