From bac3b9acee5110390d15d38dacdb1622e31b2238 Mon Sep 17 00:00:00 2001 From: Jens Rehsack Date: Tue, 8 Dec 2015 14:52:51 +0100 Subject: openjdk-8: add recipes for openjdk-8 and openjre-8 This adds openjdk-8 for native and target builds and allows a stripped openjre-8 being built as well instead of trying to cherry-pick jre components from jdk-image. The recipes allow building openjdk-8 with or without: * x11 * cups * alsa/pulseaudio and let packager enable unlimited-crypto, if desired. To support certificate based java libraries, cacerts is created based on ca-certificates from OE-core. Since there can be only one PROVIDES for virtual/java-native and virtual/javac-native, move the provides to openjdk-8-native (I think everyone agrees it's a better choice than ecj-bootstrap-native). Plus: Applying a fix from openjdk-9 repository which fixes build issues using gcc5 Signed-off-by: Jens Rehsack Signed-off-by: Maxin B. John --- ...o-in-favour-of-openembedded-package-split.patch | 120 +++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 recipes-core/openjdk/patches-openjdk-8/openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch (limited to 'recipes-core/openjdk/patches-openjdk-8/openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch') diff --git a/recipes-core/openjdk/patches-openjdk-8/openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch b/recipes-core/openjdk/patches-openjdk-8/openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch new file mode 100644 index 0000000..3a71403 --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-8/openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch @@ -0,0 +1,120 @@ +--- make/common/NativeCompilation.gmk.orig 2015-09-09 17:15:33.869765681 +0200 ++++ make/common/NativeCompilation.gmk 2015-09-09 17:55:26.485774688 +0200 +@@ -434,58 +434,6 @@ + $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/% + $(CP) $$< $$@ + endif +- +- ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X +- ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows +- ifeq ($(OPENJDK_TARGET_OS), solaris) +- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. +- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from +- # empty section headers until a fixed $(OBJCOPY) is available. +- # An empty section header has sh_addr == 0 and sh_size == 0. +- # This problem has only been seen on Solaris X64, but we call this tool +- # on all Solaris builds just in case. +- # +- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. +- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. +- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \ +- $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) +- $(RM) $$@ +- $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< +- $(OBJCOPY) --only-keep-debug $$< $$@ +- $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< +- else # not solaris +- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) +- $(RM) $$@ +- $(OBJCOPY) --only-keep-debug $$< $$@ +- $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< +- endif # Touch to not retrigger rule on rebuild +- $(TOUCH) $$@ +- endif # !windows +- endif # !macosx +- +- ifeq ($(ZIP_DEBUGINFO_FILES), true) +-ifneq ($(OPENJDK_TARGET_OS), macosx) # no MacOS X support yet +- $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz +- +- ifeq ($(OPENJDK_TARGET_OS), windows) +- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET) +- $(CD) $$($1_OBJECT_DIR) \ +- && $(ZIP) -q $$@ $$($1_LIBRARY).map $$($1_LIBRARY).pdb +- else +- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET) \ +- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo +- $(CD) $$($1_OBJECT_DIR) \ +- && $(ZIP) -q $$@ $$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo +- endif +-endif # no MacOS X support yet +- else +- ifeq ($(OPENJDK_TARGET_OS), windows) +- $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \ +- $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb +- else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files +- $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo +- endif +- endif + endif + endif + +@@ -518,58 +466,6 @@ + $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/% + $(CP) $$< $$@ + endif +- +- ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X +- ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows +- ifeq ($(OPENJDK_TARGET_OS), solaris) +- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. +- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from +- # empty section headers until a fixed $(OBJCOPY) is available. +- # An empty section header has sh_addr == 0 and sh_size == 0. +- # This problem has only been seen on Solaris X64, but we call this tool +- # on all Solaris builds just in case. +- # +- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. +- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. +- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \ +- $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK) +- $(RM) $$@ +- $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$< +- $(OBJCOPY) --only-keep-debug $$< $$@ +- $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$< +- else # not solaris +- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) +- $(RM) $$@ +- $(OBJCOPY) --only-keep-debug $$< $$@ +- $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$< +- endif +- $(TOUCH) $$@ +- endif # !windows +- endif # !macosx +- +- ifeq ($(ZIP_DEBUGINFO_FILES), true) +-ifneq ($(OPENJDK_TARGET_OS), macosx) # no MacOS X support yet +- $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).diz +- +- ifeq ($(OPENJDK_TARGET_OS), windows) +- $$($1_OBJECT_DIR)/$$($1_PROGRAM).diz : $$($1_TARGET) +- $(CD) $$($1_OBJECT_DIR) \ +- && $(ZIP) -q $$@ $$($1_PROGRAM).map $$($1_PROGRAM).pdb +- else +- $$($1_OBJECT_DIR)/$$(PROGRAM_PREFIX)$$($1_PROGRAM).diz : $$($1_TARGET) \ +- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo +- $(CD) $$($1_OBJECT_DIR) \ +- && $(ZIP) -q $$@ $$($1_PROGRAM).debuginfo +- endif +-endif # no MacOS X support yet +- else +- ifeq ($(OPENJDK_TARGET_OS), windows) +- $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \ +- $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb +- else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files +- $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo +- endif +- endif + endif + endif + -- cgit v1.2.3-54-g00ecf