aboutsummaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2015-05-19 22:13:51 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2015-05-19 22:13:51 +0000
commit75c6d35b751e3ffd470a051d811541b8fac8df20 (patch)
treef0d9ee04668d909f2e2b940a1914689584772536 /java
parent018bf00de880ddfe83e9dca654377e81ad454e68 (diff)
Notes
Diffstat (limited to 'java')
-rw-r--r--java/openjdk8/Makefile11
-rw-r--r--java/openjdk8/files/patch-bsd44
-rw-r--r--java/openjdk8/files/patch-jdk-make-lib-Awt2dLibraries.gmk2
-rw-r--r--java/openjdk8/files/patch-static-libjli121
4 files changed, 134 insertions, 44 deletions
diff --git a/java/openjdk8/Makefile b/java/openjdk8/Makefile
index 3b0f337f23ed..6a7d07d30090 100644
--- a/java/openjdk8/Makefile
+++ b/java/openjdk8/Makefile
@@ -2,6 +2,7 @@
PORTNAME= openjdk
PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//}
+PORTREVISION= 1
CATEGORIES= java devel
MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${DIST_BUILD_NUMBER}/:jdk \
https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \
@@ -27,6 +28,7 @@ RUN_DEPENDS= javavm:${PORTSDIR}/java/javavmwrapper \
USES= compiler:features dos2unix gmake iconv pkgconfig \
shebangfix
+USE_AUTOTOOLS= autoconf
USE_XORG= x11 xext xi xrender xt xtst
GNU_CONFIGURE= yes
@@ -116,6 +118,7 @@ CONFIGURE_ARGS+= --disable-ccache \
--with-giflib=system \
--with-jobs=${MAKE_JOBS_NUMBER} \
--with-milestone=fcs \
+ --with-package-path=${LOCALBASE} \
--with-zlib=system
CONFIGURE_SCRIPT= ../../configure
CONFIGURE_WRKSRC= ${WRKSRC}/common/autoconf
@@ -182,6 +185,11 @@ BOOTSTRAPJDKDIR?= ${LOCALBASE}/openjdk7
BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/openjdk7
.endif
+# PR193009: work around the rtld bug
+#.if ${OSVERSION} < 1001511
+CONFIGURE_ARGS+= --enable-static-libjli
+#.endif
+
.if ${COMPILER_TYPE} == clang
.if ${COMPILER_VERSION} >= 35
MAKE_ENV+= COMPILER_WARNINGS_FATAL=false
@@ -238,6 +246,9 @@ post-patch:
${WRKSRC}/jdk/make/lib/ServiceabilityLibraries.gmk
@${CHMOD} 755 ${WRKSRC}/configure
+run-autotools-autoconf:
+ @cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} bash autogen.sh
+
post-build:
.if !defined(BUILD_JRE)
@${JDK_IMAGEDIR}/bin/jar cfe \
diff --git a/java/openjdk8/files/patch-bsd b/java/openjdk8/files/patch-bsd
index af135e767947..05ab64896ba1 100644
--- a/java/openjdk8/files/patch-bsd
+++ b/java/openjdk8/files/patch-bsd
@@ -6101,7 +6101,7 @@
# Solaris still uses OPENWIN_LIB ..
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
+ else ifeq ($(OPENJDK_TARGET_OS), bsd)
-+ LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -pthread
++ LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -liconv -pthread
else # .. all other Unixes can use X_LIBS
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
endif
@@ -7514,48 +7514,6 @@
+ return new KQueueSelectorImpl(this);
+ }
+}
---- ./jdk/src/bsd/doc/man/javah.1 Tue Mar 17 00:09:12 2015 +0300
-+++ ./jdk/src/bsd/doc/man/javah.1 Tue May 05 18:07:05 2015 -0700
-@@ -110,7 +110,7 @@
-
- \&.:\fIyour-path\fR
-
--Example: \f3\&.:/home/avh/classes:/usr/local/java/classes\fR
-+Example: \f3\&.:/home/avh/classes:/usr/local/share/java/classes\fR
-
- \fIWindows\fR:
-
---- ./jdk/src/bsd/doc/man/rmic.1 Tue Mar 17 00:09:12 2015 +0300
-+++ ./jdk/src/bsd/doc/man/rmic.1 Tue May 05 18:07:05 2015 -0700
-@@ -93,7 +93,7 @@
- .TP
- -classpath path
- .br
--Specifies the path the \f3rmic\fR command uses to look up classes\&. This option overrides the default or the \f3CLASSPATH\fR environment variable when it is set\&. Directories are separated by colons\&. The general format for path is: \f3\&.:<your_path>\fR, for example: \f3\&.:/usr/local/java/classes\fR\&.
-+Specifies the path the \f3rmic\fR command uses to look up classes\&. This option overrides the default or the \f3CLASSPATH\fR environment variable when it is set\&. Directories are separated by colons\&. The general format for path is: \f3\&.:<your_path>\fR, for example: \f3\&.:/usr/local/share/java/classes\fR\&.
- .TP
- -d \fIdirectory\fR
- .br
-@@ -207,7 +207,7 @@
- .SH ENVIRONMENT\ VARIABLES
- .TP
- CLASSPATH
--Used to provide the system a path to user-defined classes\&. Directories are separated by colons, for example: \f3\&.:/usr/local/java/classes\fR\&.
-+Used to provide the system a path to user-defined classes\&. Directories are separated by colons, for example: \f3\&.:/usr/local/share/java/classes\fR\&.
- .SH SEE\ ALSO
- .TP 0.2i
- \(bu
---- ./jdk/src/bsd/doc/man/rmid.1 Tue Mar 17 00:09:12 2015 +0300
-+++ ./jdk/src/bsd/doc/man/rmid.1 Tue May 05 18:07:05 2015 -0700
-@@ -301,7 +301,7 @@
- .SH ENVIRONMENT\ VARIABLES
- .TP
- CLASSPATH
--Used to provide the system a path to user-defined classes\&. Directories are separated by colons, for example: \f3\&.:/usr/local/java/classes\fR\&.
-+Used to provide the system a path to user-defined classes\&. Directories are separated by colons, for example: \f3\&.:/usr/local/share/java/classes\fR\&.
- .SH SEE\ ALSO
- .TP 0.2i
- \(bu
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/src/bsd/native/sun/nio/ch/KQueueArrayWrapper.c Tue May 05 18:07:05 2015 -0700
@@ -0,0 +1,171 @@
diff --git a/java/openjdk8/files/patch-jdk-make-lib-Awt2dLibraries.gmk b/java/openjdk8/files/patch-jdk-make-lib-Awt2dLibraries.gmk
index 569229ba5a28..679ce886e7ad 100644
--- a/java/openjdk8/files/patch-jdk-make-lib-Awt2dLibraries.gmk
+++ b/java/openjdk8/files/patch-jdk-make-lib-Awt2dLibraries.gmk
@@ -21,7 +21,7 @@
# Solaris still uses OPENWIN_LIB ..
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
else ifeq ($(OPENJDK_TARGET_OS), bsd)
-- LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -pthread
+- LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -liconv -pthread
+ LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) %%ICONV_LDFLAGS%% -pthread
else # .. all other Unixes can use X_LIBS
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
diff --git a/java/openjdk8/files/patch-static-libjli b/java/openjdk8/files/patch-static-libjli
new file mode 100644
index 000000000000..606f0679cc9a
--- /dev/null
+++ b/java/openjdk8/files/patch-static-libjli
@@ -0,0 +1,121 @@
+--- common/autoconf/jdk-options.m4
++++ common/autoconf/jdk-options.m4
+@@ -407,6 +407,20 @@
+
+ ###############################################################################
+ #
++ # Enable or disable static linking of libjli on bsd only
++ #
++ AC_ARG_ENABLE(static-libjli, [AS_HELP_STRING([--enable-static-libjli],
++ [Enable staticly linking libjli on bsd @<:@disabled@:>@])],,
++ [enable_static_libjli=no])
++ if test "x$OPENJDK_TARGET_OS" = "xbsd" && test "x$enable_static_libjli" = "xyes"; then
++ BSD_STATIC_LIBJLI=bsd
++ else
++ BSD_STATIC_LIBJLI=
++ fi
++ AC_SUBST(BSD_STATIC_LIBJLI)
++
++ ###############################################################################
++ #
+ # Enable or disable the elliptic curve crypto implementation
+ #
+ AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
+--- common/autoconf/spec.gmk.in
++++ common/autoconf/spec.gmk.in
+@@ -283,6 +283,9 @@
+ # Enable unlimited crypto policy
+ UNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@
+
++# Build static libjli on bsd
++BSD_STATIC_LIBJLI=@BSD_STATIC_LIBJLI@
++
+ # Necessary additional compiler flags to compile X11
+ X_CFLAGS:=@X_CFLAGS@
+ X_LIBS:=@X_LIBS@
+--- jdk/make/CompileLaunchers.gmk
++++ jdk/make/CompileLaunchers.gmk
+@@ -49,7 +49,7 @@
+ ORIGIN_ROOT := /..
+ endif
+
+-ifneq ($(findstring $(OPENJDK_TARGET_OS), bsd macosx), )
++ifneq ($(findstring $(OPENJDK_TARGET_OS), $(BSD_STATIC_LIBJLI) macosx), )
+ ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN)
+ else
+ ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN,$(ORIGIN_ROOT)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli)
+@@ -90,9 +90,15 @@
+ $1_LDFLAGS := $3
+ $1_LDFLAGS_SUFFIX :=
+ ifeq ($(OPENJDK_TARGET_OS), bsd)
+- $1_LDFLAGS += -Wl,--whole-archive $(JDK_OUTPUTDIR)/objs/libjli_static.a \
+- -Wl,--no-whole-archive
+- $1_LDFLAGS_SUFFIX += -pthread
++ ifeq ($(BSD_STATIC_LIBJLI), bsd)
++ $1_LDFLAGS += -Wl,--whole-archive $(JDK_OUTPUTDIR)/objs/libjli_static.a \
++ -Wl,--no-whole-archive
++ $1_LDFLAGS_SUFFIX += -pthread
++ else
++ $1_LDFLAGS += \
++ $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX))
++ $1_LDFLAGS_SUFFIX += -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli -pthread
++ endif
+ endif
+
+ ifeq ($(OPENJDK_TARGET_OS), macosx)
+@@ -203,7 +209,7 @@
+
+ BUILD_LAUNCHERS += $$(BUILD_LAUNCHER_$1)
+
+- ifneq (,$(filter $(OPENJDK_TARGET_OS), bsd macosx aix))
++ ifneq (,$(filter $(OPENJDK_TARGET_OS), $(BSD_STATIC_LIBJLI) macosx aix))
+ $$(BUILD_LAUNCHER_$1): $(JDK_OUTPUTDIR)/objs/libjli_static.a
+ endif
+
+--- jdk/make/lib/CoreLibraries.gmk
++++ jdk/make/lib/CoreLibraries.gmk
+@@ -466,7 +466,7 @@
+
+ BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
+
+-else ifneq ($(findstring $(OPENJDK_TARGET_OS), bsd macosx), )
++else ifneq ($(findstring $(OPENJDK_TARGET_OS), $(BSD_STATIC_LIBJLI) macosx), )
+ #
+ # On BSD they do partial (incremental) linking of libjli_static.a
+ # code it here...rather than add support to NativeCompilation
+--- jdk/make/lib/ServiceabilityLibraries.gmk
++++ jdk/make/lib/ServiceabilityLibraries.gmk
+@@ -246,6 +246,15 @@
+ LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
+ endif
+
++ifeq ($(OPENJDK_TARGET_OS), bsd)
++ ifeq ($(BSD_STATIC_LIBJLI), bsd)
++ LIBINSTRUMENT_LDFLAGS += -Xlinker --whole-archive $(JDK_OUTPUTDIR)/objs/libjli_static.a \
++ -Xlinker --no-whole-archive
++ else
++ LIBINSTRUMENT_LDFLAGS += $(call SET_SHARED_LIBRARY_ORIGIN,/jli)
++ endif
++endif
++
+ $(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT, \
+ LIBRARY := instrument, \
+ OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
+@@ -263,8 +272,6 @@
+ $(LIBINSTRUMENT_LDFLAGS), \
+ LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
+ LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
+- LDFLAGS_bsd := -Xlinker --whole-archive $(JDK_OUTPUTDIR)/objs/libjli_static.a \
+- -Xlinker --no-whole-archive, \
+ LDFLAGS_macosx := -Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
+ -framework Cocoa -framework Security -framework ApplicationServices, \
+ LDFLAGS_SUFFIX := $(LIBINSTRUMENT_LDFLAGS_SUFFIX), \
+@@ -281,7 +288,7 @@
+ OBJECT_DIR := $(LIBINSTRUMENT_DIR), \
+ DEBUG_SYMBOLS := true))
+
+-ifneq (, $(findstring $(OPENJDK_TARGET_OS), bsd macosx windows aix))
++ifneq (, $(findstring $(OPENJDK_TARGET_OS), $(BSD_STATIC_LIBJLI) macosx windows aix))
+ $(BUILD_LIBINSTRUMENT): $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
+ else
+ $(BUILD_LIBINSTRUMENT): $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)