diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2015-05-19 22:13:51 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2015-05-19 22:13:51 +0000 |
commit | 75c6d35b751e3ffd470a051d811541b8fac8df20 (patch) | |
tree | f0d9ee04668d909f2e2b940a1914689584772536 /java | |
parent | 018bf00de880ddfe83e9dca654377e81ad454e68 (diff) |
Notes
Diffstat (limited to 'java')
-rw-r--r-- | java/openjdk8/Makefile | 11 | ||||
-rw-r--r-- | java/openjdk8/files/patch-bsd | 44 | ||||
-rw-r--r-- | java/openjdk8/files/patch-jdk-make-lib-Awt2dLibraries.gmk | 2 | ||||
-rw-r--r-- | java/openjdk8/files/patch-static-libjli | 121 |
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) |