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

Annotation of pkgsrc/lang/openjdk8/Makefile, Revision 1.41

1.41    ! wiz         1: # $NetBSD: Makefile,v 1.40 2016/08/15 19:09:38 ryoon Exp $
1.1       tnn         2:
1.40      ryoon       3: DISTNAME=      openjdk-1.8.102-20160811
                      4: PKGNAME=       openjdk8-1.8.102
1.41    ! wiz         5: PKGREVISION=   1
1.1       tnn         6: CATEGORIES=    lang
                      7: MASTER_SITES=  ${MASTER_SITE_LOCAL:=openjdk7/}
                      8: EXTRACT_SUFX=  .tar.xz
                      9:
                     10: MAINTAINER=    pkgsrc-users@NetBSD.org
                     11: HOMEPAGE=      http://openjdk.java.net/
                     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: # Use same DIST_SUBDIR as openjdk7 to avoid duplication of common distfiles
                     19: DIST_SUBDIR=   openjdk7
                     20:
                     21: JAVA_NAME=     openjdk8
                     22: JAVA_HOME=     ${PREFIX}/java/${JAVA_NAME}
1.39      abs        23: JAVA_WRAPPERS= jar java javac javadoc javah javap jcmd jps keytool orbd \
1.1       tnn        24:                policytool rmid rmiregistry servertool tnameserv
                     25:
1.26      asau       26: BUILD_DEPENDS+=                mozilla-rootcerts>=1.0.20140820nb2:../../security/mozilla-rootcerts
                     27:
1.22      tnn        28: GNU_CONFIGURE=         yes
1.1       tnn        29: CONFIGURE_SCRIPT=      common/autoconf/configure
                     30: CONFIG_SHELL=          bash
1.6       tnn        31: CONFIG_SUB_OVERRIDE+=  common/autoconf/build-aux/config.sub
1.7       tnn        32: CONFIG_GUESS_OVERRIDE+=        common/autoconf/build-aux/config.guess
1.22      tnn        33: CONFIG_SUB_OVERRIDE+=  common/autoconf/build-aux/autoconf-config.sub
1.7       tnn        34: CONFIG_GUESS_OVERRIDE+=        common/autoconf/build-aux/autoconf-config.guess
1.1       tnn        35: USE_LANGUAGES=         c c++
                     36: USE_TOOLS+=            bash gmake pax pkg-config unzip:run zip:run
                     37: UNLIMIT_RESOURCES=     datasize stacksize
                     38: WRKSRC=                        ${WRKDIR}/openjdk
                     39: PLIST_SRC+=            ${PLIST_SRC_DFLT}
1.37      jperkin    40: CHECK_SHLIBS_SKIP+=    java/openjdk8/jre/lib/${LIBDIR_ARCH}/libinstrument.so
1.1       tnn        41:
                     42: BUILDLINK_PASSTHRU_DIRS+=      ${ALT_BOOTDIR}
                     43: PREPEND_PATH+=                 ${ALT_BOOTDIR}/bin
                     44:
1.22      tnn        45: CONFIGURE_ARGS+=       --disable-option-checking # for --with-libiconv-prefix
1.18      fhajny     46: CONFIGURE_ARGS+=       --prefix=${PREFIX:Q}
                     47: CONFIGURE_ARGS+=       --build=${MACHINE_GNU_PLATFORM:Q}
                     48: CONFIGURE_ARGS+=       --host=${MACHINE_GNU_PLATFORM:Q}
1.1       tnn        49: CONFIGURE_ARGS+=       --with-boot-jdk=${ALT_BOOTDIR}
                     50: CONFIGURE_ARGS+=       --with-zlib=system
                     51: CONFIGURE_ARGS+=       --with-giflib=bundled
                     52: CONFIGURE_ARGS+=       --with-cups=${BUILDLINK_PREFIX.cups}
                     53: CONFIGURE_ARGS+=       --with-freetype-lib=${BUILDLINK_PREFIX.freetype2}/lib
                     54: CONFIGURE_ARGS+=       --with-freetype-include=${BUILDLINK_PREFIX.freetype2}/include
                     55: CONFIGURE_ARGS+=       --disable-freetype-bundling
                     56: CONFIGURE_ARGS+=       --with-jobs=${MAKE_JOBS:U1}
                     57: CONFIGURE_ARGS+=       --with-num-cores=${MAKE_JOBS:U1}
                     58: CONFIGURE_ARGS+=       --with-memory-size=768
1.16      tnn        59: CONFIGURE_ARGS+=       --disable-precompiled-headers
1.1       tnn        60: CONFIGURE_ARGS+=       --disable-ccache
                     61: CONFIGURE_ARGS+=       --with-user-release-suffix=pkgsrc_${PKGVERSION}
1.24      tnn        62: CONFIGURE_ARGS+=       --with-update-version=${PKGVERSION_NOREV:S/1.8.//}
1.1       tnn        63:
                     64: CHECK_PORTABILITY_SKIP+=       hotspot/test/runtime/*/*.sh
                     65:
1.34      wiz        66: NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/[a-ik-z]*
                     67: NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/j[b-z]*
                     68: NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/jar*
                     69: NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/java
                     70: NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/java[a-z]*
1.35      pgoyette   71: NOT_PAX_MPROTECT_SAFE+= java/openjdk8/jre/bin/*
1.34      wiz        72:
1.1       tnn        73: # Avoid build errors when JAVA_HOME and CLASSPATH are defined by user.
                     74: MAKE_ENV+=     JAVA_HOME=
                     75: MAKE_ENV+=     CLASSPATH=
                     76:
1.5       tnn        77: BUILD_OPSYS=   ${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/:S/SunOS/solaris/}
1.6       tnn        78: BUILD_ARCH=    ${MACHINE_ARCH:S/i386/x86/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
                     79: LIBDIR_ARCH=   ${MACHINE_ARCH:S/x86_64/amd64/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
1.5       tnn        80: BUILDDIR=      ${WRKSRC}/build/${BUILD_OPSYS}-${BUILD_ARCH}-normal-${BUILD_VARIANT}-${BUILD_DEBUG_LEVEL}
                     81: LD_LIBRARY_PATH=       ${WRKDIR}/bootstrap/jre/lib/${LIBDIR_ARCH}:${WRKDIR}/bootstrap/jre/lib/${LIBDIR_ARCH}/jli:${WRKDIR}/bootstrap/jre/lib/${LIBDIR_ARCH}/server
1.1       tnn        82: CONFIGURE_ENV+=        LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
                     83: MAKE_ENV+=     LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
1.5       tnn        84: BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/openjdk8/jre/lib/${LIBDIR_ARCH}
1.1       tnn        85:
1.5       tnn        86: PLIST_SUBST+=  ARCH=${LIBDIR_ARCH}
1.17      fhajny     87: PLIST_SUBST+=  LOWER_OPSYS=${LOWER_OPSYS:S/sunos/solaris/}
1.1       tnn        88:
                     89: .include "../../mk/compiler.mk"
                     90:
                     91: SUBST_CLASSES+=                libpath
                     92: SUBST_STAGE.libpath=   pre-build
                     93: SUBST_FILES.libpath+=  hotspot/src/os/bsd/vm/os_bsd.cpp
                     94: SUBST_VARS.libpath=    PREFIX
                     95:
1.9       tnn        96: CFLAGS+=       -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
                     97: CXXFLAGS+=     -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
                     98:
1.17      fhajny     99: .if ${OPSYS} == "SunOS" && !empty(PKGSRC_COMPILER:Mgcc)
                    100: MAKE_ENV+=     USE_GCC=1
                    101: MAKE_ENV+=     ARCH_DATA_MODEL=${ABI:Q}
                    102: .endif
                    103:
1.1       tnn       104: .if !empty(PKGSRC_COMPILER:Mclang)
1.2       tnn       105: _WRAP_EXTRA_ARGS.CC+=  -Wno-return-type
1.3       tnn       106: CWRAPPERS_APPEND.cc+=  -Wno-return-type
1.1       tnn       107: _WRAP_EXTRA_ARGS.CXX+= -Wno-parentheses -Wno-sign-conversion \
                    108:                        -Wno-shorten-64-to-32 -Wno-conversion \
                    109:                        -Wno-unused-value -Wno-switch-enum -Wno-switch \
                    110:                        -Wno-tautological-compare \
                    111:                        -Wno-delete-non-virtual-dtor \
                    112:                        -Wno-return-type -Wno-unused-parameter \
                    113:                        -Wno-parentheses-equality -Wno-empty-body \
                    114:                        -Wno-format -Wno-dynamic-class-memaccess
                    115: CWRAPPERS_APPEND.cxx+= -Wno-parentheses -Wno-sign-conversion \
                    116:                        -Wno-shorten-64-to-32 -Wno-conversion \
                    117:                        -Wno-unused-value -Wno-switch-enum -Wno-switch \
                    118:                        -Wno-tautological-compare \
                    119:                        -Wno-delete-non-virtual-dtor \
                    120:                        -Wno-return-type -Wno-unused-parameter \
                    121:                        -Wno-parentheses-equality -Wno-empty-body \
                    122:                        -Wno-format -Wno-dynamic-class-memaccess
                    123: .  if ${OPSYS} != "FreeBSD"
                    124: _WRAP_EXTRA_ARGS.CXX+= -Wno-new-returns-null
                    125: CWRAPPERS_APPEND.cxx+= -Wno-new-returns-null
                    126: .  endif
                    127: BUILDLINK_TRANSFORM+=  rm:-fcheck-new
                    128: BUILDLINK_TRANSFORM+=  rm:-fpch-deps
                    129: .  if ${MACHINE_ARCH} == "x86_64"
                    130: _WRAP_EXTRA_ARGS.CXX+= -mstackrealign
                    131: CWRAPPERS_APPEND.cxx+= -mstackrealign
                    132: .  endif
                    133: .endif
                    134: .include "bootstrap.mk"
                    135:
                    136: .include "options.mk"
                    137:
                    138: SUBST_CLASSES+=                        fontpaths
                    139: SUBST_STAGE.fontpaths=         pre-build
                    140: SUBST_MESSAGE.fontpaths=       fixing font paths
                    141: SUBST_FILES.fontpaths=         jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties
                    142: SUBST_FILES.fontpaths+=                jdk/src/solaris/native/sun/awt/fontpath.c
                    143: SUBST_SED.fontpaths=           -e 's|@PREFIX@|${PREFIX}|g'
                    144: SUBST_SED.fontpaths+=          -e 's|@BUILDLINK_PREFIX.fontconfig@|${BUILDLINK_PREFIX.fontconfig}|g'
                    145:
1.38      jperkin   146: SUBST_CLASSES+=                        zlibpath
                    147: SUBST_STAGE.zlibpath=          pre-build
                    148: SUBST_FILES.zlibpath=          jdk/make/CompileLaunchers.gmk jdk/make/lib/CoreLibraries.gmk
                    149: SUBST_VARS.zlibpath=           COMPILER_RPATH_FLAG BUILDLINK_PREFIX.zlib
                    150:
1.17      fhajny    151: PLIST_VARS+=   i386
                    152: .if ${MACHINE_ARCH} == "i386"
                    153: PLIST.i386=    yes
                    154: .endif
                    155:
1.11      tnn       156: PLIST_VARS+=   sctp
1.17      fhajny    157: .if ${OPSYS} == "FreeBSD" || ${OPSYS} == "SunOS"
1.11      tnn       158: PLIST.sctp=    yes
                    159: .endif
                    160:
1.1       tnn       161: post-extract:
1.9       tnn       162: # These libs are bundled w/ the netbsd-7 bootstrap to facilitate building with
                    163: # MKLLVM=yes / MKGCC=no. Nuke them from bootstrap if they are present in base.
                    164: .if exists(/lib/libgcc_s.so.1)
                    165:        ${RM} -f ${ALT_BOOTDIR}/jre/lib/${LIBDIR_ARCH}/libgcc_s.so*
                    166: .endif
                    167: .if exists(/usr/lib/libstdc++.so.7)
                    168:        ${RM} -f ${ALT_BOOTDIR}/jre/lib/${LIBDIR_ARCH}/libstdc++.so*
1.1       tnn       169: .endif
1.34      wiz       170: .if defined(TOOLS_PLATFORM.paxctl)
                    171:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/[a-ik-z]*
                    172:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/j[b-z]*
                    173:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/jar*
                    174:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/java
                    175:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/java[a-z]*
                    176: .endif
1.1       tnn       177:
                    178: do-build: ${WRKDIR}/stage3-done
                    179:
                    180: # stage 1 builds a native JDK using the bootstrap binaries
                    181: ${WRKDIR}/stage1-done:
                    182:        ${_ULIMIT_CMD} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} images
                    183:        rm -rf ${ALT_BOOTDIR}
                    184:        cd ${BUILDDIR}/images && mv j2sdk-image ${ALT_BOOTDIR}
                    185: .for d in corba hotspot jaxp jaxws langtools tmp
                    186:        mv ${BUILDDIR}/${d} ${BUILDDIR}/${d}-stage1
                    187: .endfor
1.5       tnn       188:        touch ${.TARGET}
                    189:
                    190: # stage 1.5 reconfigures, since the bootstrap JDK major version might have changed now
                    191: ${WRKDIR}/stage1_5-done: ${WRKDIR}/stage1-done
1.34      wiz       192: .if defined(TOOLS_PLATFORM.paxctl)
                    193:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/[a-ik-z]*
                    194:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/j[b-z]*
                    195:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/jar*
                    196:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/java
                    197:        ${PAXCTL} +m ${WRKDIR}/bootstrap/bin/java[a-z]*
                    198: .endif
1.36      tnn       199: .if defined(BATCH)
                    200:        @${RECURSIVE_MAKE} ${MAKEFLAGS} apply-va-hack
                    201: .endif
1.12      tnn       202:        @${STEP_MSG} "Reconfiguring with newly built JDK"
                    203:        @${RECURSIVE_MAKE} ${MAKEFLAGS} do-configure
1.5       tnn       204:        touch ${.TARGET}
1.1       tnn       205:
                    206: # stage 2 rebuilds the JDK using native tools
1.5       tnn       207: ${WRKDIR}/stage2-done: ${WRKDIR}/stage1_5-done
1.6       tnn       208:        ${_ULIMIT_CMD} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} images
1.5       tnn       209:        touch ${.TARGET}
1.1       tnn       210:
                    211: # stage 3 builds third party add-ons
                    212: ${WRKDIR}/stage3-done: ${WRKDIR}/stage2-done ${WRKDIR}/cacerts.out
1.5       tnn       213:        touch ${.TARGET}
1.1       tnn       214:
                    215: ${WRKDIR}/cacerts.out:
                    216:        mkdir ${WRKDIR}/cacerts && cd ${WRKDIR}/cacerts &&              \
                    217:                ${PREFIX}/sbin/mozilla-rootcerts extract
                    218:        for cert in ${WRKDIR}/cacerts/*.pem; do                         \
                    219:                ${INFO_MSG} "Importing $$cert" &&                       \
                    220:                 ${SETENV} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} LC_ALL=C  \
1.12      tnn       221:                  ${ALT_BOOTDIR}/bin/keytool                            \
1.1       tnn       222:                  -noprompt                                             \
                    223:                  -importcert                                           \
                    224:                  -keystore ${.TARGET}                                  \
                    225:                  -alias `${ECHO} $$cert | sed 's,.*/\\([^/]*\\)\\.pem,\\1,'` \
                    226:                  -file $$cert                                          \
                    227:                  -storepass changeit;                                  \
                    228:        done
                    229:
                    230: do-install:
                    231:        ${INSTALL_DATA_DIR} ${DESTDIR}${JAVA_HOME}
                    232:        cd ${BUILDDIR}/images/j2sdk-image && pax -rwpp .                \
                    233:          ${DESTDIR}${JAVA_HOME}/.
                    234:        ${INSTALL_DATA} ${WRKDIR}/cacerts.out                           \
                    235:          ${DESTDIR}${JAVA_HOME}/jre/lib/security/cacerts
                    236:        rm -f ${DESTDIR}${JAVA_HOME}/include/jni_md.h
1.17      fhajny    237:        ln -s ${LOWER_OPSYS:S/sunos/solaris/}/jni_md.h                                  \
1.1       tnn       238:          ${DESTDIR}${JAVA_HOME}/include/jni_md.h
                    239:
                    240: .if ${OPSYS} == "NetBSD"
                    241: TOOLS_PLATFORM.unzip=
                    242: .endif
                    243:
1.17      fhajny    244: # Include binutils for objcopy and GNU strip on SmartOS
                    245: .if ${OS_VARIANT} == "SmartOS"
                    246: .include "../../devel/binutils/buildlink3.mk"
                    247: BUILDLINK_DEPMETHOD.binutils?= build
                    248: MAKE_ENV+=     STRIP=${PREFIX}/bin/gstrip
                    249: .endif
                    250:
1.1       tnn       251: # disabled the ALSA support for now on BSDs via patch
                    252: #.include "../../audio/alsa-lib/buildlink3.mk"
                    253: .include "../../converters/libiconv/buildlink3.mk"
                    254: .include "../../devel/zlib/buildlink3.mk"
                    255: .include "../../fonts/fontconfig/buildlink3.mk"
                    256: .include "../../graphics/freetype2/buildlink3.mk"
                    257: BUILDLINK_DEPMETHOD.cups?=     build
1.5       tnn       258: .include "../../print/cups/buildlink3.mk"
1.1       tnn       259: .include "../../mk/java-env.mk"
                    260: .include "../../mk/bsd.pkg.mk"

CVSweb <webmaster@jp.NetBSD.org>