summaryrefslogtreecommitdiff
path: root/lang/openjdk8/Makefile
diff options
context:
space:
mode:
authorfhajny <fhajny>2015-07-03 20:40:59 +0000
committerfhajny <fhajny>2015-07-03 20:40:59 +0000
commitfa7d29723932807cfe125152bb343ee86a1bef1d (patch)
tree72f551af8234afb2bc26de703240933b59f4a317 /lang/openjdk8/Makefile
parent53c7846c9d2fec056fee3a7bcd1ff4ec85b7c55e (diff)
downloadpkgsrc-fa7d29723932807cfe125152bb343ee86a1bef1d.tar.gz
Add support for building with GCC on SunOS, largely based on openjdk7
patches by jesse et al. Fixes build on SunOS.
Diffstat (limited to 'lang/openjdk8/Makefile')
-rw-r--r--lang/openjdk8/Makefile52
1 files changed, 48 insertions, 4 deletions
diff --git a/lang/openjdk8/Makefile b/lang/openjdk8/Makefile
index ea0923692cc..ee6517a04b4 100644
--- a/lang/openjdk8/Makefile
+++ b/lang/openjdk8/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.16 2015/06/13 14:55:52 tnn Exp $
+# $NetBSD: Makefile,v 1.17 2015/07/03 20:40:59 fhajny Exp $
DISTNAME= openjdk-1.8.45-20150610
PKGNAME= openjdk8-1.8.45
@@ -71,7 +71,7 @@ MAKE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/openjdk8/jre/lib/${LIBDIR_ARCH}
PLIST_SUBST+= ARCH=${LIBDIR_ARCH}
-PLIST_SUBST+= LOWER_OPSYS=${LOWER_OPSYS}
+PLIST_SUBST+= LOWER_OPSYS=${LOWER_OPSYS:S/sunos/solaris/}
.include "../../mk/compiler.mk"
@@ -83,6 +83,37 @@ SUBST_VARS.libpath= PREFIX
CFLAGS+= -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
CXXFLAGS+= -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
+.if ${OPSYS} == "SunOS" && !empty(PKGSRC_COMPILER:Mgcc)
+MAKE_ENV+= USE_GCC=1
+MAKE_ENV+= ARCH_DATA_MODEL=${ABI:Q}
+.endif
+
+# SmartOS has ccs tools in /usr/bin
+.if ${OS_VARIANT} == "SmartOS"
+SUBST_CLASSES+= ccspath
+SUBST_STAGE.ccspath= pre-build
+SUBST_FILES.ccspath= jdk/make/common/shared/Defs-utils.gmk
+SUBST_FILES.ccspath+= hotspot/make/solaris/makefiles/build_vm_def.sh
+SUBST_SED.ccspath= -e 's/UNIXCCS_PATH/UNIXCOMMAND_PATH/g'
+SUBST_SED.ccspath+= -e 's,/usr/ccs/bin,/usr/bin,g'
+.endif
+
+.if ${OPSYS} == "SunOS"
+SUBST_CLASSES+= mapfix
+SUBST_STAGE.mapfix= pre-build
+SUBST_FILES.mapfix= jdk/make/com/sun/java/pack/mapfile-vers
+SUBST_FILES.mapfix+= jdk/make/java/main/java/mapfile-amd64
+SUBST_FILES.mapfix+= jdk/make/java/main/java/mapfile-i586
+SUBST_SED.mapfix= -e '/__fsr_init_value/d'
+SUBST_SED.mapfix+= -e '/__progname/d'
+
+# environ should only be removed from this file (added by patches)
+SUBST_CLASSES+= mapfix2
+SUBST_STAGE.mapfix2= pre-build
+SUBST_FILES.mapfix2= jdk/make/com/sun/java/pack/mapfile-vers
+SUBST_SED.mapfix2= -e '/environ/d'
+.endif
+
.if !empty(PKGSRC_COMPILER:Mclang)
_WRAP_EXTRA_ARGS.CC+= -Wno-return-type
CWRAPPERS_APPEND.cc+= -Wno-return-type
@@ -125,8 +156,13 @@ SUBST_FILES.fontpaths+= jdk/src/solaris/native/sun/awt/fontpath.c
SUBST_SED.fontpaths= -e 's|@PREFIX@|${PREFIX}|g'
SUBST_SED.fontpaths+= -e 's|@BUILDLINK_PREFIX.fontconfig@|${BUILDLINK_PREFIX.fontconfig}|g'
+PLIST_VARS+= i386
+.if ${MACHINE_ARCH} == "i386"
+PLIST.i386= yes
+.endif
+
PLIST_VARS+= sctp
-.if ${OPSYS} == "FreeBSD"
+.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "SunOS"
PLIST.sctp= yes
.endif
@@ -192,13 +228,21 @@ do-install:
${INSTALL_DATA} ${WRKDIR}/cacerts.out \
${DESTDIR}${JAVA_HOME}/jre/lib/security/cacerts
rm -f ${DESTDIR}${JAVA_HOME}/include/jni_md.h
- ln -s ${LOWER_OPSYS}/jni_md.h \
+ ln -s ${LOWER_OPSYS:S/sunos/solaris/}/jni_md.h \
${DESTDIR}${JAVA_HOME}/include/jni_md.h
.if ${OPSYS} == "NetBSD"
TOOLS_PLATFORM.unzip=
.endif
+# Include binutils for objcopy and GNU strip on SmartOS
+.if ${OS_VARIANT} == "SmartOS"
+.include "../../devel/binutils/buildlink3.mk"
+BUILDLINK_DEPMETHOD.binutils?= build
+MAKE_ENV+= ALT_OBJCOPY=${PREFIX}/bin/gobjcopy
+MAKE_ENV+= STRIP=${PREFIX}/bin/gstrip
+.endif
+
# disabled the ALSA support for now on BSDs via patch
#.include "../../audio/alsa-lib/buildlink3.mk"
.include "../../converters/libiconv/buildlink3.mk"