Back-port some jdk/1.5 changes:

- use system libz instead of internal one. internal libz conflicts with
system libz, for example apps using JNI & libz will fail (OOo).
- enable parallel hotspot compiles on mp systems (one per cpu). no pthreads
involved so its safe to do here.
- socket option corrections. may help Active MQ work.
This commit is contained in:
kurt 2006-10-31 19:48:12 +00:00
parent 916571a268
commit 7df1fb7f89
5 changed files with 147 additions and 9 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.15 2006/08/01 22:55:53 espie Exp $
# $OpenBSD: Makefile,v 1.16 2006/10/31 19:48:12 kurt Exp $
# $FreeBSD: /repoman/r/pcvs/ports/java/jdk14/Makefile,v 1.79 2004/08/18 07:06:03 glewis Exp $
ONLY_FOR_ARCHS= i386
@ -7,8 +7,8 @@ COMMENT= "Java2(TM) Standard Edition Dev Kit v${V}"
COMMENT-jre= "Java2(TM) Standard Edition Runtime Environment v${V}"
V= 1.4.2
DISTNAME= j2sdk-1_4_2
PKGNAME= jdk-${V}p8
PKGNAME-jre= jre-${V}p8
PKGNAME= jdk-${V}p9
PKGNAME-jre= jre-${V}p9
CATEGORIES= devel/jdk java
@ -40,7 +40,7 @@ RUN_DEPENDS= :zip-*:archivers/zip \
:ghostscript-fonts-*:print/ghostscript/gnu-fonts
LIB_DEPENDS= iodbc.>=2::databases/iodbc
USE_MOTIF= openmotif
WANTLIB= X11 Xext Xi Xm Xmu Xp Xt Xtst c m ossaudio pthread
WANTLIB= X11 Xext Xi Xm Xmu Xp Xt Xtst c m ossaudio pthread z
USE_GMAKE= Yes
@ -53,7 +53,8 @@ MAKE_ENV= ALT_MOTIF_DIR="${LOCALBASE}" \
LANG="C" \
CC="${CC}" \
CXX="${CXX}" \
DEFAULT_LD_LIBRARY_PATH="/usr/lib:/usr/X11R6/lib:${LOCALBASE}/lib"
DEFAULT_LD_LIBRARY_PATH="/usr/lib:/usr/X11R6/lib:${LOCALBASE}/lib" \
HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
# Error message for distfile.
FETCH_MANUALLY= "You must manually fetch the distribution files, place"

View File

@ -1,6 +1,6 @@
$OpenBSD: patch-j2se_make_common_Defs-bsd_gmk,v 1.2 2005/04/19 14:35:56 kurt Exp $
--- j2se/make/common/Defs-bsd.gmk.orig Fri Apr 1 17:00:21 2005
+++ j2se/make/common/Defs-bsd.gmk Fri Apr 1 17:02:14 2005
$OpenBSD: patch-j2se_make_common_Defs-bsd_gmk,v 1.3 2006/10/31 19:48:12 kurt Exp $
--- j2se/make/common/Defs-bsd.gmk.orig Tue Aug 8 12:27:37 2006
+++ j2se/make/common/Defs-bsd.gmk Tue Aug 8 15:38:30 2006
@@ -332,6 +332,10 @@ ifeq ($(TRUE_PLATFORM), NetBSD)
EXTRA_LIBS += -pthread
endif
@ -12,7 +12,7 @@ $OpenBSD: patch-j2se_make_common_Defs-bsd_gmk,v 1.2 2005/04/19 14:35:56 kurt Exp
LDFLAGS_COMMON =
ifneq ($(LIBRARY),JdbcOdbc)
@@ -492,6 +496,14 @@ ifdef ALT_MOTIF_DIR
@@ -492,6 +496,18 @@ ifdef ALT_MOTIF_DIR
MOTIF_DIR = $(ALT_MOTIF_DIR)
endif
MOTIF_LIB = $(MOTIF_DIR)/lib
@ -23,6 +23,10 @@ $OpenBSD: patch-j2se_make_common_Defs-bsd_gmk,v 1.2 2005/04/19 14:35:56 kurt Exp
+#
+ifdef ALT_ODBCDIR
+ ODBCDIR = $(ALT_ODBCDIR)
+endif
+
+ifeq ($(TRUE_PLATFORM), OpenBSD)
+ SYSTEM_ZLIB = true
+endif
#

View File

@ -0,0 +1,22 @@
$OpenBSD: patch-j2se_make_java_zip_FILES_c_gmk,v 1.1 2006/10/31 19:48:12 kurt Exp $
--- j2se/make/java/zip/FILES_c.gmk.orig Tue Aug 8 13:11:43 2006
+++ j2se/make/java/zip/FILES_c.gmk Tue Aug 8 13:13:40 2006
@@ -8,6 +8,10 @@ FILES_c = \
$(CTARGDIR)Inflater.c \
$(CTARGDIR)ZipFile.c \
$(CTARGDIR)ZipEntry.c \
+ $(CTARGDIR)zip_util.c
+
+ifneq ($(SYSTEM_ZLIB),true)
+FILES_c += \
$(CTARGDIR)zadler32.c \
$(CTARGDIR)zcrc32.c \
$(CTARGDIR)deflate.c \
@@ -18,5 +22,5 @@ FILES_c = \
$(CTARGDIR)inftrees.c \
$(CTARGDIR)infcodes.c \
$(CTARGDIR)infutil.c \
- $(CTARGDIR)inffast.c \
- $(CTARGDIR)zip_util.c
+ $(CTARGDIR)inffast.c
+endif

View File

@ -0,0 +1,27 @@
$OpenBSD: patch-j2se_make_java_zip_Makefile,v 1.1 2006/10/31 19:48:12 kurt Exp $
--- j2se/make/java/zip/Makefile.orig Tue Aug 8 13:02:06 2006
+++ j2se/make/java/zip/Makefile Tue Aug 8 13:11:02 2006
@@ -58,12 +58,14 @@ else
CPPFLAGS += -UDEBUG
endif
+ifneq ($(SYSTEM_ZLIB),true)
CPPFLAGS += -I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
#
# Add to ambient vpath so we pick up the library files
#
vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/zlib-$(ZLIB_VERSION)
+endif
#
# Has been converted to the JNI: generate JNI-style header files
@@ -73,4 +75,8 @@ JAVAHFLAGS += -jni
#
# Link to JVM library for JVM_Zip* functions
#
+ifeq ($(SYSTEM_ZLIB),true)
+OTHER_LDLIBS = -lz
+else
OTHER_LDLIBS = $(JVMLIB)
+endif

View File

@ -0,0 +1,84 @@
$OpenBSD: patch-j2se_src_solaris_native_java_net_net_util_md_c,v 1.1 2006/10/31 19:48:12 kurt Exp $
--- j2se/src/solaris/native/java/net/net_util_md.c.orig Thu Oct 19 22:52:04 2006
+++ j2se/src/solaris/native/java/net/net_util_md.c Thu Oct 19 22:53:32 2006
@@ -33,6 +33,10 @@
#include <sys/sysctl.h>
#endif
+#ifdef __OpenBSD__
+#include <sys/socketvar.h>
+#endif
+
#ifdef __linux__
#include <arpa/inet.h>
#include <net/route.h>
@@ -886,9 +890,12 @@ NET_SetSockOpt(int fd, int level, int o
#define IPTOS_PREC_MASK 0xe0
#endif
-#if defined(__FreeBSD__)
+#if defined(_ALLBSD_SOURCE)
+#if defined(KIPC_MAXSOCKBUF)
int mib[3];
size_t rlen;
+#endif
+
int *bufsize;
static int maxsockbuf = -1;
@@ -980,7 +987,7 @@ NET_SetSockOpt(int fd, int level, int o
}
#endif
-#if defined(__FreeBSD__)
+#if defined(_ALLBSD_SOURCE)
/*
* SOL_SOCKET/{SO_SNDBUF,SO_RCVBUF} - On FreeBSD need to
* ensure that value is <= kern.ipc.maxsockbuf as otherwise we get
@@ -988,6 +995,7 @@ NET_SetSockOpt(int fd, int level, int o
*/
if (level == SOL_SOCKET) {
if (opt == SO_SNDBUF || opt == SO_RCVBUF) {
+#ifdef KIPC_MAXSOCKBUF
if (maxsockbuf == -1) {
mib[0] = CTL_KERN;
mib[1] = KERN_IPC;
@@ -1003,6 +1011,11 @@ NET_SetSockOpt(int fd, int level, int o
maxsockbuf = (maxsockbuf/5)*4;
#endif
}
+#elif defined(__OpenBSD__)
+ maxsockbuf = SB_MAX;
+#else
+ maxsockbuf = 64 * 1024; /* XXX: NetBSD */
+#endif
bufsize = (int *)arg;
if ((*bufsize > maxsockbuf) && (bufsize != 0)) {
@@ -1012,11 +1025,23 @@ NET_SetSockOpt(int fd, int level, int o
}
/*
- * If SO_REUSEADDR option requested, unconditionally set SO_REUSEPORT.
+ * On Solaris, SO_REUSEADDR will allow multiple datagram
+ * sockets to bind to the same port. The network jck tests
+ * for this "feature", so we need to emulate it by turning on
+ * SO_REUSEPORT as well for that combination.
*/
if (level == SOL_SOCKET && opt == SO_REUSEADDR) {
- addopt = SO_REUSEPORT;
- setsockopt(fd, level, addopt, arg, len);
+ int sotype, arglen;
+
+ arglen = sizeof(sotype);
+ if (getsockopt(fd, SOL_SOCKET, SO_TYPE, (void *)&sotype, &arglen) < 0) {
+ return -1;
+ }
+
+ if (sotype == SOCK_DGRAM) {
+ addopt = SO_REUSEPORT;
+ setsockopt(fd, level, addopt, arg, len);
+ }
}
/*