102 endif |
102 endif |
103 endif |
103 endif |
104 |
104 |
105 $(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \ |
105 $(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \ |
106 NAME := verify, \ |
106 NAME := verify, \ |
107 SRC := $(TOPDIR)/src/java.base/share/native/libverify, \ |
|
108 OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \ |
107 OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \ |
109 CFLAGS := $(CFLAGS_JDKLIB), \ |
108 CFLAGS := $(CFLAGS_JDKLIB), \ |
110 DISABLED_WARNINGS_gcc := implicit-fallthrough, \ |
109 DISABLED_WARNINGS_gcc := implicit-fallthrough, \ |
111 DISABLED_WARNINGS_microsoft := 4244 4267, \ |
110 DISABLED_WARNINGS_microsoft := 4244 4267, \ |
112 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
111 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
117 |
116 |
118 TARGETS += $(BUILD_LIBVERIFY) |
117 TARGETS += $(BUILD_LIBVERIFY) |
119 |
118 |
120 ########################################################################################## |
119 ########################################################################################## |
121 |
120 |
122 # Allow a custom makefile to add extra src dirs |
121 LIBJAVA_CFLAGS := -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"' |
123 LIBJAVA_SRC_DIRS += $(call FindSrcDirsForLib, java.base, java) |
|
124 |
|
125 LIBJAVA_CFLAGS := $(addprefix -I, $(LIBJAVA_SRC_DIRS)) \ |
|
126 -I$(TOPDIR)/src/java.base/share/native/libfdlibm \ |
|
127 -I$(SUPPORT_OUTPUTDIR)/headers/java.base \ |
|
128 -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"' |
|
129 |
122 |
130 ifeq ($(OPENJDK_TARGET_OS), macosx) |
123 ifeq ($(OPENJDK_TARGET_OS), macosx) |
131 BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c |
124 BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c |
132 BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c |
125 BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c |
133 endif |
126 endif |
134 |
127 |
135 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \ |
128 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \ |
136 NAME := java, \ |
129 NAME := java, \ |
137 SRC := $(LIBJAVA_SRC_DIRS), \ |
|
138 OPTIMIZATION := HIGH, \ |
130 OPTIMIZATION := HIGH, \ |
139 CFLAGS := $(CFLAGS_JDKLIB) \ |
131 CFLAGS := $(CFLAGS_JDKLIB) \ |
140 $(LIBJAVA_CFLAGS), \ |
132 $(LIBJAVA_CFLAGS), \ |
141 System.c_CFLAGS := $(VERSION_CFLAGS), \ |
133 System.c_CFLAGS := $(VERSION_CFLAGS), \ |
142 jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \ |
134 jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \ |
|
135 HEADER_FLAGS := \ |
|
136 -I$(TOPDIR)/src/java.base/share/native/libfdlibm \ |
|
137 -I$(SUPPORT_OUTPUTDIR)/headers/java.base, \ |
143 WARNINGS_AS_ERRORS_xlc := false, \ |
138 WARNINGS_AS_ERRORS_xlc := false, \ |
144 DISABLED_WARNINGS_gcc := unused-result, \ |
139 DISABLED_WARNINGS_gcc := unused-result, \ |
145 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \ |
140 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \ |
146 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
141 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
147 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
142 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
178 endif |
173 endif |
179 |
174 |
180 $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \ |
175 $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \ |
181 NAME := zip, \ |
176 NAME := zip, \ |
182 OPTIMIZATION := LOW, \ |
177 OPTIMIZATION := LOW, \ |
183 SRC := $(TOPDIR)/src/java.base/share/native/libzip, \ |
|
184 EXCLUDES := $(LIBZIP_EXCLUDES), \ |
178 EXCLUDES := $(LIBZIP_EXCLUDES), \ |
185 CFLAGS := $(CFLAGS_JDKLIB) \ |
179 CFLAGS := $(CFLAGS_JDKLIB) \ |
186 $(LIBZ_CFLAGS) \ |
180 $(LIBZ_CFLAGS), \ |
|
181 CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \ |
|
182 HEADER_FLAGS := \ |
187 -I$(TOPDIR)/src/java.base/share/native/libjava \ |
183 -I$(TOPDIR)/src/java.base/share/native/libjava \ |
188 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \ |
184 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \ |
189 -I$(SUPPORT_OUTPUTDIR)/headers/java.base, \ |
185 -I$(SUPPORT_OUTPUTDIR)/headers/java.base, \ |
190 CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \ |
|
191 DISABLED_WARNINGS_gcc := implicit-fallthrough, \ |
186 DISABLED_WARNINGS_gcc := implicit-fallthrough, \ |
192 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
187 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
193 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
188 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
194 LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \ |
189 LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \ |
195 LIBS_windows := jvm.lib $(WIN_JAVA_LIB), \ |
190 LIBS_windows := jvm.lib $(WIN_JAVA_LIB), \ |
198 $(BUILD_LIBZIP): $(BUILD_LIBJAVA) |
193 $(BUILD_LIBZIP): $(BUILD_LIBJAVA) |
199 |
194 |
200 TARGETS += $(BUILD_LIBZIP) |
195 TARGETS += $(BUILD_LIBZIP) |
201 |
196 |
202 ########################################################################################## |
197 ########################################################################################## |
203 |
|
204 JIMAGELIB_CPPFLAGS := \ |
|
205 -I$(TOPDIR)/src/java.base/share/native/libjava \ |
|
206 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \ |
|
207 -I$(TOPDIR)/src/java.base/share/native/libjimage \ |
|
208 -I$(SUPPORT_OUTPUTDIR)/headers/java.base \ |
|
209 # |
|
210 |
198 |
211 $(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \ |
199 $(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \ |
212 NAME := jimage, \ |
200 NAME := jimage, \ |
213 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
201 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ |
214 OPTIMIZATION := LOW, \ |
202 OPTIMIZATION := LOW, \ |
215 SRC := $(TOPDIR)/src/java.base/share/native/libjimage \ |
203 CFLAGS := $(CFLAGS_JDKLIB), \ |
216 $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjimage, \ |
204 HEADER_FLAGS := \ |
217 EXCLUDES := $(LIBJIMAGE_EXCLUDES), \ |
205 -I$(TOPDIR)/src/java.base/share/native/libjava \ |
218 CFLAGS := $(CFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \ |
206 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \ |
219 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \ |
207 -I$(SUPPORT_OUTPUTDIR)/headers/java.base, \ |
|
208 CXXFLAGS := $(CXXFLAGS_JDKLIB), \ |
220 DISABLED_WARNINGS_gcc := implicit-fallthrough, \ |
209 DISABLED_WARNINGS_gcc := implicit-fallthrough, \ |
221 CFLAGS_unix := -UDEBUG, \ |
210 CFLAGS_unix := -UDEBUG, \ |
222 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ |
211 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ |
223 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
212 $(call SET_SHARED_LIBRARY_ORIGIN), \ |
224 LIBS_unix := -ljvm -ldl $(LIBCXX), \ |
213 LIBS_unix := -ljvm -ldl $(LIBCXX), \ |
229 $(BUILD_LIBJIMAGE): $(BUILD_LIBJAVA) |
218 $(BUILD_LIBJIMAGE): $(BUILD_LIBJAVA) |
230 |
219 |
231 TARGETS += $(BUILD_LIBJIMAGE) |
220 TARGETS += $(BUILD_LIBJIMAGE) |
232 |
221 |
233 ########################################################################################## |
222 ########################################################################################## |
234 |
|
235 LIBJLI_SRC_DIRS := $(call FindSrcDirsForLib, java.base, jli) |
|
236 |
|
237 LIBJLI_CFLAGS := $(CFLAGS_JDKLIB) |
|
238 |
223 |
239 ifeq ($(call check-jvm-variant, zero), true) |
224 ifeq ($(call check-jvm-variant, zero), true) |
240 ERGO_FAMILY := zero |
225 ERGO_FAMILY := zero |
241 else |
226 else |
242 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86) |
227 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86) |
262 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" |
247 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" |
263 endif |
248 endif |
264 |
249 |
265 ifeq ($(OPENJDK_TARGET_OS), windows) |
250 ifeq ($(OPENJDK_TARGET_OS), windows) |
266 # Staticically link with c runtime on windows. |
251 # Staticically link with c runtime on windows. |
267 LIBJLI_CFLAGS := $(filter-out -MD, $(LIBJLI_CFLAGS)) |
252 LIBJLI_CFLAGS_JDKLIB := $(filter-out -MD, $(CFLAGS_JDKLIB)) |
268 LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE) |
253 LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE) |
269 # Supply the name of the C runtime lib. |
254 # Supply the name of the C runtime lib. |
270 LIBJLI_CFLAGS += -DMSVCR_DLL_NAME='"$(notdir $(MSVCR_DLL))"' |
255 LIBJLI_CFLAGS += -DMSVCR_DLL_NAME='"$(notdir $(MSVCR_DLL))"' |
271 ifneq ($(MSVCP_DLL), ) |
256 ifneq ($(MSVCP_DLL), ) |
272 LIBJLI_CFLAGS += -DMSVCP_DLL_NAME='"$(notdir $(MSVCP_DLL))"' |
257 LIBJLI_CFLAGS += -DMSVCP_DLL_NAME='"$(notdir $(MSVCP_DLL))"' |
273 endif |
258 endif |
274 else |
259 else |
|
260 LIBJLI_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB) |
275 LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)/jli |
261 LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)/jli |
276 endif |
262 endif |
277 |
|
278 LIBJLI_CFLAGS += $(addprefix -I, $(LIBJLI_SRC_DIRS)) |
|
279 |
263 |
280 LIBJLI_CFLAGS += $(LIBZ_CFLAGS) |
264 LIBJLI_CFLAGS += $(LIBZ_CFLAGS) |
281 |
265 |
282 ifneq ($(USE_EXTERNAL_LIBZ), true) |
266 ifneq ($(USE_EXTERNAL_LIBZ), true) |
283 LIBJLI_EXTRA_FILES += \ |
267 LIBJLI_EXTRA_FILES += \ |
292 endif |
276 endif |
293 |
277 |
294 $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \ |
278 $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \ |
295 NAME := jli, \ |
279 NAME := jli, \ |
296 OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \ |
280 OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \ |
297 SRC := $(LIBJLI_SRC_DIRS), \ |
|
298 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ |
281 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ |
299 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ |
282 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ |
300 OPTIMIZATION := HIGH, \ |
283 OPTIMIZATION := HIGH, \ |
301 CFLAGS := $(LIBJLI_CFLAGS), \ |
284 CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \ |
302 DISABLED_WARNINGS_gcc := maybe-uninitialized, \ |
285 DISABLED_WARNINGS_gcc := maybe-uninitialized, \ |
303 DISABLED_WARNINGS_solstudio := \ |
286 DISABLED_WARNINGS_solstudio := \ |
304 E_ASM_DISABLES_OPTIMIZATION \ |
287 E_ASM_DISABLES_OPTIMIZATION \ |
305 E_STATEMENT_NOT_REACHED, \ |
288 E_STATEMENT_NOT_REACHED, \ |
306 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
289 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
314 LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \ |
297 LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \ |
315 LIBS_windows := advapi32.lib comctl32.lib user32.lib, \ |
298 LIBS_windows := advapi32.lib comctl32.lib user32.lib, \ |
316 )) |
299 )) |
317 |
300 |
318 TARGETS += $(BUILD_LIBJLI) |
301 TARGETS += $(BUILD_LIBJLI) |
|
302 |
|
303 LIBJLI_SRC_DIRS := $(call FindSrcDirsForLib, java.base, jli) |
319 |
304 |
320 # On windows, the static library has the same suffix as the import library created by |
305 # On windows, the static library has the same suffix as the import library created by |
321 # with the shared library, so the static library is given a different name. No harm |
306 # with the shared library, so the static library is given a different name. No harm |
322 # in doing it for all platform to reduce complexity. |
307 # in doing it for all platform to reduce complexity. |
323 ifeq ($(OPENJDK_TARGET_OS), windows) |
308 ifeq ($(OPENJDK_TARGET_OS), windows) |
327 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \ |
312 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \ |
328 SRC := $(LIBJLI_SRC_DIRS), \ |
313 SRC := $(LIBJLI_SRC_DIRS), \ |
329 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ |
314 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ |
330 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ |
315 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ |
331 OPTIMIZATION := HIGH, \ |
316 OPTIMIZATION := HIGH, \ |
332 CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \ |
317 CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \ |
333 ARFLAGS := $(ARFLAGS), \ |
318 ARFLAGS := $(ARFLAGS), \ |
334 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \ |
319 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \ |
335 )) |
320 )) |
336 |
321 |
337 TARGETS += $(BUILD_LIBJLI_STATIC) |
322 TARGETS += $(BUILD_LIBJLI_STATIC) |
346 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \ |
331 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \ |
347 SRC := $(LIBJLI_SRC_DIRS), \ |
332 SRC := $(LIBJLI_SRC_DIRS), \ |
348 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ |
333 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ |
349 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ |
334 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ |
350 OPTIMIZATION := HIGH, \ |
335 OPTIMIZATION := HIGH, \ |
351 CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \ |
336 CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \ |
352 LDFLAGS := -nostdlib $(ARFLAGS), \ |
337 LDFLAGS := -nostdlib $(ARFLAGS), \ |
353 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \ |
338 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \ |
354 )) |
339 )) |
355 |
340 |
356 ifeq ($(STATIC_BUILD), true) |
341 ifeq ($(STATIC_BUILD), true) |
370 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \ |
355 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \ |
371 SRC := $(LIBJLI_SRC_DIRS), \ |
356 SRC := $(LIBJLI_SRC_DIRS), \ |
372 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ |
357 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ |
373 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ |
358 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ |
374 OPTIMIZATION := HIGH, \ |
359 OPTIMIZATION := HIGH, \ |
375 CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \ |
360 CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \ |
376 ARFLAGS := $(ARFLAGS), \ |
361 ARFLAGS := $(ARFLAGS), \ |
377 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static)) |
362 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static)) |
378 |
363 |
379 TARGETS += $(BUILD_LIBJLI_STATIC) |
364 TARGETS += $(BUILD_LIBJLI_STATIC) |
380 |
365 |