diff options
Diffstat (limited to 'recipes-core/openjdk/patches-openjdk-8/2002-jdk-Allow-using-a-system-installed-libjpeg.patch')
-rw-r--r-- | recipes-core/openjdk/patches-openjdk-8/2002-jdk-Allow-using-a-system-installed-libjpeg.patch | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/recipes-core/openjdk/patches-openjdk-8/2002-jdk-Allow-using-a-system-installed-libjpeg.patch b/recipes-core/openjdk/patches-openjdk-8/2002-jdk-Allow-using-a-system-installed-libjpeg.patch new file mode 100644 index 0000000..4d1df8a --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-8/2002-jdk-Allow-using-a-system-installed-libjpeg.patch | |||
@@ -0,0 +1,216 @@ | |||
1 | From aef9a3f955f6e189b2a24b9f79ccb396275d4fa3 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com> | ||
3 | Date: Tue, 27 Feb 2018 13:36:53 +0000 | ||
4 | Subject: [PATCH 2002/2008] jdk: Allow using a system-installed libjpeg | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Patch stolen (and some typos corrected) from debian patch, | ||
10 | which itself was a backport from: | ||
11 | http://hg.openjdk.java.net/jdk9/client/rev/bfd9a3e1aeb5 | ||
12 | http://hg.openjdk.java.net/jdk9/client/jdk/rev/320743f0b4fc | ||
13 | |||
14 | Issues fixed on top of debian patch: | ||
15 | * imageIOJPEG.c -> imageioJPEG.c | ||
16 | * $(LIBJPEG_LIBS) must be added to LDFLAGS_SUFFIX, not | ||
17 | LDFLAGS as it otherwise doesn't make it into the linker | ||
18 | command line and then fails when using -Wl,-z,now in | ||
19 | LDFLAGS (as done when 'security' is enabled) | ||
20 | |||
21 | Upstream-Status: Backport | ||
22 | Signed-off-by: André Draszik <andre.draszik@jci.com> | ||
23 | Signed-off-by: Richard Leitner <richard.leitner@skidata.com> | ||
24 | --- | ||
25 | make/lib/Awt2dLibraries.gmk | 69 +++++++++++++------ | ||
26 | .../imageio/plugins/jpeg/JPEGImageReader.java | 2 +- | ||
27 | .../imageio/plugins/jpeg/JPEGImageWriter.java | 2 +- | ||
28 | .../sun/awt/image/JPEGImageDecoder.java | 2 +- | ||
29 | .../native/sun/awt/image/jpeg/imageioJPEG.c | 2 +- | ||
30 | 5 files changed, 51 insertions(+), 26 deletions(-) | ||
31 | |||
32 | diff --git a/jdk/make/lib/Awt2dLibraries.gmk b/jdk/make/lib/Awt2dLibraries.gmk | ||
33 | index a06bfd6db..12b9da11d 100644 | ||
34 | --- a/jdk/make/lib/Awt2dLibraries.gmk | ||
35 | +++ b/jdk/make/lib/Awt2dLibraries.gmk | ||
36 | @@ -695,21 +695,24 @@ $(BUILD_LIBLCMS): $(BUILD_LIBAWT) | ||
37 | |||
38 | ########################################################################################## | ||
39 | |||
40 | +BUILD_LIBJAVAJPEG_DIR := $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg | ||
41 | + | ||
42 | ifdef OPENJDK | ||
43 | - BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers | ||
44 | + BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers | ||
45 | else | ||
46 | - BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed | ||
47 | - BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg | ||
48 | - BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC) | ||
49 | + BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed | ||
50 | + BUILD_LIBJAVAJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg | ||
51 | + BUILD_LIBJAVAJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJAVAJPEG_CLOSED_SRC) | ||
52 | endif | ||
53 | |||
54 | -BUILD_LIBJPEG_REORDER := | ||
55 | +BUILD_LIBJAVAJPEG_REORDER := | ||
56 | ifeq ($(OPENJDK_TARGET_OS), solaris) | ||
57 | ifneq ($(OPENJDK_TARGET_CPU), x86_64) | ||
58 | - BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU) | ||
59 | + BUILD_LIBJAVAJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU) | ||
60 | endif | ||
61 | endif | ||
62 | |||
63 | + | ||
64 | # Suppress gcc warnings like "variable might be clobbered by 'longjmp' | ||
65 | # or 'vfork'": this warning indicates that some variable is placed to | ||
66 | # a register by optimized compiler and it's value might be lost on longjmp(). | ||
67 | @@ -721,37 +724,50 @@ endif | ||
68 | # $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \ | ||
69 | # \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) ) | ||
70 | # ifeq ($(CC_43_OR_NEWER), 1) | ||
71 | -# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered | ||
72 | +# BUILD_LIBJAVAJPEG_CFLAGS_linux += -Wno-clobbered | ||
73 | # endif | ||
74 | #endif | ||
75 | |||
76 | -$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \ | ||
77 | - LIBRARY := jpeg, \ | ||
78 | +ifeq ($(USE_EXTERNAL_LIBJPEG), true) | ||
79 | + LIBJPEG_LIBS := -ljpeg | ||
80 | + BUILD_LIBJAVAJPEG_INCLUDE_FILES := \ | ||
81 | + imageioJPEG.c \ | ||
82 | + jpegdecoder.c | ||
83 | + BUILD_LIBJAVAJPEG_HEADERS := | ||
84 | +else | ||
85 | + LIBJPEG_LIBS := | ||
86 | + BUILD_LIBJAVAJPEG_INCLUDE_FILES := | ||
87 | + BUILD_LIBJAVAJPEG_HEADERS := -I$(BUILD_LIBJAVAJPEG_DIR) | ||
88 | +endif | ||
89 | + | ||
90 | +$(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG, \ | ||
91 | + LIBRARY := javajpeg, \ | ||
92 | OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ | ||
93 | - SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \ | ||
94 | - $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \ | ||
95 | + SRC := $(BUILD_LIBJAVAJPEG_CLOSED_SRC) \ | ||
96 | + $(BUILD_LIBJAVAJPEG_DIR), \ | ||
97 | + INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \ | ||
98 | LANG := C, \ | ||
99 | OPTIMIZATION := HIGHEST, \ | ||
100 | CFLAGS := $(CFLAGS_JDKLIB) \ | ||
101 | - $(BUILD_LIBJPEG_CLOSED_INCLUDES) \ | ||
102 | - -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \ | ||
103 | - MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \ | ||
104 | + $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \ | ||
105 | + $(BUILD_LIBJAVAJPEG_HEADERS), \ | ||
106 | + MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \ | ||
107 | LDFLAGS := $(LDFLAGS_JDKLIB) \ | ||
108 | $(call SET_SHARED_LIBRARY_ORIGIN), \ | ||
109 | LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \ | ||
110 | - LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \ | ||
111 | + LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX) $(LIBJPEG_LIBS), \ | ||
112 | VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ | ||
113 | RC_FLAGS := $(RC_FLAGS) \ | ||
114 | - -D "JDK_FNAME=jpeg.dll" \ | ||
115 | - -D "JDK_INTERNAL_NAME=jpeg" \ | ||
116 | + -D "JDK_FNAME=javajpeg.dll" \ | ||
117 | + -D "JDK_INTERNAL_NAME=javajpeg" \ | ||
118 | -D "JDK_FTYPE=0x2L", \ | ||
119 | - REORDER := $(BUILD_LIBJPEG_REORDER), \ | ||
120 | + REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \ | ||
121 | OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \ | ||
122 | DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) | ||
123 | |||
124 | -$(BUILD_LIBJPEG): $(BUILD_LIBJAVA) | ||
125 | +$(BUILD_LIBJAVAJPEG): $(BUILD_LIBJAVA) | ||
126 | |||
127 | -BUILD_LIBRARIES += $(BUILD_LIBJPEG) | ||
128 | +BUILD_LIBRARIES += $(BUILD_LIBJAVAJPEG) | ||
129 | |||
130 | ########################################################################################## | ||
131 | |||
132 | @@ -1142,6 +1158,13 @@ ifndef BUILD_HEADLESS_ONLY | ||
133 | GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib | ||
134 | endif | ||
135 | |||
136 | + ifeq ($(USE_EXTERNAL_LIBJPEG), true) | ||
137 | + LIBJPEG_LDFLAGS := -ljpeg | ||
138 | + else | ||
139 | + LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg | ||
140 | + LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg | ||
141 | + endif | ||
142 | + | ||
143 | ifneq ($(OPENJDK_TARGET_OS), macosx) | ||
144 | LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen | ||
145 | else | ||
146 | @@ -1198,11 +1221,13 @@ ifndef BUILD_HEADLESS_ONLY | ||
147 | EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \ | ||
148 | LANG := C, \ | ||
149 | OPTIMIZATION := LOW, \ | ||
150 | - CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \ | ||
151 | + CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \ | ||
152 | + $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \ | ||
153 | MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \ | ||
154 | LDFLAGS := $(LDFLAGS_JDKLIB) \ | ||
155 | $(call SET_SHARED_LIBRARY_ORIGIN), \ | ||
156 | - LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS), \ | ||
157 | + LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \ | ||
158 | + $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS), \ | ||
159 | LDFLAGS_SUFFIX_solaris := -lc, \ | ||
160 | VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ | ||
161 | RC_FLAGS := $(RC_FLAGS) \ | ||
162 | diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java | ||
163 | index 8f58f5b3e..fcbab8260 100644 | ||
164 | --- a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java | ||
165 | +++ b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java | ||
166 | @@ -89,7 +89,7 @@ public class JPEGImageReader extends ImageReader { | ||
167 | java.security.AccessController.doPrivileged( | ||
168 | new java.security.PrivilegedAction<Void>() { | ||
169 | public Void run() { | ||
170 | - System.loadLibrary("jpeg"); | ||
171 | + System.loadLibrary("javajpeg"); | ||
172 | return null; | ||
173 | } | ||
174 | }); | ||
175 | diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java | ||
176 | index 6a33bd5a1..dca189ed8 100644 | ||
177 | --- a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java | ||
178 | +++ b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java | ||
179 | @@ -177,7 +177,7 @@ public class JPEGImageWriter extends ImageWriter { | ||
180 | java.security.AccessController.doPrivileged( | ||
181 | new java.security.PrivilegedAction<Void>() { | ||
182 | public Void run() { | ||
183 | - System.loadLibrary("jpeg"); | ||
184 | + System.loadLibrary("javajpeg"); | ||
185 | return null; | ||
186 | } | ||
187 | }); | ||
188 | diff --git a/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java b/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java | ||
189 | index 872ffc019..5965a186b 100644 | ||
190 | --- a/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java | ||
191 | +++ b/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java | ||
192 | @@ -56,7 +56,7 @@ public class JPEGImageDecoder extends ImageDecoder { | ||
193 | java.security.AccessController.doPrivileged( | ||
194 | new java.security.PrivilegedAction<Void>() { | ||
195 | public Void run() { | ||
196 | - System.loadLibrary("jpeg"); | ||
197 | + System.loadLibrary("javajpeg"); | ||
198 | return null; | ||
199 | } | ||
200 | }); | ||
201 | diff --git a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c | ||
202 | index 7e1d8c99d..8cac61da3 100644 | ||
203 | --- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c | ||
204 | +++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c | ||
205 | @@ -51,7 +51,7 @@ | ||
206 | |||
207 | /* headers from the JPEG library */ | ||
208 | #include <jpeglib.h> | ||
209 | -#include "jerror.h" | ||
210 | +#include <jerror.h> | ||
211 | |||
212 | #undef MAX | ||
213 | #define MAX(a,b) ((a) > (b) ? (a) : (b)) | ||
214 | -- | ||
215 | 2.24.1 | ||
216 | |||