[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / emulators / qemu

Annotation of pkgsrc/emulators/qemu/Makefile, Revision 1.311

1.311   ! ryoon       1: # $NetBSD: Makefile,v 1.310 2023/02/14 00:35:56 tnn Exp $
1.1       xtraeme     2:
1.308     adam        3: DISTNAME=      qemu-7.2.0
1.311   ! ryoon       4: PKGREVISION=   3
1.112     adam        5: CATEGORIES=    emulators
1.190     ryoon       6: MASTER_SITES=  https://download.qemu.org/
1.168     adam        7: EXTRACT_SUFX=  .tar.xz
1.112     adam        8:
                      9: MAINTAINER=    pkgsrc-users@NetBSD.org
1.298     adam       10: HOMEPAGE=      https://www.qemu.org/
1.112     adam       11: COMMENT=       CPU emulator using dynamic translation
                     12: LICENSE=       gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd
1.1       xtraeme    13:
1.274     nia        14: TOOL_DEPENDS+= ninja-build-[0-9]*:../../devel/ninja-build
1.264     wiz        15:
1.165     adam       16: USE_CURSES=            resize_term wide
                     17: USE_LANGUAGES+=                c c++
1.274     nia        18: USE_TOOLS+=            bison flex makeinfo perl:build pod2man pkg-config
1.79      wiz        19: UNLIMIT_RESOURCES=     datasize
1.1       xtraeme    20: HAS_CONFIGURE=         yes
                     21:
1.287     nia        22: # https://github.com/qemu/qemu/commit/56208a0d473c6db263cc333c787ca48b502d72ab
                     23: GCC_REQD+=             7
                     24:
1.300     ryoon      25: PYTHON_VERSIONS_INCOMPATIBLE=  27
1.299     wiz        26:
                     27: TOOL_DEPENDS+=         ${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx
                     28: TOOL_DEPENDS+=         ${PYPKGPREFIX}-sphinx-rtd-theme>=0.4.3:../../textproc/py-sphinx-rtd-theme
1.303     tnn        29: CONFIGURE_ARGS+=       --sphinx-build=${PREFIX}/bin/sphinx-build-${PYVERSSUFFIX}
1.205     leot       30:
1.78      wiz        31: .include "options.mk"
                     32:
1.36      xtraeme    33: .include "../../mk/bsd.prefs.mk"
                     34:
1.278     thorpej    35: # When upgrading Qemu, you need to determine if this PALcode binary for
                     36: # the Alpha emulator needs to be re-built.  If it does not, then you do
                     37: # not need to bump the version of this PALcode binary blob (which is
                     38: # supplied as a separate distfile).  Contact thorpej@ for details.
                     39: PALCODE_CLIPPER=       palcode-clipper-qemu-5.2.0nb8
                     40:
1.253     thorpej    41: DISTFILES=             ${DEFAULT_DISTFILES}
1.278     thorpej    42: DISTFILES+=            ${PALCODE_CLIPPER}
                     43: SITES.${PALCODE_CLIPPER}= http://ftp.NetBSD.org/pub/NetBSD/arch/alpha/qemu/
1.253     thorpej    44:
1.77      adam       45: CONFIGURE_ARGS+=       --prefix=${PREFIX}
                     46: CONFIGURE_ARGS+=       --interp-prefix=${PREFIX}/share/qemu
                     47: CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFDIR}
1.91      ryoon      48: CONFIGURE_ARGS+=       --python=${PYTHONBIN}
1.102     shattere   49: CONFIGURE_ARGS+=       --smbd=${PREFIX}/sbin/smbd
1.87      sbd        50: CONFIGURE_ARGS+=       --mandir=${PREFIX}/${PKGMANDIR}
1.114     jnemeth    51: CONFIGURE_ARGS+=       --enable-curses
1.205     leot       52: CONFIGURE_ARGS+=       --enable-docs
1.113     adam       53: CONFIGURE_ENV+=                mansuffix=/${PKGMANDIR}
1.75      jmmv       54:
1.159     wiz        55: .if defined(PKGSRC_USE_SSP)
                     56: # do not add flags to everything
                     57: PKGSRC_USE_SSP=                no
                     58: CONFIGURE_ARGS+=       --enable-stack-protector
                     59: .endif
                     60:
1.153     maya       61: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-aarch64
                     62: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-alpha
                     63: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-arm
                     64: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-cris
1.198     gson       65: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-hppa
1.153     maya       66: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-i386
                     67: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-m68k
                     68: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-microblaze
                     69: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-microblazeel
                     70: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-mips
                     71: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-mips64
                     72: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-mips64el
                     73: NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-mipsel
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.273     nia        94: .include "../../mk/oss.buildlink3.mk"
                     95:
                     96: .if ${OSS_TYPE} != "none"
                     97: SUBST_CLASSES+=                oss
                     98: SUBST_STAGE.oss=       pre-configure
                     99: SUBST_MESSAGE.oss=     Correcting the path to the OSS device.
                    100: SUBST_FILES.oss+=      audio/ossaudio.c
                    101: SUBST_SED.oss+=                -e "s,/dev/dsp,${DEVOSSAUDIO},g"
                    102: .endif
                    103:
1.208     kamil     104: UE_ARCHS+=             aarch64 aarch64_be
                    105: UE_ARCHS+=             alpha arm armeb cris
1.281     mcf       106: UE_ARCHS+=             hexagon hppa
1.208     kamil     107: UE_ARCHS+=             i386
1.304     tnn       108: UE_ARCHS+=             loongarch64
1.208     kamil     109: UE_ARCHS+=             m68k microblaze microblazeel
                    110: UE_ARCHS+=             mips mips64 mips64el mipsel mipsn32 mipsn32el
                    111: UE_ARCHS+=             nios2
1.271     nia       112: UE_ARCHS+=             or1k ppc ppc64 ppc64le
1.208     kamil     113: UE_ARCHS+=             riscv32 riscv64
                    114: UE_ARCHS+=             s390x sh4 sh4eb sparc sparc32plus sparc64
                    115: UE_ARCHS+=             x86_64 xtensa xtensaeb
1.65      sbd       116:
1.76      tsutsui   117: .if ${OPSYS} == "NetBSD"
1.246     nia       118: PLIST.nbd=                     yes
1.291     tnn       119: .  if !exists(/usr/include/machine/trap.h)     \
                    120:        || "1"=="1"     # XXX usermode emulation is broken
1.246     nia       121: CONFIGURE_ARGS+=               --disable-bsd-user
                    122: .  else
1.291     tnn       123: CONFIGURE_ARGS+=               --enable-bsd-user
1.284     mcf       124: USER_EMUL=                     i386 x86_64
1.246     nia       125: .  endif
1.308     adam      126: .elif ${OPSYS:M*BSD} || ${OPSYS} == "DragonFly"
1.284     mcf       127: USER_EMUL=                     i386 x86_64
1.220     rillig    128: PLIST.nbd=                     yes
1.187     adam      129: .elif ${OPSYS} == "Darwin"
1.77      adam      130: USER_EMUL=
1.220     rillig    131: CONFIGURE_ARGS+=               --disable-bsd-user
                    132: PLIST.nbd=                     yes
1.187     adam      133: .elif ${OPSYS} == "Linux"
1.220     rillig    134: USER_EMUL=                     ${UE_ARCHS}
                    135: PLIST.bridge-helper=           yes
1.295     ryoon     136: PLIST.ga=                      yes
1.220     rillig    137: PLIST.nbd=                     yes
                    138: PLIST.pr-helper=               yes
1.116     jperkin   139: .elif !empty(MACHINE_PLATFORM:MSunOS-5.11-*)
1.295     ryoon     140: PLIST.ga=                      yes
1.220     rillig    141: PLIST.nbd=                     yes
                    142: CONFIGURE_ARGS+=               --disable-coroutine-pool
1.65      sbd       143: .endif
                    144:
1.292     tnn       145: PLIST_VARS+=           plugins
                    146: .if ${OPSYS} != "SunOS"
                    147: PLIST.plugins=         yes
                    148: CONFIGURE_ARGS+=       --enable-plugins
                    149: .else
                    150: CONFIGURE_ARGS+=       --disable-plugins
                    151: .endif
                    152:
1.295     ryoon     153: PLIST_VARS+=           ${UE_ARCHS} bridge-helper ga keymap nbd pr-helper
1.188     adam      154: .for pvar in ${USER_EMUL}
1.209     wiz       155: PLIST.${pvar}=         yes
1.65      sbd       156: .endfor
                    157:
1.219     adam      158: # different versions of Sphinx generate different static files
                    159: PLIST_SRC=     PLIST ${WRKDIR}/PLIST.STATIC
                    160:
1.270     wiz       161: PRINT_PLIST_AWK+=      /\/_static\// { next; }
                    162:
1.172     kamil     163: TEST_TARGET=           check
                    164:
1.275     nia       165: PYTHON_FOR_BUILD_ONLY= tool
                    166:
1.253     thorpej   167: post-extract:
1.278     thorpej   168:        cp ${WRKDIR}/${PALCODE_CLIPPER} ${WRKSRC}/pc-bios/palcode-clipper
1.262     reinoud   169:        cp ${FILESDIR}/hw-mips-mipssim_virtio.c ${WRKSRC}/hw/mips/mipssim_virtio.c
1.253     thorpej   170:
1.263     ryoon     171: do-build:
                    172:        cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
                    173:                ninja -j ${_MAKE_JOBS_N:U1} -C build
                    174:
                    175: do-install:
                    176:        cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${INSTALL_ENV} \
                    177:                ninja -j ${_MAKE_JOBS_N:U1} -C build install
                    178:
1.221     jperkin   179: # Some dependencies aren't correct and this tries to be re-made on install,
                    180: # failing due to configure bugs.
                    181: post-build:
                    182:        ${TOUCH} ${WRKSRC}/config-host.mak
                    183:
1.18      hubertf   184: post-install:
1.49      joerg     185:        ${INSTALL_DATA} ${FILESDIR}/Makefile.multinode-NetBSD \
                    186:                ${DESTDIR}${PREFIX}/share/doc/qemu/
1.216     adam      187:        ${RM} -f ${DESTDIR}${PREFIX}/share/doc/qemu/interop/.buildinfo
1.219     adam      188:        ${RM} -f ${DESTDIR}${PREFIX}/share/doc/qemu/specs/.buildinfo
                    189:        ${RM} -f ${WRKDIR}/PLIST.STATIC
                    190:        cd ${DESTDIR}${PREFIX} && \
                    191:        ${FIND} share/doc/qemu -path '*/_static/*' -type f -print > ${WRKDIR}/PLIST.STATIC
1.41      adrianp   192:
1.165     adam      193: .include "../../archivers/lzo/buildlink3.mk"
1.279     ryoon     194: .include "../../archivers/zstd/buildlink3.mk"
1.81      ryoon     195: .include "../../devel/glib2/buildlink3.mk"
1.165     adam      196: .include "../../devel/snappy/buildlink3.mk"
1.68      tnn       197: .include "../../devel/zlib/buildlink3.mk"
1.205     leot      198: .include "../../graphics/hicolor-icon-theme/buildlink3.mk"
1.165     adam      199: .include "../../graphics/png/buildlink3.mk"
1.275     nia       200: .include "../../lang/python/tool.mk"
1.294     nia       201: .include "../../net/libslirp/buildlink3.mk"
1.147     ryoon     202: .include "../../security/libgcrypt/buildlink3.mk"
1.311   ! ryoon     203: .include "../../sysutils/dtc/buildlink3.mk"
1.165     adam      204: .include "../../www/curl/buildlink3.mk"
1.106     wiz       205: .include "../../x11/pixman/buildlink3.mk"
1.268     reinoud   206: .include "../../mk/curses.buildlink3.mk"
1.165     adam      207: .include "../../mk/jpeg.buildlink3.mk"
1.2       xtraeme   208: .include "../../mk/pthread.buildlink3.mk"
1.1       xtraeme   209: .include "../../mk/bsd.pkg.mk"

CVSweb <webmaster@jp.NetBSD.org>