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

Annotation of pkgsrc/lang/openjdk11/Makefile, Revision 1.38

1.38    ! ryoon       1: # $NetBSD: Makefile,v 1.37 2021/11/09 03:48:52 ryoon Exp $
1.1       tnn         2:
1.38    ! ryoon       3: DISTNAME=      jdk11u-${GITHUB_TAG:C/\+/-/}
1.1       tnn         4: PKGNAME=       openjdk11-1.${GITHUB_TAG:C/\+/./:C/jdk-([.0-9]+).*/\1/}
                      5: CATEGORIES=    lang
                      6: MASTER_SITES=  ${MASTER_SITE_GITHUB:=battleblow/}
1.38    ! ryoon       7: GITHUB_PROJECT=        jdk11u
        !             8: GITHUB_TAG=    jdk-11.0.13+8-1
1.1       tnn         9:
                     10: MAINTAINER=    pkgsrc-users@NetBSD.org
1.11      rillig     11: HOMEPAGE=      https://openjdk.java.net/
1.1       tnn        12: COMMENT=       Open-source implementation of the Java Platform, Standard Edition
                     13: LICENSE=       gnu-gpl-v2
                     14:
                     15: DISTFILES=     ${DEFAULT_DISTFILES}
                     16: EXTRACT_ONLY=  ${DISTNAME}${EXTRACT_SUFX}
                     17:
                     18: JAVA_NAME=     openjdk11
                     19: JAVA_HOME=     ${PREFIX}/java/${JAVA_NAME}
1.32      ryoon      20: JAVA_WRAPPERS= jar jarsigner java javac javadoc javap jcmd jconsole jdb \
                     21:                jdeprscan jdeps jfr jimage jinfo jlink jmap jmod jps \
                     22:                jrunscript jshell jstack jstat jstatd keytool rmid \
                     23:                rmiregistry serialver
1.1       tnn        24:
                     25: BUILD_DEPENDS+=                mozilla-rootcerts>=1.0.20140820nb2:../../security/mozilla-rootcerts
                     26:
                     27: GNU_CONFIGURE=         yes
1.23      rillig     28: GNU_CONFIGURE_STRICT=  no # generates the configure script during the build
1.1       tnn        29: USE_GNU_CONFIGURE_HOST=        no
                     30: CONFIGURE_SCRIPT=      configure
                     31: CONFIG_SHELL=          bash
                     32: CONFIG_SUB_OVERRIDE+=  make/autoconf/build-aux/config.sub
                     33: CONFIG_GUESS_OVERRIDE+=        make/autoconf/build-aux/config.guess
                     34: CONFIG_SUB_OVERRIDE+=  make/autoconf/build-aux/autoconf-config.sub
                     35: CONFIG_GUESS_OVERRIDE+=        make/autoconf/build-aux/autoconf-config.guess
                     36: USE_LANGUAGES=         c c++
                     37: USE_TOOLS+=            bash gmake pax pkg-config unzip:run zip:run autoconf automake
1.16      joerg      38: UNLIMIT_RESOURCES=     datasize stacksize virtualsize cputime
1.1       tnn        39:
                     40: BUILDLINK_PASSTHRU_DIRS+=      ${ALT_BOOTDIR}
                     41:
                     42: # Try to use less POSIX semaphores (large MAKE_JOBS can consume them all)
                     43: BOOT_JVMARGS=  -XX:+UnlockDiagnosticVMOptions \
                     44:                -XX:-UseSemaphoreGCThreadsSynchronization
                     45:
                     46: CONFIGURE_ARGS+=       --prefix=${PREFIX:Q}
                     47: CONFIGURE_ARGS+=       --openjdk-target=${MACHINE_GNU_PLATFORM:Q}
                     48: CONFIGURE_ARGS+=       --with-boot-jdk=${ALT_BOOTDIR}
                     49: CONFIGURE_ARGS+=       --with-boot-jdk-jvmargs=${BOOT_JVMARGS:Q}
                     50: CONFIGURE_ARGS+=       --with-zlib=system
                     51: CONFIGURE_ARGS+=       --with-giflib=bundled
                     52: CONFIGURE_ARGS+=       --with-lcms=bundled
1.21      tnn        53: CONFIGURE_ARGS+=       --with-cups-include=${BUILDLINK_PREFIX.libcups}/include
1.1       tnn        54: CONFIGURE_ARGS+=       --with-freetype=system
                     55: CONFIGURE_ARGS+=       --with-freetype-lib=${BUILDLINK_PREFIX.freetype2}/lib
                     56: CONFIGURE_ARGS+=       --with-freetype-include=${BUILDLINK_PREFIX.freetype2}/include
                     57: CONFIGURE_ARGS+=       --with-jobs=${MAKE_JOBS:U1}
                     58: CONFIGURE_ARGS+=       --with-num-cores=${MAKE_JOBS:U1}
                     59: CONFIGURE_ARGS+=       --disable-precompiled-headers
                     60: CONFIGURE_ARGS+=       --disable-ccache
                     61: CONFIGURE_ARGS+=       --disable-javac-server
1.35      ryoon      62: # Do not include ${PREFIX} (/usr/pkg) for internal libraries.
                     63: #CONFIGURE_ARGS+=      --with-extra-ldflags=${LDFLAGS:Q}
1.1       tnn        64: CONFIGURE_ARGS+=       --with-extra-cflags=${CFLAGS:Q}
                     65: CONFIGURE_ARGS+=       --with-extra-cxxflags=${CXXFLAGS:Q}
                     66: CONFIGURE_ARGS+=       --disable-warnings-as-errors
                     67: CONFIGURE_ARGS+=       --with-cacerts-file=${WRKDIR}/cacerts.out
                     68: CONFIGURE_ARGS+=       --with-default-make-target=product-images
                     69: # It is intentional to use CONFIGURE_ARGS instead of CONFIGURE_ENV here.
                     70: CONFIGURE_ARGS+=       USER=pkgsrc
                     71:
1.31      ryoon      72: .include "../../mk/bsd.prefs.mk"
                     73:
1.1       tnn        74: # Avoid build errors when JAVA_HOME and CLASSPATH are defined by user.
                     75: MAKE_ENV+=     JAVA_HOME=
                     76: MAKE_ENV+=     CLASSPATH=
1.37      ryoon      77: .if !empty(MACHINE_PLATFORM:MNetBSD-9.99.8[1-9]-*) || \
                     78:     !empty(MACHINE_PLATFORM:MNetBSD-9.99.9[0-9]-*)
1.31      ryoon      79: ALL_ENV+=      SED="sed -g"
                     80: .endif
1.1       tnn        81:
1.5       rillig     82: BUILD_OPSYS=                   ${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/:S/SunOS/solaris/:S/Linux/linux/}
                     83: BUILD_ARCH=                    ${MACHINE_ARCH:S/i386/x86/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
                     84: BUILDDIR=                      ${WRKSRC}/build/${BUILD_OPSYS}-${BUILD_ARCH}-normal-${BUILD_VARIANT}-${BUILD_DEBUG_LEVEL}
1.1       tnn        85: BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/${JAVA_NAME}/lib
                     86: BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/${JAVA_NAME}/lib/server
1.5       rillig     87: WRKSRC=                                ${WRKDIR}/${DISTNAME}
1.1       tnn        88:
                     89: .include "../../mk/compiler.mk"
                     90:
                     91: .if !empty(PKGSRC_COMPILER:Mclang)
                     92: CONFIGURE_ARGS+=       --with-toolchain-type=clang
                     93: _WRAP_EXTRA_ARGS.CC+=  -Wno-format-nonliteral -Wno-sign-compare -Wno-char-subscripts
                     94: CWRAPPERS_APPEND.cc+=  -Wno-format-nonliteral -Wno-sign-compare -Wno-char-subscripts
                     95: _WRAP_EXTRA_ARGS.CXX+= -Wno-tautological-undefined-compare
                     96: CWRAPPERS_APPEND.cxx+= -Wno-tautological-undefined-compare
                     97:
                     98: BUILDLINK_TRANSFORM+=  rm:-fcheck-new
                     99: BUILDLINK_TRANSFORM+=  rm:-fpch-deps
                    100: .  if ${MACHINE_ARCH} == "x86_64"
                    101: _WRAP_EXTRA_ARGS.CXX+= -mstackrealign
                    102: CWRAPPERS_APPEND.cxx+= -mstackrealign
                    103: .  endif
                    104: .else
                    105: # GCC
                    106: CONFIGURE_ARGS+=       --with-toolchain-type=gcc
                    107: .endif
                    108:
                    109: .include "bootstrap.mk"
                    110: .include "options.mk"
                    111:
                    112: SUBST_CLASSES+=                libpath
                    113: SUBST_STAGE.libpath=   pre-configure
                    114: SUBST_FILES.libpath+=  src/hotspot/os/bsd/os_bsd.cpp
                    115: SUBST_FILES.libpath+=  make/autoconf/flags-cflags.m4
                    116: SUBST_FILES.libpath+=  make/autoconf/lib-bundled.m4
                    117: SUBST_FILES.libpath+=  make/autoconf/lib-freetype.m4
                    118: SUBST_FILES.libpath+=  make/autoconf/lib-x11.m4
                    119: SUBST_VARS.libpath=    PREFIX COMPILER_RPATH_FLAG JAVA_NAME BUILDLINK_PREFIX.zlib X11BASE
                    120:
                    121: SUBST_CLASSES+=                        fontpaths
                    122: SUBST_STAGE.fontpaths=         pre-configure
                    123: SUBST_MESSAGE.fontpaths=       fixing font paths
                    124: SUBST_FILES.fontpaths=         make/data/fontconfig/bsd.fontconfig.properties
                    125: SUBST_FILES.fontpaths+=                src/java.desktop/unix/native/common/awt/fontpath.c
                    126: SUBST_VARS.fontpaths=          PREFIX BUILDLINK_PREFIX.fontconfig
                    127:
1.31      ryoon     128: .if ${OPSYS} == "NetBSD"
                    129: # NetBSD's EVFILT_* are different from FreeBSD/OpenBSD's values.
                    130: SUBST_CLASSES+=                        kqueue
                    131: SUBST_STAGE.kqueue=            pre-configure
                    132: SUBST_MESSAGE.kqueue=          fixing kqueue filter values
                    133: SUBST_FILES.kqueue=            src/java.base/bsd/classes/sun/nio/ch/KQueue.java
                    134: SUBST_SED.kqueue=              -e 's/static final int EVFILT_READ  = -1;/static final int EVFILT_READ  = 0;/'
                    135: SUBST_SED.kqueue+=             -e 's/static final int EVFILT_WRITE = -2;/static final int EVFILT_WRITE = 1;/'
                    136: .endif
                    137:
1.19      tnn       138: PLIST_VARS+=                   aot internal_vm_compiler jvmci
1.1       tnn       139: .if ${MACHINE_ARCH} == "x86_64"
                    140: PLIST.aot=                     yes
                    141: PLIST.internal_vm_compiler=    yes
1.19      tnn       142: PLIST.jvmci=                   yes
1.1       tnn       143: .endif
1.18      tnn       144: .if ${MACHINE_ARCH} == "aarch64"
1.19      tnn       145: PLIST.jvmci=                   yes
1.18      tnn       146: .endif
1.1       tnn       147:
                    148: .if ${OPSYS} == "NetBSD"
                    149: TOOLS_PLATFORM.unzip=
1.9       ryoon     150: .endif
1.7       wiz       151:
1.1       tnn       152: post-extract:
                    153: # These libs are bundled w/ the netbsd-7 bootstrap to facilitate building with
                    154: # MKLLVM=yes / MKGCC=no. Nuke them from bootstrap if they are present in base.
                    155: .if exists(/lib/libgcc_s.so.1)
                    156:        ${RM} -f ${ALT_BOOTDIR}/lib/libgcc_s.so*
                    157: .endif
                    158:
                    159: pre-configure: ${WRKDIR}/cacerts.out
                    160:
                    161: ${WRKDIR}/cacerts.out:
                    162:        mkdir ${WRKDIR}/cacerts && cd ${WRKDIR}/cacerts &&              \
                    163:                ${PREFIX}/sbin/mozilla-rootcerts extract
1.15      joerg     164:        ${_ULIMIT_CMD} for cert in ${WRKDIR}/cacerts/*.pem; do                          \
1.1       tnn       165:                ${INFO_MSG} "Importing $$cert" &&                       \
1.4       tnn       166:                 ${SETENV} ${CONFIGURE_ENV} LC_ALL=C                    \
1.1       tnn       167:                  ${ALT_BOOTDIR}/bin/keytool                            \
                    168:                  -noprompt                                             \
                    169:                  -importcert                                           \
                    170:                  -keystore ${.TARGET}.tmp                              \
                    171:                  -alias `${ECHO} $$cert | sed 's,.*/\\([^/]*\\)\\.pem,\\1,'` \
                    172:                  -file $$cert                                          \
1.29      ryoon     173:                  -storetype jks                                        \
1.1       tnn       174:                  -storepass changeit;                                  \
                    175:        done
                    176:        mv ${.TARGET}.tmp ${.TARGET}
                    177:
                    178: do-build:
                    179:        rm -f ${WRKSRC}/make/data/fontconfig/*.orig
1.3       tnn       180:        ${_ULIMIT_CMD} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} LD_LIBRARY_PATH=${ALT_BOOTDIR}/lib ${MAKE_PROGRAM}
1.1       tnn       181:
                    182: do-install:
                    183:        ${INSTALL_DATA_DIR} ${DESTDIR}${JAVA_HOME}
                    184:        cd ${BUILDDIR}/images/jdk && pax -rwpp .                \
                    185:          ${DESTDIR}${JAVA_HOME}/.
                    186:
1.25      ryoon     187: .if ${OPSYS} == "Linux" || ${OPSYS} == "NetBSD"
1.1       tnn       188: .include "../../audio/alsa-lib/buildlink3.mk"
1.25      ryoon     189: CONFIGURE_ARGS+=       --with-alsa=${BUILDLINK_PREFIX.alsa-lib}
1.1       tnn       190: .endif
                    191: .include "../../converters/libiconv/buildlink3.mk"
                    192: .include "../../devel/zlib/buildlink3.mk"
                    193: .include "../../fonts/fontconfig/buildlink3.mk"
                    194: .include "../../graphics/freetype2/buildlink3.mk"
                    195: # Headers from CUPS are required to build the native implementation of
                    196: # sun.print.* which is used by java.awt.print.
1.20      tnn       197: BUILDLINK_DEPMETHOD.libcups?=  build
                    198: .include "../../print/libcups/buildlink3.mk"
1.1       tnn       199: .include "../../mk/java-env.mk"
                    200: .include "../../mk/bsd.pkg.mk"

CVSweb <webmaster@jp.NetBSD.org>