78
79 # On macosx the old build does partial (incremental) linking of fdlibm instead of
80 # a plain static library.
81 $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM_MAC, \
82 NAME := fdlibm, \
83 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
84 SRC := $(LIBFDLIBM_SRC), \
85 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
86 LDFLAGS := -nostdlib $(ARFLAGS), \
87 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
88 ))
89
90 BUILD_LIBFDLIBM := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
91 $(BUILD_LIBFDLIBM): $(BUILD_LIBFDLIBM_MAC)
92 $(call install-file)
93
94 endif
95
96 ##########################################################################################
97
98 ifeq ($(OPENJDK_TARGET_OS), solaris)
99 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
100 BUILD_LIBVERIFY_REORDER := $(TOPDIR)/make/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU)
101 endif
102 endif
103
104 LIBVERIFY_OPTIMIZATION := HIGH
105 ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
106 ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
107 LIBVERIFY_OPTIMIZATION := LOW
108 endif
109 endif
110
111 $(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \
112 NAME := verify, \
113 SRC := $(TOPDIR)/src/java.base/share/native/libverify, \
114 OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
115 CFLAGS := $(CFLAGS_JDKLIB), \
116 DISABLED_WARNINGS_gcc := implicit-fallthrough, \
117 DISABLED_WARNINGS_microsoft := 4244 4267, \
118 MAPFILE := $(TOPDIR)/make/mapfiles/libverify/mapfile-vers, \
119 LDFLAGS := $(LDFLAGS_JDKLIB) \
120 $(call SET_SHARED_LIBRARY_ORIGIN), \
121 LIBS_unix := -ljvm, \
122 LIBS_windows := jvm.lib, \
123 REORDER := $(BUILD_LIBVERIFY_REORDER), \
124 ))
125
126 TARGETS += $(BUILD_LIBVERIFY)
127
128 ##########################################################################################
129
130 # Allow a custom makefile to add extra src dirs
131 LIBJAVA_SRC_DIRS += $(call FindSrcDirsForLib, java.base, java)
132
133 LIBJAVA_CFLAGS := $(addprefix -I, $(LIBJAVA_SRC_DIRS)) \
134 -I$(TOPDIR)/src/java.base/share/native/libfdlibm \
135 -I$(SUPPORT_OUTPUTDIR)/headers/java.base \
136 -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
137
138 # Make it possible to override this variable
139 LIBJAVA_MAPFILE ?= $(TOPDIR)/make/mapfiles/libjava/mapfile-vers
140
141 ifeq ($(OPENJDK_TARGET_OS), macosx)
142 BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
143 BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c
144 endif
145
146 ifeq ($(OPENJDK_TARGET_OS), solaris)
147 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
148 LIBJAVA_REORDER := $(TOPDIR)/make/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
149 endif
150 endif
151
152 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
153 NAME := java, \
154 SRC := $(LIBJAVA_SRC_DIRS), \
155 OPTIMIZATION := HIGH, \
156 CFLAGS := $(CFLAGS_JDKLIB) \
157 $(LIBJAVA_CFLAGS), \
158 System.c_CFLAGS := $(VERSION_CFLAGS), \
159 jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \
160 WARNINGS_AS_ERRORS_xlc := false, \
161 DISABLED_WARNINGS_gcc := unused-result, \
162 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
163 MAPFILE := $(LIBJAVA_MAPFILE), \
164 LDFLAGS := $(LDFLAGS_JDKLIB) \
165 $(call SET_SHARED_LIBRARY_ORIGIN), \
166 LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \
167 LDFLAGS_windows := -export:winFileHandleOpen -export:handleLseek \
168 -export:getLastErrorString \
169 -export:getErrorString -delayload:shell32.dll, \
170 LIBS_unix := -ljvm -lverify, \
171 LIBS_linux := $(LIBDL) $(BUILD_LIBFDLIBM), \
172 LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM), \
173 LIBS_aix := $(LIBDL) $(BUILD_LIBFDLIBM) $(LIBM),\
174 LIBS_macosx := -lfdlibm \
175 -framework CoreFoundation \
176 -framework Foundation \
177 -framework Security -framework SystemConfiguration, \
178 LIBS_windows := jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
179 shell32.lib delayimp.lib \
180 advapi32.lib version.lib, \
181 REORDER := $(LIBJAVA_REORDER), \
182 ))
183
184 TARGETS += $(BUILD_LIBJAVA)
185
186 $(BUILD_LIBJAVA): $(BUILD_LIBVERIFY)
187
188 $(BUILD_LIBJAVA): $(BUILD_LIBFDLIBM)
189
190 ##########################################################################################
191
192 BUILD_LIBZIP_EXCLUDES :=
193 ifeq ($(USE_EXTERNAL_LIBZ), true)
194 LIBZIP_EXCLUDES += zlib
195 endif
196
197 BUILD_LIBZIP_REORDER :=
198 ifeq ($(OPENJDK_TARGET_OS), solaris)
199 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
200 BUILD_LIBZIP_REORDER := $(TOPDIR)/make/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
201 endif
202 endif
203
204 ifeq ($(LIBZIP_CAN_USE_MMAP), true)
205 BUILD_LIBZIP_MMAP := -DUSE_MMAP
206 endif
207
208 $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
209 NAME := zip, \
210 OPTIMIZATION := LOW, \
211 SRC := $(TOPDIR)/src/java.base/share/native/libzip, \
212 EXCLUDES := $(LIBZIP_EXCLUDES), \
213 CFLAGS := $(CFLAGS_JDKLIB) \
214 $(LIBZ_CFLAGS) \
215 -I$(TOPDIR)/src/java.base/share/native/libjava \
216 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
217 -I$(SUPPORT_OUTPUTDIR)/headers/java.base, \
218 CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
219 DISABLED_WARNINGS_gcc := implicit-fallthrough, \
220 MAPFILE := $(TOPDIR)/make/mapfiles/libzip/mapfile-vers, \
221 REORDER := $(BUILD_LIBZIP_REORDER), \
222 LDFLAGS := $(LDFLAGS_JDKLIB) \
223 $(call SET_SHARED_LIBRARY_ORIGIN), \
224 LDFLAGS_windows := -export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
225 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry \
226 -export:ZIP_InflateFully -export:ZIP_CRC32 -export:ZIP_FreeEntry, \
227 LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \
228 LIBS_windows := jvm.lib $(WIN_JAVA_LIB), \
229 ))
230
231 $(BUILD_LIBZIP): $(BUILD_LIBJAVA)
232
233 TARGETS += $(BUILD_LIBZIP)
234
235 ##########################################################################################
236
237 JIMAGELIB_CPPFLAGS := \
238 -I$(TOPDIR)/src/java.base/share/native/libjava \
239 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
240 -I$(TOPDIR)/src/java.base/share/native/libjimage \
241 -I$(SUPPORT_OUTPUTDIR)/headers/java.base \
242 #
243
244 $(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \
245 NAME := jimage, \
246 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
247 OPTIMIZATION := LOW, \
248 SRC := $(TOPDIR)/src/java.base/share/native/libjimage \
249 $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjimage, \
250 EXCLUDES := $(LIBJIMAGE_EXCLUDES), \
251 CFLAGS := $(CFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
252 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
253 DISABLED_WARNINGS_gcc := implicit-fallthrough, \
254 CFLAGS_unix := -UDEBUG, \
255 MAPFILE := $(TOPDIR)/make/mapfiles/libjimage/mapfile-vers, \
256 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
257 $(call SET_SHARED_LIBRARY_ORIGIN), \
258 LDFLAGS_windows := -export:JIMAGE_Open -export:JIMAGE_Close \
259 -export:JIMAGE_PackageToModule \
260 -export:JIMAGE_FindResource -export:JIMAGE_GetResource \
261 -export:JIMAGE_ResourceIterator -export:JIMAGE_ResourcePath, \
262 LIBS_unix := -ljvm -ldl $(LIBCXX), \
263 LIBS_macosx := -lc++, \
264 LIBS_windows := jvm.lib, \
265 ))
266
267 $(BUILD_LIBJIMAGE): $(BUILD_LIBJAVA)
268
269 TARGETS += $(BUILD_LIBJIMAGE)
270
271 ##########################################################################################
272
273 LIBJLI_SRC_DIRS := $(call FindSrcDirsForLib, java.base, jli)
274
275 LIBJLI_CFLAGS := $(CFLAGS_JDKLIB)
276
277 ifeq ($(call check-jvm-variant, zero), true)
278 ERGO_FAMILY := zero
279 else
280 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
281 ERGO_FAMILY := i586
324 inftrees.c \
325 inffast.c \
326 zadler32.c \
327 zcrc32.c \
328 zutil.c \
329 )
330 endif
331
332 $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
333 NAME := jli, \
334 OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
335 SRC := $(LIBJLI_SRC_DIRS), \
336 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
337 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
338 OPTIMIZATION := HIGH, \
339 CFLAGS := $(LIBJLI_CFLAGS), \
340 DISABLED_WARNINGS_gcc := maybe-uninitialized, \
341 DISABLED_WARNINGS_solstudio := \
342 E_ASM_DISABLES_OPTIMIZATION \
343 E_STATEMENT_NOT_REACHED, \
344 MAPFILE := $(TOPDIR)/make/mapfiles/libjli/mapfile-vers, \
345 LDFLAGS := $(LDFLAGS_JDKLIB) \
346 $(call SET_SHARED_LIBRARY_ORIGIN), \
347 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
348 LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
349 LDFLAGS_windows := \
350 -export:JLI_Launch \
351 -export:JLI_ManifestIterate \
352 -export:JLI_SetTraceLauncher \
353 -export:JLI_ReportErrorMessage \
354 -export:JLI_ReportErrorMessageSys \
355 -export:JLI_ReportMessage \
356 -export:JLI_ReportExceptionDescription \
357 -export:JLI_MemAlloc \
358 -export:JLI_CmdToArgs \
359 -export:JLI_GetStdArgc \
360 -export:JLI_GetStdArgs \
361 -export:JLI_List_new \
362 -export:JLI_List_add \
363 -export:JLI_StringDup \
364 -export:JLI_MemFree \
365 -export:JLI_InitArgProcessing \
366 -export:JLI_PreprocessArg \
367 -export:JLI_AddArgsFromEnvVar \
368 -export:JLI_GetAppArgIndex, \
369 LIBS_unix := $(LIBZ_LIBS), \
370 LIBS_linux := $(LIBDL) -lpthread, \
371 LIBS_solaris := $(LIBDL), \
372 LIBS_aix := $(LIBDL),\
373 LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
374 LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
375 ))
376
377 TARGETS += $(BUILD_LIBJLI)
378
379 # On windows, the static library has the same suffix as the import library created by
380 # with the shared library, so the static library is given a different name. No harm
381 # in doing it for all platform to reduce complexity.
382 ifeq ($(OPENJDK_TARGET_OS), windows)
383 $(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
384 NAME := jli_static, \
385 TYPE := STATIC_LIBRARY, \
386 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
387 SRC := $(LIBJLI_SRC_DIRS), \
388 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
|
78
79 # On macosx the old build does partial (incremental) linking of fdlibm instead of
80 # a plain static library.
81 $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM_MAC, \
82 NAME := fdlibm, \
83 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
84 SRC := $(LIBFDLIBM_SRC), \
85 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
86 LDFLAGS := -nostdlib $(ARFLAGS), \
87 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
88 ))
89
90 BUILD_LIBFDLIBM := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
91 $(BUILD_LIBFDLIBM): $(BUILD_LIBFDLIBM_MAC)
92 $(call install-file)
93
94 endif
95
96 ##########################################################################################
97
98 LIBVERIFY_OPTIMIZATION := HIGH
99 ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
100 ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
101 LIBVERIFY_OPTIMIZATION := LOW
102 endif
103 endif
104
105 $(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \
106 NAME := verify, \
107 SRC := $(TOPDIR)/src/java.base/share/native/libverify, \
108 OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
109 CFLAGS := $(CFLAGS_JDKLIB), \
110 DISABLED_WARNINGS_gcc := implicit-fallthrough, \
111 DISABLED_WARNINGS_microsoft := 4244 4267, \
112 LDFLAGS := $(LDFLAGS_JDKLIB) \
113 $(call SET_SHARED_LIBRARY_ORIGIN), \
114 LIBS_unix := -ljvm, \
115 LIBS_windows := jvm.lib, \
116 ))
117
118 TARGETS += $(BUILD_LIBVERIFY)
119
120 ##########################################################################################
121
122 # Allow a custom makefile to add extra src dirs
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
130 ifeq ($(OPENJDK_TARGET_OS), macosx)
131 BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
132 BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c
133 endif
134
135 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
136 NAME := java, \
137 SRC := $(LIBJAVA_SRC_DIRS), \
138 OPTIMIZATION := HIGH, \
139 CFLAGS := $(CFLAGS_JDKLIB) \
140 $(LIBJAVA_CFLAGS), \
141 System.c_CFLAGS := $(VERSION_CFLAGS), \
142 jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \
143 WARNINGS_AS_ERRORS_xlc := false, \
144 DISABLED_WARNINGS_gcc := unused-result, \
145 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
146 LDFLAGS := $(LDFLAGS_JDKLIB) \
147 $(call SET_SHARED_LIBRARY_ORIGIN), \
148 LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \
149 LDFLAGS_windows := -delayload:shell32.dll, \
150 LIBS_unix := -ljvm -lverify, \
151 LIBS_linux := $(LIBDL) $(BUILD_LIBFDLIBM), \
152 LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM), \
153 LIBS_aix := $(LIBDL) $(BUILD_LIBFDLIBM) $(LIBM),\
154 LIBS_macosx := -lfdlibm \
155 -framework CoreFoundation \
156 -framework Foundation \
157 -framework Security -framework SystemConfiguration, \
158 LIBS_windows := jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
159 shell32.lib delayimp.lib \
160 advapi32.lib version.lib, \
161 ))
162
163 TARGETS += $(BUILD_LIBJAVA)
164
165 $(BUILD_LIBJAVA): $(BUILD_LIBVERIFY)
166
167 $(BUILD_LIBJAVA): $(BUILD_LIBFDLIBM)
168
169 ##########################################################################################
170
171 BUILD_LIBZIP_EXCLUDES :=
172 ifeq ($(USE_EXTERNAL_LIBZ), true)
173 LIBZIP_EXCLUDES += zlib
174 endif
175
176 ifeq ($(LIBZIP_CAN_USE_MMAP), true)
177 BUILD_LIBZIP_MMAP := -DUSE_MMAP
178 endif
179
180 $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
181 NAME := zip, \
182 OPTIMIZATION := LOW, \
183 SRC := $(TOPDIR)/src/java.base/share/native/libzip, \
184 EXCLUDES := $(LIBZIP_EXCLUDES), \
185 CFLAGS := $(CFLAGS_JDKLIB) \
186 $(LIBZ_CFLAGS) \
187 -I$(TOPDIR)/src/java.base/share/native/libjava \
188 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
189 -I$(SUPPORT_OUTPUTDIR)/headers/java.base, \
190 CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
191 DISABLED_WARNINGS_gcc := implicit-fallthrough, \
192 LDFLAGS := $(LDFLAGS_JDKLIB) \
193 $(call SET_SHARED_LIBRARY_ORIGIN), \
194 LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \
195 LIBS_windows := jvm.lib $(WIN_JAVA_LIB), \
196 ))
197
198 $(BUILD_LIBZIP): $(BUILD_LIBJAVA)
199
200 TARGETS += $(BUILD_LIBZIP)
201
202 ##########################################################################################
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
211 $(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \
212 NAME := jimage, \
213 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
214 OPTIMIZATION := LOW, \
215 SRC := $(TOPDIR)/src/java.base/share/native/libjimage \
216 $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjimage, \
217 EXCLUDES := $(LIBJIMAGE_EXCLUDES), \
218 CFLAGS := $(CFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
219 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
220 DISABLED_WARNINGS_gcc := implicit-fallthrough, \
221 CFLAGS_unix := -UDEBUG, \
222 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
223 $(call SET_SHARED_LIBRARY_ORIGIN), \
224 LIBS_unix := -ljvm -ldl $(LIBCXX), \
225 LIBS_macosx := -lc++, \
226 LIBS_windows := jvm.lib, \
227 ))
228
229 $(BUILD_LIBJIMAGE): $(BUILD_LIBJAVA)
230
231 TARGETS += $(BUILD_LIBJIMAGE)
232
233 ##########################################################################################
234
235 LIBJLI_SRC_DIRS := $(call FindSrcDirsForLib, java.base, jli)
236
237 LIBJLI_CFLAGS := $(CFLAGS_JDKLIB)
238
239 ifeq ($(call check-jvm-variant, zero), true)
240 ERGO_FAMILY := zero
241 else
242 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
243 ERGO_FAMILY := i586
286 inftrees.c \
287 inffast.c \
288 zadler32.c \
289 zcrc32.c \
290 zutil.c \
291 )
292 endif
293
294 $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
295 NAME := jli, \
296 OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
297 SRC := $(LIBJLI_SRC_DIRS), \
298 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
299 EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
300 OPTIMIZATION := HIGH, \
301 CFLAGS := $(LIBJLI_CFLAGS), \
302 DISABLED_WARNINGS_gcc := maybe-uninitialized, \
303 DISABLED_WARNINGS_solstudio := \
304 E_ASM_DISABLES_OPTIMIZATION \
305 E_STATEMENT_NOT_REACHED, \
306 LDFLAGS := $(LDFLAGS_JDKLIB) \
307 $(call SET_SHARED_LIBRARY_ORIGIN), \
308 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
309 LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
310 LIBS_unix := $(LIBZ_LIBS), \
311 LIBS_linux := $(LIBDL) -lpthread, \
312 LIBS_solaris := $(LIBDL), \
313 LIBS_aix := $(LIBDL),\
314 LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
315 LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
316 ))
317
318 TARGETS += $(BUILD_LIBJLI)
319
320 # 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
322 # in doing it for all platform to reduce complexity.
323 ifeq ($(OPENJDK_TARGET_OS), windows)
324 $(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
325 NAME := jli_static, \
326 TYPE := STATIC_LIBRARY, \
327 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
328 SRC := $(LIBJLI_SRC_DIRS), \
329 EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
|