25 |
25 |
26 $(eval $(call IncludeCustomExtension, lib/Awt2dLibraries-pre.gmk)) |
26 $(eval $(call IncludeCustomExtension, lib/Awt2dLibraries-pre.gmk)) |
27 |
27 |
28 WIN_AWT_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt/awt.lib |
28 WIN_AWT_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt/awt.lib |
29 |
29 |
30 ################################################################################ |
30 LIBAWT_DEFAULT_HEADER_DIRS := \ |
31 |
31 libawt/awt/image \ |
32 BUILD_LIBMLIB_SRC := $(TOPDIR)/src/java.desktop/share/native/libmlib_image \ |
32 libawt/awt/image/cvutils \ |
33 $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib |
33 libawt/java2d \ |
34 BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \ |
34 libawt/java2d/loops \ |
35 $(addprefix -I, $(BUILD_LIBMLIB_SRC)) \ |
35 libawt/java2d/pipe \ |
36 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libmlib_image |
36 # |
37 |
37 |
38 BUILD_LIBMLIB_LDLIBS := |
38 ################################################################################ |
39 BUILD_LIBMLIB_IMAGE_MAPFILE := $(TOPDIR)/make/mapfiles/libmlib_image/mapfile-vers |
39 |
40 |
40 # We must not include java.desktop/unix/native/libmlib_image, which is only |
41 BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH |
41 # for usage by solaris-sparc in libmlib_image_v. |
|
42 BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS := unix |
|
43 |
|
44 BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES -DMLIB_NO_LIBSUNMATH |
42 |
45 |
43 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) |
46 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) |
44 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT |
47 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT |
45 endif |
48 endif |
46 |
49 |
47 ifneq ($(OPENJDK_TARGET_OS), windows) |
|
48 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL) |
|
49 endif |
|
50 |
|
51 $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \ |
50 $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \ |
52 NAME := mlib_image, \ |
51 NAME := mlib_image, \ |
53 SRC := $(BUILD_LIBMLIB_SRC), \ |
52 EXTRA_SRC := common/awt/medialib, \ |
54 EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \ |
53 EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \ |
|
54 EXCLUDE_SRC_PATTERNS := $(BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS), \ |
55 OPTIMIZATION := HIGHEST, \ |
55 OPTIMIZATION := HIGHEST, \ |
56 CFLAGS := $(CFLAGS_JDKLIB) \ |
56 CFLAGS := $(CFLAGS_JDKLIB) \ |
57 $(BUILD_LIBMLIB_CFLAGS), \ |
57 $(BUILD_LIBMLIB_CFLAGS), \ |
58 MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \ |
|
59 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
58 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
60 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
59 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
61 LIBS := $(BUILD_LIBMLIB_LDLIBS) \ |
60 LIBS := $(JDKLIB_LIBS), \ |
62 $(JDKLIB_LIBS), \ |
61 LIBS_unix := $(LIBM) $(LIBDL), \ |
63 )) |
62 )) |
64 |
63 |
65 $(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java) |
64 $(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java) |
66 |
65 |
67 TARGETS += $(BUILD_LIBMLIB_IMAGE) |
66 TARGETS += $(BUILD_LIBMLIB_IMAGE) |
68 |
67 |
69 ################################################################################ |
68 ################################################################################ |
70 |
69 |
71 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc) |
70 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc) |
72 |
71 |
73 LIBMLIB_IMAGE_V_SRC := $(TOPDIR)/src/java.desktop/share/native/libmlib_image \ |
72 # libmlib_image_v is basically built from mlib_image sources, with some additions |
74 $(TOPDIR)/src/java.desktop/unix/native/libmlib_image \ |
73 # and some exclusions. |
75 $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib \ |
74 LIBMLIB_IMAGE_V_SRC := \ |
76 $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib \ |
75 libmlib_image \ |
77 # |
76 common/awt/medialib \ |
78 LIBMLIB_IMAGE_V_CFLAGS := $(TOPDIR)/src/java.desktop/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il \ |
77 # |
79 $(addprefix -I, $(LIBMLIB_IMAGE_V_SRC)) \ |
78 |
80 # |
79 LIBMLIB_IMAGE_V_CFLAGS := -xarch=sparcvis -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \ |
|
80 $(TOPDIR)/src/$(MODULE)/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il |
|
81 |
|
82 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) |
|
83 LIBMLIB_IMAGE_V_CFLAGS += -DMLIB_OS64BIT |
|
84 endif |
81 |
85 |
82 BUILD_LIBMLIB_IMAGE_V_EXFILES := \ |
86 BUILD_LIBMLIB_IMAGE_V_EXFILES := \ |
83 awt_ImagingLib.c \ |
87 awt_ImagingLib.c \ |
84 mlib_c_ImageAffine_BC.c \ |
88 mlib_c_ImageAffine_BC.c \ |
85 mlib_c_ImageAffine_BC_S16.c \ |
89 mlib_c_ImageAffine_BC_S16.c \ |
95 mlib_c_ImageCopy.c \ |
99 mlib_c_ImageCopy.c \ |
96 mlib_c_ImageLookUp.c \ |
100 mlib_c_ImageLookUp.c \ |
97 mlib_c_ImageLookUp_f.c \ |
101 mlib_c_ImageLookUp_f.c \ |
98 # |
102 # |
99 |
103 |
100 LIBMLIB_IMAGE_V_CFLAGS += $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS)) |
|
101 |
|
102 $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE_V, \ |
104 $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE_V, \ |
103 NAME := mlib_image_v, \ |
105 NAME := mlib_image_v, \ |
104 SRC := $(LIBMLIB_IMAGE_V_SRC), \ |
106 SRC := $(LIBMLIB_IMAGE_V_SRC), \ |
105 EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \ |
107 EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \ |
106 OPTIMIZATION := HIGHEST, \ |
108 OPTIMIZATION := HIGHEST, \ |
107 CFLAGS := -xarch=sparcvis \ |
109 CFLAGS := $(CFLAGS_JDKLIB) \ |
108 $(LIBMLIB_IMAGE_V_CFLAGS) \ |
110 $(LIBMLIB_IMAGE_V_CFLAGS), \ |
109 $(CFLAGS_JDKLIB), \ |
|
110 MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \ |
|
111 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
111 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
112 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
112 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
113 LIBS := -ljava -ljvm $(BUILD_LIBMLIB_LDLIBS), \ |
113 LIBS := -ljava -ljvm $(LIBM) $(LIBDL), \ |
114 )) |
114 )) |
115 |
115 |
116 $(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java) |
116 $(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java) |
117 |
117 |
118 TARGETS += $(BUILD_LIBMLIB_IMAGE_V) |
118 TARGETS += $(BUILD_LIBMLIB_IMAGE_V) |
119 |
119 |
120 endif |
120 endif |
121 |
121 |
122 ################################################################################ |
122 ################################################################################ |
123 |
123 |
124 LIBAWT_DIRS := $(TOPDIR)/src/java.desktop/share/native/libawt \ |
124 LIBAWT_EXTRA_SRC := \ |
125 $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \ |
125 common/awt/debug \ |
126 $(TOPDIR)/src/java.desktop/share/native/common/awt/debug \ |
126 $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \ |
127 $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \ |
|
128 # |
127 # |
129 |
128 |
130 ifeq ($(OPENJDK_TARGET_OS), aix) |
129 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc) |
131 LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libawt |
130 LIBAWT_EXTRA_SRC += $(TOPDIR)/src/$(MODULE)/share/native/common/awt/medialib |
132 endif |
131 endif |
133 |
132 |
134 ifeq ($(OPENJDK_TARGET_OS), windows) |
133 ifeq ($(OPENJDK_TARGET_OS), windows) |
135 LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/awt/utility |
134 LIBAWT_EXTRA_SRC += \ |
|
135 $(TOPDIR)/src/$(MODULE)/share/native/common/awt/utility \ |
|
136 $(TOPDIR)/src/$(MODULE)/share/native/common/font \ |
|
137 $(TOPDIR)/src/$(MODULE)/share/native/common/java2d/opengl \ |
|
138 $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt/systemscale \ |
|
139 # |
136 endif |
140 endif |
137 |
141 |
138 ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), ) |
142 ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), ) |
139 LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c |
143 LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c |
140 endif |
144 endif |
141 |
145 |
142 ifeq ($(OPENJDK_TARGET_OS), macosx) |
146 ifeq ($(OPENJDK_TARGET_OS), macosx) |
143 LIBAWT_EXFILES += initIDs.c awt/image/cvutils/img_colors.c |
147 LIBAWT_EXFILES += initIDs.c awt/image/cvutils/img_colors.c |
144 endif |
148 endif |
145 |
149 |
146 LIBAWT_CFLAGS += -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ |
|
147 $(addprefix -I, $(shell find $(LIBAWT_DIRS) -type d)) \ |
|
148 $(LIBJAVA_HEADER_FLAGS) \ |
|
149 $(addprefix -I, $(BUILD_LIBMLIB_IMAGE_SRC)) \ |
|
150 # |
|
151 |
|
152 LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS) |
|
153 |
|
154 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc) |
|
155 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF |
|
156 LIBAWT_CFLAGS += -xarch=sparcvis |
|
157 |
|
158 LIBAWT_CFLAGS += $(TOPDIR)/src/java.desktop/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il |
|
159 LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib |
|
160 LIBAWT_EXFILES += java2d/loops/MapAccelFunc.c |
|
161 |
|
162 ifeq ($(OPENJDK_TARGET_CPU), sparcv9) |
|
163 LIBAWT_ASFLAGS = -P -xarch=v9a |
|
164 else |
|
165 LIBAWT_ASFLAGS = -P -xarch=v8plusa |
|
166 endif |
|
167 else |
|
168 LIBAWT_EXCLUDES += \ |
|
169 $(TOPDIR)/src/java.desktop/unix/native/libawt/awt/medialib \ |
|
170 $(TOPDIR)/src/java.desktop/unix/native/libawt/java2d/loops \ |
|
171 $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib \ |
|
172 # |
|
173 endif |
|
174 |
|
175 ifneq ($(OPENJDK_TARGET_OS), solaris) |
|
176 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH |
|
177 endif |
|
178 |
|
179 ifeq ($(OPENJDK_TARGET_OS), windows) |
150 ifeq ($(OPENJDK_TARGET_OS), windows) |
180 LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/font \ |
|
181 $(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \ |
|
182 $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt/systemscale \ |
|
183 # Why does libawt need java.base headers? |
|
184 LIBAWT_CFLAGS += -I$(TOPDIR)/src/java.desktop/share/native/common/font \ |
|
185 -I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \ |
|
186 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d/opengl \ |
|
187 -I$(TOPDIR)/src/java.desktop/windows/native/include \ |
|
188 -I$(TOPDIR)/src/java.desktop/share/native/include \ |
|
189 -I$(SUPPORT_OUTPUTDIR)/headers/java.base \ |
|
190 # |
|
191 LIBAWT_EXFILES += \ |
151 LIBAWT_EXFILES += \ |
192 java2d/d3d/D3DShaderGen.c \ |
152 java2d/d3d/D3DShaderGen.c \ |
193 awt/image/cvutils/img_colors.c \ |
153 awt/image/cvutils/img_colors.c \ |
194 # |
154 # |
195 |
155 endif |
|
156 |
|
157 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9) |
|
158 LIBAWT_EXFILES += java2d/loops/MapAccelFunc.c |
|
159 else |
|
160 LIBAWT_EXCLUDES += \ |
|
161 $(TOPDIR)/src/$(MODULE)/unix/native/libawt/awt/medialib \ |
|
162 $(TOPDIR)/src/$(MODULE)/unix/native/libawt/java2d/loops \ |
|
163 $(TOPDIR)/src/$(MODULE)/unix/native/common/awt/medialib \ |
|
164 # |
|
165 endif |
|
166 |
|
167 LIBAWT_EXTRA_HEADER_DIRS := \ |
|
168 $(LIBAWT_DEFAULT_HEADER_DIRS) \ |
|
169 $(call GetJavaHeaderDir, java.base) \ |
|
170 libawt/awt/medialib \ |
|
171 libawt/java2d/d3d \ |
|
172 libawt/java2d/opengl \ |
|
173 libawt/java2d/windows \ |
|
174 libawt/windows \ |
|
175 common/awt/medialib \ |
|
176 libmlib_image \ |
|
177 include \ |
|
178 java.base:libjava \ |
|
179 java.base:include \ |
|
180 # |
|
181 |
|
182 LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS) |
|
183 |
|
184 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9) |
|
185 LIBAWT_CFLAGS += -xarch=sparcvis -DMLIB_ADD_SUFF \ |
|
186 $(TOPDIR)/src/$(MODULE)/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il |
|
187 |
|
188 LIBAWT_ASFLAGS = -P -xarch=v9a |
|
189 endif |
|
190 |
|
191 ifneq ($(OPENJDK_TARGET_OS), solaris) |
|
192 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH |
|
193 endif |
|
194 |
|
195 ifeq ($(OPENJDK_TARGET_OS), windows) |
196 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE |
196 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE |
197 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) |
197 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) |
198 LIBAWT_CFLAGS += -DMLIB_OS64BIT |
198 LIBAWT_CFLAGS += -DMLIB_OS64BIT |
199 endif |
199 endif |
200 |
200 |
201 LIBAWT_RC_FLAGS ?= -I $(TOPDIR)/src/java.base/windows/native/launcher/icons |
201 LIBAWT_RC_FLAGS ?= -I $(TOPDIR)/src/java.base/windows/native/launcher/icons |
202 LIBAWT_VERSIONINFO_RESOURCE := $(TOPDIR)/src/java.desktop/windows/native/libawt/windows/awt.rc |
202 LIBAWT_VERSIONINFO_RESOURCE := $(TOPDIR)/src/$(MODULE)/windows/native/libawt/windows/awt.rc |
203 endif |
203 endif |
204 |
204 |
205 LIBAWT_MAPFILE := $(TOPDIR)/make/mapfiles/libawt/mapfile-vers |
|
206 ifeq ($(OPENJDK_TARGET_OS), linux) |
205 ifeq ($(OPENJDK_TARGET_OS), linux) |
207 LIBAWT_MAPFILE := |
206 # FIXME: This is probably not what we want to do, but keep it now for compatibility. |
|
207 LIBAWT_CFLAGS += $(EXPORT_ALL_SYMBOLS) |
208 endif |
208 endif |
209 |
209 |
210 # Turn off all warnings for debug_mem.c This is needed because the specific warning |
210 # Turn off all warnings for debug_mem.c This is needed because the specific warning |
211 # about initializing a declared 'extern' cannot be turned off individually. Only |
211 # about initializing a declared 'extern' cannot be turned off individually. Only |
212 # applies to debug builds. |
212 # applies to debug builds. |
216 LIBAWT_CFLAGS += -fgcse-after-reload |
216 LIBAWT_CFLAGS += -fgcse-after-reload |
217 endif |
217 endif |
218 |
218 |
219 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \ |
219 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \ |
220 NAME := awt, \ |
220 NAME := awt, \ |
221 SRC := $(LIBAWT_DIRS), \ |
221 EXTRA_SRC := $(LIBAWT_EXTRA_SRC), \ |
222 EXCLUDES := $(LIBAWT_EXCLUDES), \ |
222 EXCLUDES := $(LIBAWT_EXCLUDES), \ |
223 EXCLUDE_FILES := $(LIBAWT_EXFILES), \ |
223 EXCLUDE_FILES := $(LIBAWT_EXFILES), \ |
224 OPTIMIZATION := LOW, \ |
224 OPTIMIZATION := LOW, \ |
225 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \ |
225 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \ |
|
226 EXTRA_HEADER_DIRS := $(LIBAWT_EXTRA_HEADER_DIRS), \ |
226 DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \ |
227 DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \ |
227 format-nonliteral parentheses, \ |
228 format-nonliteral parentheses, \ |
228 DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \ |
229 DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \ |
229 DISABLED_WARNINGS_microsoft := 4297 4244 4267 4996, \ |
230 DISABLED_WARNINGS_microsoft := 4244 4267 4996, \ |
230 ASFLAGS := $(LIBAWT_ASFLAGS), \ |
231 ASFLAGS := $(LIBAWT_ASFLAGS), \ |
231 MAPFILE := $(LIBAWT_MAPFILE), \ |
|
232 LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \ |
232 LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \ |
233 LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \ |
233 LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \ |
234 LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll \ |
234 LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll \ |
235 -delayload:shell32.dll -delayload:winmm.dll \ |
235 -delayload:shell32.dll -delayload:winmm.dll \ |
236 -delayload:winspool.drv -delayload:imm32.dll \ |
236 -delayload:winspool.drv -delayload:imm32.dll \ |
266 |
266 |
267 TARGETS += $(BUILD_LIBAWT) |
267 TARGETS += $(BUILD_LIBAWT) |
268 |
268 |
269 ################################################################################ |
269 ################################################################################ |
270 |
270 |
271 ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),) |
271 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx), ) |
272 ifeq ($(ENABLE_HEADLESS_ONLY), false) |
272 ifeq ($(ENABLE_HEADLESS_ONLY), false) |
273 |
273 |
274 LIBAWT_XAWT_DIRS := \ |
274 LIBAWT_XAWT_EXTRA_SRC := \ |
275 $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt_xawt \ |
275 common/awt \ |
276 $(TOPDIR)/src/java.desktop/share/native/common/awt/debug \ |
276 common/java2d \ |
277 $(TOPDIR)/src/java.desktop/share/native/common/awt/utility \ |
277 common/font \ |
278 $(TOPDIR)/src/java.desktop/share/native/common/font \ |
|
279 $(TOPDIR)/src/java.desktop/share/native/common/java2d \ |
|
280 $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d \ |
|
281 $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \ |
|
282 # |
278 # |
283 |
279 |
284 ifneq ($(filter $(OPENJDK_TARGET_OS),linux solaris aix), ) |
|
285 LIBAWT_XAWT_DIRS += $(TOPDIR)/src/java.desktop/unix/native/common/awt/systemscale |
|
286 endif |
|
287 |
|
288 LIBAWT_XAWT_EXCLUDES := medialib |
280 LIBAWT_XAWT_EXCLUDES := medialib |
289 |
281 |
290 LIBAWT_XAWT_CFLAGS := $(addprefix -I, $(shell $(FIND) $(LIBAWT_XAWT_DIRS) -type d)) \ |
282 LIBAWT_XAWT_EXTRA_HEADER_DIRS := \ |
291 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ |
283 $(LIBAWT_DEFAULT_HEADER_DIRS) \ |
292 -I$(TOPDIR)/src/java.desktop/share/native/include \ |
284 libawt_xawt/awt \ |
293 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/include \ |
285 include \ |
294 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/include \ |
286 common/awt/debug \ |
295 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \ |
287 common/awt/systemscale \ |
296 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d \ |
288 common/font \ |
297 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \ |
289 common/java2d/opengl \ |
298 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \ |
290 common/java2d/x11 \ |
299 -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \ |
|
300 -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \ |
|
301 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/font \ |
|
302 $(LIBJAVA_HEADER_FLAGS) |
|
303 # |
291 # |
304 |
292 |
305 LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \ |
293 LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \ |
306 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ |
294 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ |
307 $(FONTCONFIG_CFLAGS) \ |
295 $(FONTCONFIG_CFLAGS) \ |
368 endif |
352 endif |
369 endif |
353 endif |
370 |
354 |
371 ################################################################################ |
355 ################################################################################ |
372 |
356 |
373 LIBLCMS_SRC := $(TOPDIR)/src/java.desktop/share/native/liblcms |
|
374 LIBLCMS_CPPFLAGS += -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ |
|
375 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \ |
|
376 -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \ |
|
377 $(LIBJAVA_HEADER_FLAGS) \ |
|
378 # |
|
379 # The fast floor code loses precision. |
357 # The fast floor code loses precision. |
380 LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR |
358 LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR |
|
359 |
|
360 LCMS_CFLAGS_JDKLIB := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) |
381 |
361 |
382 ifeq ($(USE_EXTERNAL_LCMS), true) |
362 ifeq ($(USE_EXTERNAL_LCMS), true) |
383 # If we're using an external library, we'll just need the wrapper part. |
363 # If we're using an external library, we'll just need the wrapper part. |
384 # By including it explicitly, all other files will be excluded. |
364 # By including it explicitly, all other files will be excluded. |
385 BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c |
365 BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c |
|
366 # If we're using an external library, we can't include our own SRC path |
|
367 # as includes, instead the system headers should be used. |
|
368 LIBLCMS_HEADERS_FROM_SRC := false |
386 else |
369 else |
387 BUILD_LIBLCMS_INCLUDE_FILES := |
370 BUILD_LIBLCMS_INCLUDE_FILES := |
388 # If we're using the bundled library, we'll need to include it in the |
|
389 # include path explicitly. Otherwise the system headers will be used. |
|
390 LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC)) |
|
391 endif |
371 endif |
392 |
372 |
393 $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \ |
373 $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \ |
394 NAME := lcms, \ |
374 NAME := lcms, \ |
395 SRC := $(LIBLCMS_SRC), \ |
|
396 INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \ |
375 INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \ |
397 OPTIMIZATION := HIGHEST, \ |
376 OPTIMIZATION := HIGHEST, \ |
398 CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \ |
377 CFLAGS := $(LCMS_CFLAGS_JDKLIB) \ |
399 $(LIBLCMS_CPPFLAGS) \ |
|
400 $(LCMS_CFLAGS), \ |
378 $(LCMS_CFLAGS), \ |
401 CFLAGS_solaris := -xc99=no_lib, \ |
379 CFLAGS_solaris := -xc99=no_lib, \ |
402 CFLAGS_windows := -DCMS_IS_WINDOWS_, \ |
380 CFLAGS_windows := -DCMS_IS_WINDOWS_, \ |
|
381 EXTRA_HEADER_DIRS := \ |
|
382 common/awt/debug \ |
|
383 libawt/java2d, \ |
|
384 HEADERS_FROM_SRC := $(LIBLCMS_HEADERS_FROM_SRC), \ |
403 DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \ |
385 DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \ |
404 DISABLED_WARNINGS_clang := tautological-compare, \ |
386 DISABLED_WARNINGS_clang := tautological-compare, \ |
405 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \ |
387 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \ |
406 DISABLED_WARNINGS_microsoft := 4819, \ |
388 DISABLED_WARNINGS_microsoft := 4819, \ |
407 MAPFILE := $(TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \ |
|
408 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
389 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
409 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
390 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
410 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ |
391 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ |
411 LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \ |
392 LIBS_unix := -lawt -ljvm -ljava $(LCMS_LIBS) $(LIBM), \ |
412 LIBS_unix := -lawt -ljvm -ljava $(LCMS_LIBS), \ |
|
413 LIBS_linux := $(LIBM), \ |
|
414 LIBS_macosx := $(LIBM), \ |
|
415 LIBS_aix := $(LIBM),\ |
|
416 LIBS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \ |
393 LIBS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \ |
417 )) |
394 )) |
418 |
395 |
419 TARGETS += $(BUILD_LIBLCMS) |
396 TARGETS += $(BUILD_LIBLCMS) |
420 |
397 |
421 $(BUILD_LIBLCMS): $(BUILD_LIBAWT) |
398 $(BUILD_LIBLCMS): $(BUILD_LIBAWT) |
422 |
399 |
423 ################################################################################ |
400 ################################################################################ |
424 |
401 |
425 LIBJAVAJPEG_SRC += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg |
402 # "DISABLED_WARNINGS_gcc := clobbered" rationale: |
426 |
|
427 BUILD_LIBJAVAJPEG_REORDER := |
|
428 ifeq ($(OPENJDK_TARGET_OS), solaris) |
|
429 ifneq ($(OPENJDK_TARGET_CPU), x86_64) |
|
430 BUILD_LIBJAVAJPEG_REORDER := $(TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU) |
|
431 endif |
|
432 endif |
|
433 |
|
434 |
|
435 # Suppress gcc warnings like "variable might be clobbered by 'longjmp' |
403 # Suppress gcc warnings like "variable might be clobbered by 'longjmp' |
436 # or 'vfork'": this warning indicates that some variable is placed to |
404 # or 'vfork'": this warning indicates that some variable is placed to |
437 # a register by optimized compiler and it's value might be lost on longjmp(). |
405 # a register by optimized compiler and it's value might be lost on longjmp(). |
438 # Recommended way to avoid such warning is to declare the variable as |
406 # Recommended way to avoid such warning is to declare the variable as |
439 # volatile to prevent the optimization. However, this approach does not |
407 # volatile to prevent the optimization. However, this approach does not |
440 # work because we have to declare all variables as volatile in result. |
408 # work because we have to declare all variables as volatile in result. |
441 #ifndef CROSS_COMPILE_ARCH |
|
442 # CC_43_OR_NEWER := \ |
|
443 # $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \ |
|
444 # \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) ) |
|
445 # ifeq ($(CC_43_OR_NEWER), 1) |
|
446 # BUILD_LIBJAVAJPEG_CFLAGS_linux += -Wno-clobbered |
|
447 # endif |
|
448 #endif |
|
449 |
409 |
450 ifeq ($(USE_EXTERNAL_LIBJPEG), true) |
410 ifeq ($(USE_EXTERNAL_LIBJPEG), true) |
451 LIBJPEG_LIBS := -ljpeg |
411 LIBJPEG_LIBS := -ljpeg |
452 BUILD_LIBJAVAJPEG_INCLUDE_FILES := \ |
412 BUILD_LIBJAVAJPEG_INCLUDE_FILES := \ |
453 imageioJPEG.c \ |
413 imageioJPEG.c \ |
454 jpegdecoder.c |
414 jpegdecoder.c |
455 BUILD_LIBJAVAJPEG_HEADERS := |
415 # If we're using an external library, we can't include our own SRC path |
|
416 # as includes, instead the system headers should be used. |
|
417 LIBJPEG_HEADERS_FROM_SRC := false |
456 else |
418 else |
457 LIBJPEG_LIBS := |
419 LIBJPEG_LIBS := |
458 BUILD_LIBJAVAJPEG_INCLUDE_FILES := |
420 BUILD_LIBJAVAJPEG_INCLUDE_FILES := |
459 BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC)) |
|
460 endif |
421 endif |
461 |
422 |
462 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \ |
423 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \ |
463 NAME := javajpeg, \ |
424 NAME := javajpeg, \ |
464 SRC := $(LIBJAVAJPEG_SRC), \ |
|
465 INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \ |
425 INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \ |
466 OPTIMIZATION := HIGHEST, \ |
426 OPTIMIZATION := HIGHEST, \ |
467 CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBJAVAJPEG_HEADERS) \ |
427 CFLAGS := $(CFLAGS_JDKLIB), \ |
468 $(LIBJAVA_HEADER_FLAGS) \ |
428 HEADERS_FROM_SRC := $(LIBJPEG_HEADERS_FROM_SRC), \ |
469 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \ |
|
470 DISABLED_WARNINGS_gcc := clobbered implicit-fallthrough shift-negative-value, \ |
429 DISABLED_WARNINGS_gcc := clobbered implicit-fallthrough shift-negative-value, \ |
471 MAPFILE := $(TOPDIR)/make/mapfiles/libjpeg/mapfile-vers, \ |
|
472 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
430 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
473 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
431 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
474 LIBS := $(LIBJPEG_LIBS) $(JDKLIB_LIBS), \ |
432 LIBS := $(LIBJPEG_LIBS) $(JDKLIB_LIBS), \ |
475 LIBS_windows := $(WIN_JAVA_LIB) jvm.lib, \ |
433 LIBS_windows := $(WIN_JAVA_LIB) jvm.lib, \ |
476 REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \ |
|
477 )) |
434 )) |
478 |
435 |
479 $(BUILD_LIBJAVAJPEG): $(call FindLib, java.base, java) |
436 $(BUILD_LIBJAVAJPEG): $(call FindLib, java.base, java) |
480 |
437 |
481 TARGETS += $(BUILD_LIBJAVAJPEG) |
438 TARGETS += $(BUILD_LIBJAVAJPEG) |
483 ################################################################################ |
440 ################################################################################ |
484 |
441 |
485 # Mac and Windows only use the native AWT lib, do not build libawt_headless |
442 # Mac and Windows only use the native AWT lib, do not build libawt_headless |
486 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),) |
443 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),) |
487 |
444 |
488 LIBAWT_HEADLESS_DIRS := $(TOPDIR)/src/java.desktop/unix/native/libawt_headless/awt \ |
445 LIBAWT_HEADLESS_EXTRA_SRC := \ |
489 $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \ |
446 common/font \ |
490 $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d \ |
447 common/java2d \ |
491 $(TOPDIR)/src/java.desktop/share/native/common/java2d \ |
448 $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \ |
492 $(TOPDIR)/src/java.desktop/share/native/common/font \ |
|
493 # |
449 # |
494 |
450 |
495 LIBAWT_HEADLESS_EXCLUDES := medialib |
451 LIBAWT_HEADLESS_EXCLUDES := medialib |
496 LIBAWT_HEADLESS_CFLAGS := -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ |
452 |
497 $(addprefix -I, $(LIBAWT_HEADLESS_DIRS)) \ |
453 LIBAWT_HEADLESS_EXTRA_HEADER_DIRS := \ |
498 -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \ |
454 $(LIBAWT_DEFAULT_HEADER_DIRS) \ |
499 -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \ |
455 common/awt/debug \ |
500 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \ |
456 common/font \ |
501 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d \ |
457 common/java2d/opengl \ |
502 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \ |
458 # |
503 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \ |
459 |
504 -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \ |
460 LIBAWT_HEADLESS_CFLAGS := $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) $(X_CFLAGS) \ |
505 -I$(TOPDIR)/src/java.desktop/share/native/common/font \ |
461 -DHEADLESS=true -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" |
506 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/font \ |
|
507 -I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \ |
|
508 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d/opengl \ |
|
509 $(LIBJAVA_HEADER_FLAGS) \ |
|
510 # |
|
511 |
|
512 LIBAWT_HEADLESS_REORDER := |
|
513 ifeq ($(OPENJDK_TARGET_OS), solaris) |
|
514 ifneq ($(OPENJDK_TARGET_CPU), x86_64) |
|
515 LIBAWT_HEADLESS_REORDER := $(TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU) |
|
516 endif |
|
517 endif |
|
518 |
462 |
519 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \ |
463 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \ |
520 NAME := awt_headless, \ |
464 NAME := awt_headless, \ |
521 SRC := $(LIBAWT_HEADLESS_DIRS), \ |
465 EXTRA_SRC := $(LIBAWT_HEADLESS_EXTRA_SRC), \ |
522 EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \ |
466 EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \ |
523 OPTIMIZATION := LOW, \ |
467 OPTIMIZATION := LOW, \ |
524 CFLAGS := $(CFLAGS_JDKLIB) \ |
468 CFLAGS := $(CFLAGS_JDKLIB) \ |
525 -DHEADLESS=true \ |
|
526 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ |
|
527 $(CUPS_CFLAGS) \ |
|
528 $(FONTCONFIG_CFLAGS) \ |
|
529 $(X_CFLAGS) \ |
|
530 $(LIBAWT_HEADLESS_CFLAGS), \ |
469 $(LIBAWT_HEADLESS_CFLAGS), \ |
|
470 EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \ |
531 DISABLED_WARNINGS_xlc := 1506-356, \ |
471 DISABLED_WARNINGS_xlc := 1506-356, \ |
532 DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \ |
472 DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \ |
533 MAPFILE := $(TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \ |
|
534 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
473 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
535 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
474 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
536 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ |
475 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ |
537 REORDER := $(LIBAWT_HEADLESS_REORDER), \ |
|
538 LIBS_unix := -lawt -ljvm -ljava, \ |
476 LIBS_unix := -lawt -ljvm -ljava, \ |
539 LIBS_linux := $(LIBM) $(LIBDL), \ |
477 LIBS_linux := $(LIBM) $(LIBDL), \ |
540 LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX), \ |
478 LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX), \ |
541 )) |
479 )) |
542 |
480 |
551 endif |
489 endif |
552 |
490 |
553 ################################################################################ |
491 ################################################################################ |
554 |
492 |
555 ifeq ($(FREETYPE_TO_USE), system) |
493 ifeq ($(FREETYPE_TO_USE), system) |
|
494 # For use by libfontmanager: |
556 LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS) |
495 LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS) |
557 LIBFREETYPE_LIBS := $(FREETYPE_LIBS) |
496 LIBFREETYPE_LIBS := $(FREETYPE_LIBS) |
558 else |
497 else |
559 LIBFREETYPE_SRC := $(TOPDIR)/src/java.desktop/share/native/libfreetype |
498 BUILD_LIBFREETYPE_HEADER_DIRS := $(TOPDIR)/src/$(MODULE)/share/native/libfreetype/include |
560 BUILD_LIBFREETYPE_HEADERS := $(addprefix -I, $(LIBFREETYPE_SRC)/include) |
499 BUILD_LIBFREETYPE_CFLAGS := -DFT2_BUILD_LIBRARY $(EXPORT_ALL_SYMBOLS) |
561 LIBFREETYPE_CFLAGS := $(BUILD_LIBFREETYPE_HEADERS) |
500 |
|
501 # For use by libfontmanager: |
|
502 LIBFREETYPE_CFLAGS := -I$(BUILD_LIBFREETYPE_HEADER_DIRS) |
562 ifeq ($(OPENJDK_TARGET_OS), windows) |
503 ifeq ($(OPENJDK_TARGET_OS), windows) |
563 LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib |
504 LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib |
564 else |
505 else |
565 LIBFREETYPE_LIBS := -lfreetype |
506 LIBFREETYPE_LIBS := -lfreetype |
566 endif |
507 endif |
567 |
508 |
568 $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \ |
509 $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \ |
569 NAME := freetype, \ |
510 NAME := freetype, \ |
570 SRC := $(LIBFREETYPE_SRC)/src, \ |
|
571 OPTIMIZATION := HIGHEST, \ |
511 OPTIMIZATION := HIGHEST, \ |
572 CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFREETYPE_HEADERS) \ |
512 CFLAGS := $(CFLAGS_JDKLIB) \ |
573 -DFT2_BUILD_LIBRARY, \ |
513 $(BUILD_LIBFREETYPE_CFLAGS), \ |
|
514 EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \ |
574 DISABLED_WARNINGS_solstudio := \ |
515 DISABLED_WARNINGS_solstudio := \ |
575 E_STATEMENT_NOT_REACHED \ |
516 E_STATEMENT_NOT_REACHED \ |
576 E_END_OF_LOOP_CODE_NOT_REACHED, \ |
517 E_END_OF_LOOP_CODE_NOT_REACHED, \ |
577 DISABLED_WARNINGS_microsoft := 4267 2220 4244, \ |
518 DISABLED_WARNINGS_microsoft := 4267 2220 4244, \ |
578 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
519 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
622 |
550 |
623 LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS) |
551 LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS) |
624 |
552 |
625 #### End harfbuzz configuration |
553 #### End harfbuzz configuration |
626 |
554 |
|
555 LIBFONTMANAGER_EXTRA_HEADER_DIRS := \ |
|
556 libfontmanager/harfbuzz \ |
|
557 libfontmanager/harfbuzz/hb-ucdn \ |
|
558 common/awt \ |
|
559 common/font \ |
|
560 libawt/java2d \ |
|
561 libawt/java2d/pipe \ |
|
562 libawt/java2d/loops \ |
|
563 # |
|
564 |
627 LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS) |
565 LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS) |
628 # This may be overridden in a custom makefile |
|
629 BUILD_LIBFONTMANAGER_MAPFILE ?= $(TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers |
|
630 BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS) |
566 BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS) |
631 |
567 |
632 LIBFONTMANAGER_OPTIMIZATION := HIGH |
568 LIBFONTMANAGER_OPTIMIZATION := HIGH |
633 |
569 |
634 ifeq ($(OPENJDK_TARGET_OS), windows) |
570 ifeq ($(OPENJDK_TARGET_OS), windows) |
635 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ |
571 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ |
636 X11TextRenderer.c |
572 X11TextRenderer.c |
637 LIBFONTMANAGER_OPTIMIZATION := HIGHEST |
573 LIBFONTMANAGER_OPTIMIZATION := HIGHEST |
638 LIBFONTMANAGER_CFLAGS += -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows |
|
639 else ifeq ($(OPENJDK_TARGET_OS), macosx) |
574 else ifeq ($(OPENJDK_TARGET_OS), macosx) |
640 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ |
575 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ |
641 X11TextRenderer.c \ |
576 X11TextRenderer.c \ |
642 fontpath.c \ |
577 fontpath.c \ |
643 lcdglyph.c |
578 lcdglyph.c |
644 else |
579 else |
645 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \ |
580 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \ |
646 lcdglyph.c |
581 lcdglyph.c |
647 endif |
582 endif |
648 |
583 |
649 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS |
584 LIBFONTMANAGER_CFLAGS += $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS |
650 |
585 |
651 ifeq ($(TOOLCHAIN_TYPE), gcc) |
586 ifeq ($(TOOLCHAIN_TYPE), gcc) |
652 # Turn off all warnings for sunFont.c. This is needed because the specific warning |
587 # Turn off all warnings for sunFont.c. This is needed because the specific warning |
653 # about discarding 'const' qualifier cannot be turned off individually. |
588 # about discarding 'const' qualifier cannot be turned off individually. |
654 BUILD_LIBFONTMANAGER_sunFont.c_CFLAGS := -w |
589 BUILD_LIBFONTMANAGER_sunFont.c_CFLAGS := -w |
655 # Turn off aliasing with GCC for ExtensionSubtables.cpp |
590 # Turn off aliasing with GCC for ExtensionSubtables.cpp |
656 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing |
591 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing |
657 endif |
592 endif |
658 |
593 |
|
594 # LDFLAGS clarification: |
|
595 # Filter relevant linker flags disallowing unresolved symbols as we cannot |
|
596 # build-time decide to which library to link against (libawt_headless or |
|
597 # libawt_xawt). See JDK-8196516 for details. |
659 $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \ |
598 $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \ |
660 NAME := fontmanager, \ |
599 NAME := fontmanager, \ |
661 SRC := $(LIBFONTMANAGER_SRC), \ |
|
662 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \ |
600 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \ |
663 AccelGlyphCache.c, \ |
601 AccelGlyphCache.c, \ |
664 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
602 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
665 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \ |
603 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \ |
666 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \ |
604 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \ |
667 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \ |
605 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \ |
668 CFLAGS_windows = -DCC_NOEX, \ |
606 CFLAGS_windows = -DCC_NOEX, \ |
|
607 EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \ |
669 WARNINGS_AS_ERRORS_xlc := false, \ |
608 WARNINGS_AS_ERRORS_xlc := false, \ |
670 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \ |
609 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \ |
671 type-limits missing-field-initializers implicit-fallthrough, \ |
610 type-limits missing-field-initializers implicit-fallthrough, \ |
672 DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \ |
611 DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \ |
673 maybe-uninitialized, \ |
612 maybe-uninitialized, \ |
679 E_ENUM_VAL_OVERFLOWS_INT_MAX, \ |
618 E_ENUM_VAL_OVERFLOWS_INT_MAX, \ |
680 DISABLED_WARNINGS_CXX_solstudio := \ |
619 DISABLED_WARNINGS_CXX_solstudio := \ |
681 truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \ |
620 truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \ |
682 hidevf w_novirtualdescr arrowrtn2, \ |
621 hidevf w_novirtualdescr arrowrtn2, \ |
683 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101, \ |
622 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101, \ |
684 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \ |
623 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \ |
685 LDFLAGS := $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \ |
624 $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \ |
686 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
625 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
687 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ |
626 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ |
688 LDFLAGS_macosx := -undefined dynamic_lookup, \ |
627 LDFLAGS_aix := -Wl$(COMMA)-berok, \ |
689 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \ |
628 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \ |
690 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \ |
629 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \ |
691 LIBS_aix := -lawt_headless,\ |
630 LIBS_macosx := -lawt_lwawt -framework CoreText -framework CoreFoundation \ |
|
631 -framework CoreGraphics, \ |
692 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ |
632 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ |
693 $(WIN_AWT_LIB), \ |
633 $(WIN_AWT_LIB), \ |
694 )) |
634 )) |
695 |
635 |
696 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT) |
636 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT) |
697 |
637 |
698 ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix)) |
638 ifeq ($(OPENJDK_TARGET_OS), macosx) |
699 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_HEADLESS) |
639 $(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt) |
700 endif |
640 endif |
701 |
641 |
702 ifeq ($(FREETYPE_TO_USE), bundled) |
642 ifeq ($(FREETYPE_TO_USE), bundled) |
703 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBFREETYPE) |
643 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBFREETYPE) |
704 endif |
644 endif |
706 TARGETS += $(BUILD_LIBFONTMANAGER) |
646 TARGETS += $(BUILD_LIBFONTMANAGER) |
707 |
647 |
708 ################################################################################ |
648 ################################################################################ |
709 |
649 |
710 ifeq ($(OPENJDK_TARGET_OS), windows) |
650 ifeq ($(OPENJDK_TARGET_OS), windows) |
711 LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjawt |
651 |
712 LIBJAWT_CFLAGS := -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows \ |
652 LIBJAWT_CFLAGS := -EHsc -DUNICODE -D_UNICODE |
713 -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \ |
653 |
714 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \ |
654 LIBJAWT_EXTRA_HEADER_DIRS := \ |
715 -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \ |
655 include \ |
716 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d/windows \ |
656 common/awt/debug \ |
717 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ |
657 libawt/awt/image/cvutils \ |
718 -I$(TOPDIR)/src/java.desktop/windows/native/include \ |
658 libawt/java2d \ |
719 -I$(TOPDIR)/src/java.desktop/share/native/include \ |
659 libawt/java2d/windows \ |
720 $(LIBJAVA_HEADER_FLAGS) \ |
660 libawt/windows \ |
|
661 java.base:include \ |
|
662 java.base:libjava \ |
721 # |
663 # |
722 |
664 |
723 ifeq ($(OPENJDK_TARGET_CPU), x86) |
665 ifeq ($(OPENJDK_TARGET_CPU), x86) |
724 KERNEL32_LIB := kernel32.lib |
666 KERNEL32_LIB := kernel32.lib |
725 endif |
667 endif |
|
668 |
726 $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \ |
669 $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \ |
727 NAME := jawt, \ |
670 NAME := jawt, \ |
728 SRC := $(LIBJAWT_SRC), \ |
|
729 INCLUDE_FILES := $(LIBJAWT_INCLUDE_FILES), \ |
|
730 OPTIMIZATION := LOW, \ |
671 OPTIMIZATION := LOW, \ |
731 CFLAGS := $(CXXFLAGS_JDKLIB) \ |
672 CFLAGS := $(CXXFLAGS_JDKLIB) \ |
732 -EHsc -DUNICODE -D_UNICODE \ |
|
733 $(LIBJAWT_CFLAGS), \ |
673 $(LIBJAWT_CFLAGS), \ |
|
674 EXTRA_HEADER_DIRS := $(LIBJAWT_EXTRA_HEADER_DIRS), \ |
734 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \ |
675 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \ |
735 LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \ |
676 LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \ |
736 )) |
677 )) |
737 |
678 |
738 $(BUILD_LIBJAWT): $(BUILD_LIBAWT) |
679 $(BUILD_LIBJAWT): $(BUILD_LIBAWT) |
739 |
680 |
740 $(eval $(call SetupCopyFiles, COPY_JAWT_LIB, \ |
681 $(eval $(call SetupCopyFiles, COPY_JAWT_LIB, \ |
741 FILES := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX), \ |
682 FILES := $(BUILD_LIBJAWT_IMPORT_LIBRARY), \ |
742 DEST := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \ |
683 DEST := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \ |
743 )) |
684 )) |
744 |
685 |
745 $(COPY_JAWT_LIB): $(BUILD_LIBJAWT) |
686 $(COPY_JAWT_LIB): $(BUILD_LIBJAWT) |
746 |
687 |
747 TARGETS += $(COPY_JAWT_LIB) |
688 TARGETS += $(COPY_JAWT_LIB) |
748 |
689 |
749 else # OPENJDK_TARGET_OS not windows |
690 else # OPENJDK_TARGET_OS not windows |
750 |
691 |
751 ifeq ($(OPENJDK_TARGET_OS), macosx) |
692 ifeq ($(OPENJDK_TARGET_OS), macosx) |
752 LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/macosx/native/libjawt |
693 # libjawt on macosx do not use the unix code |
753 else |
694 LIBJAWT_EXCLUDE_SRC_PATTERNS := unix |
754 LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjawt |
695 endif |
755 endif |
|
756 LIBJAWT_CFLAGS := \ |
|
757 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \ |
|
758 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/include \ |
|
759 -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/include \ |
|
760 -I$(TOPDIR)/src/java.desktop/share/native/include \ |
|
761 $(LIBJAVA_HEADER_FLAGS) \ |
|
762 # |
|
763 |
696 |
764 ifeq ($(OPENJDK_TARGET_OS), macosx) |
697 ifeq ($(OPENJDK_TARGET_OS), macosx) |
765 JAWT_LIBS := -lawt_lwawt |
698 JAWT_LIBS := -lawt_lwawt |
766 else |
699 else |
767 JAWT_LIBS := |
700 JAWT_LIBS := |
770 endif |
703 endif |
771 ifeq ($(ENABLE_HEADLESS_ONLY), false) |
704 ifeq ($(ENABLE_HEADLESS_ONLY), false) |
772 JAWT_LIBS += -lawt_xawt |
705 JAWT_LIBS += -lawt_xawt |
773 else |
706 else |
774 JAWT_LIBS += -lawt_headless |
707 JAWT_LIBS += -lawt_headless |
775 HEADLESS_CFLAG += -DHEADLESS |
708 ifeq ($(OPENJDK_TARGET_OS), linux) |
|
709 JAWT_CFLAGS += -DHEADLESS |
|
710 endif |
776 endif |
711 endif |
777 endif |
712 endif |
778 |
713 |
779 $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \ |
714 $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \ |
780 NAME := jawt, \ |
715 NAME := jawt, \ |
781 SRC := $(LIBJAWT_SRC), \ |
716 EXCLUDE_SRC_PATTERNS := $(LIBJAWT_EXCLUDE_SRC_PATTERNS), \ |
782 INCLUDE_FILES := $(JAWT_FILES), \ |
717 INCLUDE_FILES := $(JAWT_FILES), \ |
783 OPTIMIZATION := LOW, \ |
718 OPTIMIZATION := LOW, \ |
784 CFLAGS := $(CFLAGS_JDKLIB) \ |
719 CFLAGS := $(CFLAGS_JDKLIB) \ |
785 $(LIBJAWT_CFLAGS), \ |
720 $(JAWT_CFLAGS), \ |
786 CFLAGS_linux := $(HEADLESS_CFLAG), \ |
721 EXTRA_HEADER_DIRS := \ |
787 CFLAGS_macosx := $(LIBJAWT_CFLAGS_macosx), \ |
722 include \ |
788 MAPFILE := $(TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \ |
723 common/awt, \ |
789 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
724 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
790 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
725 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
791 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ |
726 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ |
792 LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \ |
727 LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \ |
793 LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \ |
728 LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \ |
811 |
746 |
812 ################################################################################ |
747 ################################################################################ |
813 |
748 |
814 ifeq ($(ENABLE_HEADLESS_ONLY), false) |
749 ifeq ($(ENABLE_HEADLESS_ONLY), false) |
815 |
750 |
816 LIBSPLASHSCREEN_DIRS := \ |
751 LIBSPLASHSCREEN_EXTRA_SRC := \ |
817 $(TOPDIR)/src/java.desktop/share/native/libjavajpeg \ |
752 common/awt/systemscale \ |
818 $(TOPDIR)/src/java.desktop/share/native/libsplashscreen \ |
753 # |
819 # |
754 |
820 |
755 ifeq ($(USE_EXTERNAL_LIBGIF), false) |
821 ifeq ($(USE_EXTERNAL_LIBGIF), true) |
756 LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/giflib |
|
757 else |
|
758 LIBSPLASHSCREEN_EXCLUDES := giflib |
822 GIFLIB_LIBS := -lgif |
759 GIFLIB_LIBS := -lgif |
823 LIBSPLASHSCREEN_EXCLUDES := giflib |
760 endif |
|
761 |
|
762 ifeq ($(USE_EXTERNAL_LIBJPEG), false) |
|
763 # While the following ought to work, it will currently pull in the closed |
|
764 # additions to this library, and this was not done previously in the build. |
|
765 # LIBSPLASHSCREEN_EXTRA_SRC += libjavajpeg |
|
766 LIBSPLASHSCREEN_EXTRA_SRC += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg |
824 else |
767 else |
825 LIBSPLASHSCREEN_CFLAGS += -I$(TOPDIR)/src/java.desktop/share/native/libsplashscreen/giflib |
|
826 endif |
|
827 |
|
828 ifeq ($(USE_EXTERNAL_LIBJPEG), true) |
|
829 LIBJPEG_LIBS := -ljpeg |
768 LIBJPEG_LIBS := -ljpeg |
830 else |
|
831 LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg |
|
832 LIBJPEG_CFLAGS := -I$(TOPDIR)/src/java.desktop/share/native/libjavajpeg |
|
833 endif |
769 endif |
834 |
770 |
835 ifeq ($(USE_EXTERNAL_LIBPNG), false) |
771 ifeq ($(USE_EXTERNAL_LIBPNG), false) |
836 LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libsplashscreen/libpng |
772 LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/libpng |
|
773 |
|
774 ifeq ($(OPENJDK_TARGET_OS), macosx) |
|
775 ifeq ($(USE_EXTERNAL_LIBZ), true) |
|
776 # When building our own libpng and using an external libz, we need to |
|
777 # inject our own libz.h to tweak the exported ZLIB_VERNUM macro. See |
|
778 # $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen/libpng/zlibwrapper/zlib.h |
|
779 # for details. This must be specified with -iquote, not -I to avoid a |
|
780 # circular include. |
|
781 LIBSPLASHSCREEN_CFLAGS += -iquote $(TOPDIR)/src/$(MODULE)/macosx/native/libsplashscreen/libpng/zlibwrapper |
|
782 endif |
|
783 endif |
837 else |
784 else |
838 LIBSPLASHSCREEN_EXCLUDES += libpng |
785 LIBSPLASHSCREEN_EXCLUDES += libpng |
839 endif |
786 endif |
840 |
787 |
841 ifneq ($(OPENJDK_TARGET_OS), macosx) |
788 ifeq ($(USE_EXTERNAL_LIBZ), false) |
842 LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libsplashscreen |
789 LIBSPLASHSCREEN_EXTRA_SRC += java.base:libzip/zlib |
843 else |
790 endif |
844 LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen |
791 |
845 endif |
792 ifeq ($(OPENJDK_TARGET_OS), macosx) |
846 |
793 # libsplashscreen on macosx do not use the unix code |
847 ifneq ($(filter $(OPENJDK_TARGET_OS),linux solaris aix), ) |
794 LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS := unix |
848 LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/unix/native/common/awt/systemscale |
795 endif |
849 endif |
796 |
850 |
797 LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0 |
851 ifeq ($(OPENJDK_TARGET_OS), windows) |
|
852 LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/windows/native/common/awt/systemscale |
|
853 endif |
|
854 LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0 \ |
|
855 $(addprefix -I, $(LIBSPLASHSCREEN_DIRS)) \ |
|
856 $(LIBJAVA_HEADER_FLAGS) \ |
|
857 # |
|
858 |
798 |
859 ifeq ($(OPENJDK_TARGET_OS), macosx) |
799 ifeq ($(OPENJDK_TARGET_OS), macosx) |
860 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX |
800 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX |
861 LIBSPLASHSCREEN_CFLAGS += -I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp |
|
862 |
801 |
863 BUILD_LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0 |
802 BUILD_LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0 |
864 BUILD_LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0 |
803 BUILD_LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0 |
865 BUILD_LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0 |
804 BUILD_LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0 |
866 BUILD_LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0 |
805 BUILD_LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0 |
901 LIBSPLASHSCREEN_LIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib |
826 LIBSPLASHSCREEN_LIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib |
902 else |
827 else |
903 LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl |
828 LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl |
904 endif |
829 endif |
905 |
830 |
|
831 LIBSPLASHSCREEN_HEADER_DIRS += \ |
|
832 libosxapp \ |
|
833 java.base:include \ |
|
834 java.base:libjava \ |
|
835 # |
|
836 |
906 $(eval $(call SetupJdkLibrary, BUILD_LIBSPLASHSCREEN, \ |
837 $(eval $(call SetupJdkLibrary, BUILD_LIBSPLASHSCREEN, \ |
907 NAME := splashscreen, \ |
838 NAME := splashscreen, \ |
908 SRC := $(LIBSPLASHSCREEN_DIRS), \ |
839 EXTRA_SRC := $(LIBSPLASHSCREEN_EXTRA_SRC), \ |
|
840 EXCLUDE_SRC_PATTERNS := $(LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS), \ |
909 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \ |
841 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \ |
910 EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \ |
842 EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \ |
911 OPTIMIZATION := LOW, \ |
843 OPTIMIZATION := LOW, \ |
912 CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \ |
844 CFLAGS := $(CFLAGS_JDKLIB) $(LIBSPLASHSCREEN_CFLAGS) \ |
913 $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \ |
845 $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \ |
|
846 EXTRA_HEADER_DIRS := $(LIBSPLASHSCREEN_HEADER_DIRS), \ |
914 DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \ |
847 DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \ |
915 maybe-uninitialized shift-negative-value implicit-fallthrough, \ |
848 maybe-uninitialized shift-negative-value implicit-fallthrough, \ |
916 DISABLED_WARNINGS_clang := incompatible-pointer-types, \ |
849 DISABLED_WARNINGS_clang := incompatible-pointer-types, \ |
917 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \ |
850 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \ |
918 DISABLED_WARNINGS_microsoft := 4018 4244 4267, \ |
851 DISABLED_WARNINGS_microsoft := 4018 4244 4267, \ |
919 MAPFILE := $(TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \ |
|
920 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
852 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
921 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
853 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
922 LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \ |
854 LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \ |
923 LDFLAGS_windows := -delayload:user32.dll, \ |
855 LDFLAGS_windows := -delayload:user32.dll, \ |
924 LIBS := $(JDKLIB_LIBS) $(LIBSPLASHSCREEN_LIBS) $(LIBZ_LIBS) \ |
856 LIBS := $(JDKLIB_LIBS) $(LIBSPLASHSCREEN_LIBS) $(LIBZ_LIBS) \ |
927 )) |
859 )) |
928 |
860 |
929 TARGETS += $(BUILD_LIBSPLASHSCREEN) |
861 TARGETS += $(BUILD_LIBSPLASHSCREEN) |
930 |
862 |
931 ifeq ($(OPENJDK_TARGET_OS), macosx) |
863 ifeq ($(OPENJDK_TARGET_OS), macosx) |
932 $(BUILD_LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) |
864 $(BUILD_LIBSPLASHSCREEN): $(call FindLib, $(MODULE), osxapp) |
933 endif |
865 endif |
934 |
866 |
935 endif |
867 endif |
936 |
868 |
937 ################################################################################ |
869 ################################################################################ |
938 |
870 |
939 ifeq ($(OPENJDK_TARGET_OS), macosx) |
871 ifeq ($(OPENJDK_TARGET_OS), macosx) |
940 |
872 |
941 LIBAWT_LWAWT_DIRS := \ |
873 LIBAWT_LWAWT_EXTRA_SRC := \ |
942 $(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt \ |
874 $(TOPDIR)/src/$(MODULE)/unix/native/common/awt \ |
943 $(TOPDIR)/src/java.desktop/unix/native/common/awt \ |
875 $(TOPDIR)/src/$(MODULE)/share/native/common/font \ |
944 $(TOPDIR)/src/java.desktop/share/native/common/font \ |
876 $(TOPDIR)/src/$(MODULE)/share/native/common/java2d \ |
945 $(TOPDIR)/src/java.desktop/share/native/common/java2d \ |
877 # |
946 # |
878 |
947 |
879 LIBAWT_LWAWT_EXTRA_HEADER_DIRS := \ |
948 LIBAWT_LWAWT_CFLAGS := \ |
880 $(LIBAWT_DEFAULT_HEADER_DIRS) \ |
949 $(addprefix -I, $(LIBAWT_LWAWT_DIRS)) \ |
881 libawt_lwawt/awt \ |
950 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ |
882 libawt_lwawt/font \ |
951 -I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/awt \ |
883 libawt_lwawt/java2d/opengl \ |
952 -I$(TOPDIR)/src/java.desktop/unix/native/libawt_xawt/awt \ |
884 include \ |
953 -I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/font \ |
885 common/awt/debug \ |
954 -I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl \ |
886 common/java2d/opengl \ |
955 -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \ |
887 libosxapp \ |
956 -I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \ |
888 # |
957 -I$(TOPDIR)/src/java.desktop/macosx/native/include \ |
889 |
958 -I$(TOPDIR)/src/java.desktop/share/native/include \ |
890 LIBAWT_LWAWT_CFLAGS := $(X_CFLAGS) $(X_LIBS) |
959 -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \ |
|
960 -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \ |
|
961 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \ |
|
962 -I$(TOPDIR)/src/java.desktop/unix/native/libawt/java2d \ |
|
963 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \ |
|
964 -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \ |
|
965 -I$(TOPDIR)/src/java.desktop/share/native/libmlib_image/ \ |
|
966 -I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp \ |
|
967 $(LIBJAVA_HEADER_FLAGS) \ |
|
968 # |
|
969 |
891 |
970 LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c |
892 LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c |
971 LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib |
893 LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/$(MODULE)/unix/native/common/awt/medialib |
972 |
894 |
973 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \ |
895 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \ |
974 NAME := awt_lwawt, \ |
896 NAME := awt_lwawt, \ |
975 SRC := $(LIBAWT_LWAWT_DIRS), \ |
897 EXTRA_SRC := $(LIBAWT_LWAWT_EXTRA_SRC), \ |
976 INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \ |
898 INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \ |
977 EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \ |
899 EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \ |
978 EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \ |
900 EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \ |
979 OPTIMIZATION := LOW, \ |
901 OPTIMIZATION := LOW, \ |
980 CFLAGS := $(CFLAGS_JDKLIB) \ |
902 CFLAGS := $(CFLAGS_JDKLIB) \ |
981 $(X_CFLAGS) \ |
|
982 $(X_LIBS) \ |
|
983 $(LIBAWT_LWAWT_CFLAGS), \ |
903 $(LIBAWT_LWAWT_CFLAGS), \ |
|
904 EXTRA_HEADER_DIRS := $(LIBAWT_LWAWT_EXTRA_HEADER_DIRS), \ |
984 DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \ |
905 DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \ |
985 deprecated-declarations objc-method-access bitwise-op-parentheses \ |
906 deprecated-declarations objc-method-access bitwise-op-parentheses \ |
986 incompatible-pointer-types parentheses-equality extra-tokens, \ |
907 incompatible-pointer-types parentheses-equality extra-tokens, \ |
987 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
908 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
988 $(call SET_SHARED_LIBRARY_ORIGIN) \ |
909 $(call SET_SHARED_LIBRARY_ORIGIN) \ |