freebsd-ports/java/jdk13/Makefile
Greg Lewis 35dbc5bb82 Add a NATIVE_BOOTSTRAP knob which allows people to bootstrap with
an already installed native JDK rather than insisting on the
hardcoded Sun Linux JDK as the bootstrapper.  This also means
that one can remove the Sun Linux JDK after the initial build
if so desired.

This may be superseded by a more general method of specifying
the bootstrap compiler from bsd.java.mk at a later date.

Reviewed by:	sobomax
Approved by:	sobomax
2002-05-03 05:36:11 +00:00

157 lines
4.7 KiB
Makefile

# New ports collection makefile for: jdk13
# Date created: 10 October 2000
# Whom: Maxim Sobolev <sobomax@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= jdk
PORTVERSION= ${JDK_VERSION}p${JDK_PATCHSET_VERSION}
PORTREVISION= 4
CATEGORIES= java devel
MASTER_SITES= # http://www.sun.com/software/java2/download.html
# http://www.eyesbeyond.com/freebsddom/java/jdk13.html
DISTFILES= j2sdk-${JDK_VERSION:S/./_/g}-src${EXTRACT_SUFX} \
bsd-jdk131-patches-${JDK_PATCHSET_VERSION}.tar.gz
MAINTAINER= glewis@FreeBSD.org
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
zip:${PORTSDIR}/archivers/zip \
gtar:${PORTSDIR}/archivers/gtar \
${JDK13DIR}/bin/javac:${PORTSDIR}/java/linux-jdk13 \
${X11BASE}/lib/libMrm.a:${PORTSDIR}/x11-toolkits/open-motif-devel
.if !defined(WITHOUT_PLUGIN)
BUILD_DEPENDS+= msgfmt:${PORTSDIR}/devel/gettext
LIB_DEPENDS= glib12.3:$(PORTSDIR)/devel/glib12 \
gtk12.2:$(PORTSDIR)/x11-toolkits/gtk12 \
nspr4.1:$(PORTSDIR)/devel/nspr
.endif
RUN_DEPENDS= javavm:${PORTSDIR}/java/javavmwrapper \
${X11BASE}/lib/X11/fonts/URW/fonts.dir:${PORTSDIR}/x11-fonts/urwfonts
WRKSRC= ${WRKDIR}/j2sdk1.3.1/make
JDK_VERSION= 1.3.1
JDK_PATCHSET_VERSION= 6
.if defined(NATIVE_BOOTSTRAP)
JDK13DIR?= ${LOCALBASE}/jdk${JDK_VERSION}
.else
JDK13DIR?= ${LOCALBASE}/linux-jdk${JDK_VERSION}
.endif
ONLY_FOR_ARCHS= i386
USE_GMAKE= yes
RESTRICTED= "Redistribution of pre-compiled binaries isn't permitted"
MAKE_ENV= ALT_BOOTDIR="${JDK13DIR}" \
ALT_MOTIF_DIR="${X11BASE}" \
OPENWINHOME="${X11BASE}" \
SYS_CFLAGS="${CFLAGS}" \
CLASSPATH="" \
LD_LIBRARY_PATH="" \
JAVA_COMPILER=""
.if !defined(WITHOUT_PLUGIN)
MAKE_ENV += LIBG_HDRS="${LOCALBASE}/include/glib12" \
GTK_HDRS="${X11BASE}/include/gtk12" \
LIBIDL_HDRS=
.endif
.if !defined(WITHOUT_PLUGIN)
ALL_TARGET= all plugin images
.else
ALL_TARGET= all images
.endif
TAR= gtar # Necessary for proper extraction of sources
BSD_TAR= /usr/bin/tar
PLIST_SUB+= JDK_VERSION=${JDK_VERSION}
JDKIMAGEDIR= ${WRKSRC}/../build/bsd-i386/jdk-image-i386
JDKIMAGEDIR_G= ${WRKSRC}/../build/bsd-i386/jdk-debug-image-i386
.if defined(NODEBUG)
PLIST_SUB+= DEBUG:="@comment "
PKGNAMESUFFIX= -nodebug
.else
PLIST_SUB+= DEBUG:=""
.endif
.if defined(WITH_NATIVE_THREADS)
PLIST_SUB+= NATIVE:=""
MAKE_ARGS+= HPIS="green native"
.else
PLIST_SUB+= NATIVE:="@comment "
.endif
.if defined(WITHOUT_PLUGIN)
PLIST_SUB+= PLUGIN:="@comment "
.else
PLIST_SUB+= PLUGIN:=""
.endif
.if defined(BATCH) || defined(PACKAGE_BUILDING)
IGNORE= "You can not legally distribute pre-compiled binaries"
.endif
.include <bsd.port.pre.mk>
.for file in ${DISTFILES}
.if !exists(${DISTDIR}/${file})
IGNORE=You must manually fetch the source distribution and FreeBSD patches (${DISTFILES}) from http://www.sun.com/software/java2/download.html and http://www.eyesbeyond.com/freebsddom/java/jdk13.html, place it in ${DISTDIR} and then run make again
.endif
.endfor
pre-patch:
@cd ${WRKDIR} && \
${CHMOD} -R u+w * && \
${MKDIR} -p j2sdk1.3.1/ext/plugin/oji-plugin/include/bsd/jdk12 && \
${MKDIR} -p j2sdk1.3.1/ext/plugin/oji-plugin/include/solaris/navig5/private && \
${MKDIR} -p j2sdk1.3.1/src/bsd/doc/man && \
${MKDIR} -p hotspot1.3.1/build/bsd && \
${MKDIR} -p hotspot1.3.1/build/bsd/makefiles && \
${MKDIR} -p hotspot1.3.1/build/bsd/package && \
${MKDIR} -p hotspot1.3.1/src/os/bsd/launcher && \
${MKDIR} -p hotspot1.3.1/src/os/bsd/vm && \
${MKDIR} -p hotspot1.3.1/src/os_cpu/bsd_i486/vm && \
${PATCH} < ${WRKDIR}/jdk131.patches
post-build:
# Prune empty dirs
${FIND} ${JDKIMAGEDIR} -type d | /usr/bin/sort -r | \
${XARGS} ${RMDIR} 2> /dev/null || ${TRUE}
${FIND} ${JDKIMAGEDIR_G} -type d | /usr/bin/sort -r | \
${XARGS} ${RMDIR} 2> /dev/null || ${TRUE}
.if !defined(NODEBUG)
pre-install:
@${ECHO_MSG}
@${ECHO_MSG} "Please use \`make -DNODEBUG' if you don't want to install libraries and binaries"
@${ECHO_MSG} "with debugging support."
@${ECHO_MSG}
.endif
do-install:
${MKDIR} ${PREFIX}/jdk${JDK_VERSION}
cd ${JDKIMAGEDIR} && /usr/bin/find . \
| /usr/bin/cpio -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
.if !defined(NODEBUG)
cd ${JDKIMAGEDIR_G} && /usr/bin/find . \
| /usr/bin/cpio -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
.endif
${MKDIR} ${PREFIX}/jdk${JDK_VERSION}/jre/lib/ext
post-install:
@${LOCALBASE}/bin/registervm "${PREFIX}/jdk${JDK_VERSION}/bin/java # FREEBSD-JDK${JDK_VERSION}"
.if !defined(WITHOUT_PLUGIN)
@${ECHO_MSG}
@${ECHO_MSG} The use the Java plugin with Mozilla you must create a
@${ECHO_MSG} symbolic link from
@${ECHO_MSG}
@${ECHO_MSG} ${PREFIX}/jdk${JDK_VERSION}/jre/plugin/i386/ns600/libjavaplugin_oji.so
@${ECHO_MSG}
@${ECHO_MSG} to your Mozilla plugins directory, which is usually found at
@${ECHO_MSG}
@${ECHO_MSG} ${X11BASE}/lib/mozilla/plugins
@${ECHO_MSG}
.endif
.include <bsd.port.post.mk>