]> git.pld-linux.org Git - packages/openjdk8.git/blame - system-libjpeg.patch
up to 1.8.0.302
[packages/openjdk8.git] / system-libjpeg.patch
CommitLineData
0fa4da98
JP
1# DP: S8043805: Allow using a system-installed libjpeg
2# DP: http://hg.openjdk.java.net/jdk9/client/rev/bfd9a3e1aeb5
3# DP: http://hg.openjdk.java.net/jdk9/client/jdk/rev/320743f0b4fc
4
5--- a/common/autoconf/libraries.m4
6+++ b/common/autoconf/libraries.m4
7@@ -774,11 +774,36 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
991454fa
JK
8 # Check for the jpeg library
9 #
10
11- USE_EXTERNAL_LIBJPEG=true
12- AC_CHECK_LIB(jpeg, main, [],
13- [ USE_EXTERNAL_LIBJPEG=false
14- AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source])
15- ])
16+ AC_ARG_WITH(libjpeg, [AS_HELP_STRING([--with-libjpeg],
17+ [use libjpeg from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
18+
19+ AC_MSG_CHECKING([for which libjpeg to use])
20+
21+ # default is bundled
22+ DEFAULT_LIBJPEG=bundled
23+
24+ #
25+ # if user didn't specify, use DEFAULT_LIBJPEG
26+ #
27+ if test "x${with_libjpeg}" = "x"; then
28+ with_libjpeg=${DEFAULT_LIBJPEG}
29+ fi
30+
31+ AC_MSG_RESULT(${with_libjpeg})
32+
33+ if test "x${with_libjpeg}" = "xbundled"; then
34+ USE_EXTERNAL_LIBJPEG=false
35+ elif test "x${with_libjpeg}" = "xsystem"; then
36+ AC_CHECK_HEADER(jpeglib.h, [],
37+ [ AC_MSG_ERROR([--with-libjpeg=system specified, but jpeglib.h not found!])])
38+ AC_CHECK_LIB(jpeg, jpeg_CreateDecompress, [],
39+ [ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg found])])
40+
41+ USE_EXTERNAL_LIBJPEG=true
42+ else
43+ AC_MSG_ERROR([Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' or 'bundled'])
44+ fi
45+
46 AC_SUBST(USE_EXTERNAL_LIBJPEG)
47
48 ###############################################################################
0fa4da98
JP
49--- a/jdk/make/lib/Awt2dLibraries.gmk
50+++ b/jdk/make/lib/Awt2dLibraries.gmk
51@@ -702,21 +702,24 @@ $(BUILD_LIBLCMS): $(BUILD_LIBAWT)
991454fa
JK
52
53 ##########################################################################################
54
55+BUILD_LIBJAVAJPEG_DIR := $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
56+
57 ifdef OPENJDK
58- BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
59+ BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
60 else
61- BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
62- BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
63- BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
64+ BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
65+ BUILD_LIBJAVAJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
66+ BUILD_LIBJAVAJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJAVAJPEG_CLOSED_SRC)
67 endif
68
69-BUILD_LIBJPEG_REORDER :=
70+BUILD_LIBJAVAJPEG_REORDER :=
71 ifeq ($(OPENJDK_TARGET_OS), solaris)
72 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
73- BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
74+ BUILD_LIBJAVAJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
75 endif
76 endif
77
78+
79 # Suppress gcc warnings like "variable might be clobbered by 'longjmp'
80 # or 'vfork'": this warning indicates that some variable is placed to
81 # a register by optimized compiler and it's value might be lost on longjmp().
0fa4da98 82@@ -728,37 +731,50 @@ endif
991454fa
JK
83 # $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
84 # \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
85 # ifeq ($(CC_43_OR_NEWER), 1)
86-# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
87+# BUILD_LIBJAVAJPEG_CFLAGS_linux += -Wno-clobbered
88 # endif
89 #endif
90
91-$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \
92- LIBRARY := jpeg, \
93+ifeq ($(USE_EXTERNAL_LIBJPEG), true)
94+ LIBJPEG_LIBS := -ljpeg
95+ BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
96+ imageIOJPEG.c \
97+ jpegdecoder.c
98+ BUILD_LIBJAVAJPEG_HEADERS :=
99+else
100+ LIBJPEG_LIBS :=
101+ BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
102+ BUILD_LIBJAVAJPEG_HEADERS := -I$(BUILD_LIBJAVAJPEG_DIR)
103+endif
104+
105+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG, \
106+ LIBRARY := javajpeg, \
107 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
108- SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \
109- $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
110+ SRC := $(BUILD_LIBJAVAJPEG_CLOSED_SRC) \
111+ $(BUILD_LIBJAVAJPEG_DIR), \
112+ INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
113 LANG := C, \
114 OPTIMIZATION := HIGHEST, \
115 CFLAGS := $(CFLAGS_JDKLIB) \
116- $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
117- -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
118- MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
0fa4da98 119- LDFLAGS := $(LDFLAGS_JDKLIB) \
991454fa
JK
120+ $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
121+ $(BUILD_LIBJAVAJPEG_HEADERS), \
122+ MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
0fa4da98 123+ LDFLAGS := $(LDFLAGS_JDKLIB) $(LIBJPEG_LIBS) \
991454fa
JK
124 $(call SET_SHARED_LIBRARY_ORIGIN), \
125 LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
0fa4da98 126 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
991454fa
JK
127 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
128 RC_FLAGS := $(RC_FLAGS) \
129- -D "JDK_FNAME=jpeg.dll" \
130- -D "JDK_INTERNAL_NAME=jpeg" \
131+ -D "JDK_FNAME=javajpeg.dll" \
132+ -D "JDK_INTERNAL_NAME=javajpeg" \
133 -D "JDK_FTYPE=0x2L", \
134- REORDER := $(BUILD_LIBJPEG_REORDER), \
135+ REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
136 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \
137 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
138
139-$(BUILD_LIBJPEG): $(BUILD_LIBJAVA)
140+$(BUILD_LIBJAVAJPEG): $(BUILD_LIBJAVA)
141
142-BUILD_LIBRARIES += $(BUILD_LIBJPEG)
143+BUILD_LIBRARIES += $(BUILD_LIBJAVAJPEG)
144
145 ##########################################################################################
146
0fa4da98 147@@ -1149,6 +1165,13 @@ ifndef BUILD_HEADLESS_ONLY
991454fa
JK
148 GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
149 endif
150
151+ ifeq ($(USE_EXTERNAL_LIBJPEG), true)
152+ LIBJPEG_LDFLAGS := -ljpeg
153+ else
154+ LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
155+ LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
156+ endif
157+
158 ifneq ($(OPENJDK_TARGET_OS), macosx)
159 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
160 else
0fa4da98 161@@ -1205,11 +1228,13 @@ ifndef BUILD_HEADLESS_ONLY
991454fa
JK
162 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
163 LANG := C, \
164 OPTIMIZATION := LOW, \
165- CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \
166+ CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
167+ $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \
168 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
169 LDFLAGS := $(LDFLAGS_JDKLIB) \
170 $(call SET_SHARED_LIBRARY_ORIGIN), \
171- LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS), \
172+ LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
173+ $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS), \
174 LDFLAGS_SUFFIX_solaris := -lc, \
175 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
176 RC_FLAGS := $(RC_FLAGS) \
0fa4da98
JP
177--- a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
178+++ b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
179@@ -89,7 +89,7 @@ public class JPEGImageReader extends Ima
991454fa
JK
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 });
0fa4da98
JP
188--- a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
189+++ b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
190@@ -177,7 +177,7 @@ public class JPEGImageWriter extends Ima
991454fa
JK
191 java.security.AccessController.doPrivileged(
192 new java.security.PrivilegedAction<Void>() {
193 public Void run() {
194- System.loadLibrary("jpeg");
195+ System.loadLibrary("javajpeg");
196 return null;
197 }
198 });
0fa4da98
JP
199--- a/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
200+++ b/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
201@@ -56,7 +56,7 @@ public class JPEGImageDecoder extends Im
991454fa
JK
202 java.security.AccessController.doPrivileged(
203 new java.security.PrivilegedAction<Void>() {
204 public Void run() {
205- System.loadLibrary("jpeg");
206+ System.loadLibrary("javajpeg");
207 return null;
208 }
209 });
0fa4da98
JP
210--- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
211+++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
991454fa
JK
212@@ -51,7 +51,7 @@
213
214 /* headers from the JPEG library */
215 #include <jpeglib.h>
216-#include "jerror.h"
217+#include <jerror.h>
218
219 #undef MAX
220 #define MAX(a,b) ((a) > (b) ? (a) : (b))
This page took 0.07606 seconds and 4 git commands to generate.