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

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

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

CVSweb <webmaster@jp.NetBSD.org>