blob: bd31a44046316a3fa8a183059dfba404e4426dc8 [file] [log] [blame]
ihse554e46f2013-11-14 11:19:32 +01001#
2# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Oracle designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Oracle in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
jwilhelm0414dc32014-06-17 23:25:42 +020026# Include custom extensions if available.
27-include $(CUSTOM_MAKE_DIR)/lib/ServiceabilityLibraries.gmk
28
29
ihse554e46f2013-11-14 11:19:32 +010030LIBATTACH_EXCLUDE_FILES :=
31ifneq ($(OPENJDK_TARGET_OS), solaris)
32 LIBATTACH_EXCLUDE_FILES += SolarisVirtualMachine.c
33endif
34ifneq ($(OPENJDK_TARGET_OS), linux)
35 LIBATTACH_EXCLUDE_FILES += LinuxVirtualMachine.c
36endif
37ifneq ($(OPENJDK_TARGET_OS), macosx)
38 LIBATTACH_EXCLUDE_FILES += BsdVirtualMachine.c
39endif
kvn7130df72013-12-05 15:10:36 -080040ifneq ($(OPENJDK_TARGET_OS),aix)
41 LIBATTACH_EXCLUDE_FILES += AixVirtualMachine.c
42endif
43
44LIBATTACH_SRC_FILES := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach
45ifeq ($(OPENJDK_TARGET_OS),aix)
46 LIBATTACH_SRC_FILES += $(JDK_TOPDIR)/src/aix/native/sun/tools/attach
47endif
ihse554e46f2013-11-14 11:19:32 +010048
49$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH, \
50 LIBRARY := attach, \
51 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
kvn7130df72013-12-05 15:10:36 -080052 SRC := $(LIBATTACH_SRC_FILES), \
ihse554e46f2013-11-14 11:19:32 +010053 EXCLUDE_FILES := $(LIBATTACH_EXCLUDE_FILES), \
54 LANG := C, \
55 OPTIMIZATION := LOW, \
56 CFLAGS := $(CFLAGS_JDKLIB), \
57 CFLAGS_windows := /Gy, \
58 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
59 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
60 RC_FLAGS := $(RC_FLAGS) \
61 -D "JDK_FNAME=attach.dll" \
62 -D "JDK_INTERNAL_NAME=attach" \
63 -D "JDK_FTYPE=0x2L", \
64 LDFLAGS := $(LDFLAGS_JDKLIB) \
65 $(call SET_SHARED_LIBRARY_ORIGIN), \
66 LDFLAGS_solaris := -ldoor, \
67 LDFLAGS_windows := /ORDER:@$(JDK_TOPDIR)/make/mapfiles/libattach/reorder-windows-$(OPENJDK_TARGET_CPU), \
68 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
69 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib psapi.lib, \
70 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libattach, \
71 DEBUG_SYMBOLS := true))
72
73$(BUILD_LIBATTACH): $(BUILD_LIBJAVA)
74
75BUILD_LIBRARIES += $(BUILD_LIBATTACH)
76
77##########################################################################################
78
79$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET, \
80 LIBRARY := dt_socket, \
81 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
82 SRC := $(JDK_TOPDIR)/src/share/transport/socket \
83 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket, \
84 LANG := C, \
85 OPTIMIZATION := LOW, \
86 CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
87 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
88 -I$(JDK_TOPDIR)/src/share/transport/socket \
89 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
90 -I$(JDK_TOPDIR)/src/share/back/export \
91 -I$(JDK_TOPDIR)/src/share/back, \
92 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libdt_socket/mapfile-vers, \
93 LDFLAGS := $(LDFLAGS_JDKLIB) \
94 $(call SET_SHARED_LIBRARY_ORIGIN), \
95 LDFLAGS_SUFFIX_linux := -lpthread, \
96 LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lc, \
97 LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib, \
98 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
99 RC_FLAGS := $(RC_FLAGS) \
100 -D "JDK_FNAME=dt_socket.dll" \
101 -D "JDK_INTERNAL_NAME=dt_socket" \
102 -D "JDK_FTYPE=0x2L", \
103 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdt_socket, \
104 DEBUG_SYMBOLS := true))
105
106$(BUILD_LIBDT_SOCKET): $(BUILD_LIBJAVA)
107
108BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
109
110##########################################################################################
111
112ifeq ($(OPENJDK_TARGET_OS), windows)
113
114 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM, \
115 LIBRARY := dt_shmem, \
116 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
117 SRC := $(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
118 $(JDK_TOPDIR)/src/share/transport/shmem \
119 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem, \
120 LANG := C, \
121 OPTIMIZATION := LOW, \
122 CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
123 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
124 -I$(JDK_TOPDIR)/src/share/transport/shmem \
125 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
126 -I$(JDK_TOPDIR)/src/share/back/export, \
127 LDFLAGS := $(LDFLAGS_JDKLIB), \
128 LDFLAGS_windows := -export:jdwpTransport_OnLoad, \
129 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
130 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
131 RC_FLAGS := $(RC_FLAGS) \
132 -D "JDK_FNAME=dt_shmem.dll" \
133 -D "JDK_INTERNAL_NAME=dt_shmem" \
134 -D "JDK_FTYPE=0x2L", \
135 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdt_shmem, \
136 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
137
138 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
139
140endif # OPENJDK_TARGET_OS
141
142##########################################################################################
143
144# JDWP_LOGGING causes log messages to be compiled into the library.
145$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP, \
146 LIBRARY := jdwp, \
147 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
148 SRC := $(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back, \
149 LANG := C, \
150 OPTIMIZATION := LOW, \
151 CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING \
152 -I$(JDK_TOPDIR)/src/share/transport/export \
153 -I$(JDK_TOPDIR)/src/share/back/export \
154 -I$(JDK_TOPDIR)/src/share/npt \
155 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
156 -I$(JDK_TOPDIR)/src/share/back \
157 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
158 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers, \
159 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjdwp/mapfile-vers, \
160 LDFLAGS := $(LDFLAGS_JDKLIB) \
161 $(call SET_SHARED_LIBRARY_ORIGIN), \
162 LDFLAGS_SUFFIX_linux := $(LIBDL), \
163 LDFLAGS_SUFFIX_solaris := $(LIBDL) -lc, \
164 LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX), \
165 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
166 RC_FLAGS := $(RC_FLAGS) \
167 -D "JDK_FNAME=jdwp.dll" \
168 -D "JDK_INTERNAL_NAME=jdwp" \
169 -D "JDK_FTYPE=0x2L", \
170 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjdwp, \
171 DEBUG_SYMBOLS := true))
172
173$(BUILD_LIBJDWP): $(BUILD_LIBJAVA)
174
175BUILD_LIBRARIES += $(BUILD_LIBJDWP)
176
177##########################################################################################
178
179$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT, \
180 LIBRARY := jsdt, \
181 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
182 SRC := $(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace \
183 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace, \
184 LANG := C, \
185 OPTIMIZATION := LOW, \
186 CFLAGS := $(CFLAGS_JDKLIB) \
187 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace, \
188 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjsdt/mapfile-vers, \
189 LDFLAGS := $(LDFLAGS_JDKLIB) \
190 $(call SET_SHARED_LIBRARY_ORIGIN), \
191 LDFLAGS_SUFFIX_linux := $(LIBDL), \
192 LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL), \
193 LDFLAGS_SUFFIX_macosx := $(LIBDL), \
194 LDFLAGS_SUFFIX_solaris := -lc, \
195 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
196 RC_FLAGS := $(RC_FLAGS) \
197 -D "JDK_FNAME=jsdt.dll" \
198 -D "JDK_INTERNAL_NAME=jsdt" \
199 -D "JDK_FTYPE=0x2L", \
200 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsdt, \
201 DEBUG_SYMBOLS := true))
202
203$(BUILD_LIBJSDT): $(BUILD_LIBJAVA)
204
205BUILD_LIBRARIES += $(BUILD_LIBJSDT)
206
207##########################################################################################
208
209LIBINSTRUMENT_SRC := $(JDK_TOPDIR)/src/share/instrument \
210 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
211 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
212
213LIBINSTRUMENT_FILES := \
214 EncodingSupport.c \
215 EncodingSupport_md.c \
216 FileSystemSupport_md.c \
217 InstrumentationImplNativeMethods.c \
218 InvocationAdapter.c \
219 JarFacade.c \
220 JPLISAgent.c \
221 JPLISAssert.c \
222 JavaExceptions.c \
223 PathCharsValidator.c \
224 Reentrancy.c \
225 Utilities.c \
226 canonicalize_md.c
227
228LIBINSTRUMENT_DIR := $(JDK_OUTPUTDIR)/objs/libinstrument
229LIBINSTRUMENT_CFLAGS := $(CFLAGS_JDKLIB) \
230 -I$(JDK_TOPDIR)/src/share/instrument \
231 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
232 -I$(JDK_TOPDIR)/src/share/bin
233
234LIBINSTRUMENT_LDFLAGS :=
235LIBINSTRUMENT_LDFLAGS_SUFFIX :=
236
237ifeq ($(OPENJDK_TARGET_OS), windows)
238 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
239 -export:Agent_OnAttach advapi32.lib
240 # Statically link the C runtime so that there are not dependencies on modules
241 # not on the search patch when invoked from the Windows system directory
242 # (or elsewhere).
243 LIBINSTRUMENT_CFLAGS := $(filter-out -MD, $(LIBINSTRUMENT_CFLAGS))
244 # equivalent of strcasecmp is stricmp on Windows
245 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
246endif
247
248$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT, \
249 LIBRARY := instrument, \
250 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
251 SRC := $(LIBINSTRUMENT_SRC), \
252 INCLUDE_FILES := $(LIBINSTRUMENT_FILES), \
253 LANG := C, \
254 OPTIMIZATION := LOW, \
255 CFLAGS := $(LIBINSTRUMENT_CFLAGS), \
256 CFLAGS_debug := -DJPLIS_LOGGING, \
257 CFLAGS_release := -DNO_JPLIS_LOGGING, \
258 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libinstrument/mapfile-vers, \
259 LDFLAGS := $(LDFLAGS_JDKLIB) \
260 $(call SET_SHARED_LIBRARY_ORIGIN) \
261 $(LIBINSTRUMENT_LDFLAGS), \
262 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
263 LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
264 LDFLAGS_macosx := -Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
265 -framework Cocoa -framework Security -framework ApplicationServices, \
266 LDFLAGS_SUFFIX := $(LIBINSTRUMENT_LDFLAGS_SUFFIX), \
267 LDFLAGS_SUFFIX_macosx := -liconv $(LIBZ), \
268 LDFLAGS_SUFFIX_solaris := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc, \
269 LDFLAGS_SUFFIX_linux := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \
kvn7130df72013-12-05 15:10:36 -0800270 LDFLAGS_SUFFIX_aix := $(LIBZ) -L$(JDK_OUTPUTDIR)/objs -ljli_static $(LIBDL),\
ihse554e46f2013-11-14 11:19:32 +0100271 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
272 RC_FLAGS := $(RC_FLAGS) \
273 -D "JDK_FNAME=instrument.dll" \
274 -D "JDK_INTERNAL_NAME=instrument" \
275 -D "JDK_FTYPE=0x2L", \
276 OBJECT_DIR := $(LIBINSTRUMENT_DIR), \
277 DEBUG_SYMBOLS := true))
278
kvn7130df72013-12-05 15:10:36 -0800279ifneq (, $(findstring $(OPENJDK_TARGET_OS), macosx windows aix))
ihse554e46f2013-11-14 11:19:32 +0100280 $(BUILD_LIBINSTRUMENT): $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
281else
282 $(BUILD_LIBINSTRUMENT): $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
283endif
284$(BUILD_LIBINSTRUMENT): $(BUILD_LIBJAVA)
285
286BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
287
288##########################################################################################
289
jwilhelm0414dc32014-06-17 23:25:42 +0200290BUILD_LIBMANAGEMENT_SRC += $(JDK_TOPDIR)/src/share/native/sun/management \
ihse554e46f2013-11-14 11:19:32 +0100291 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management
292
293BUILD_LIBMANAGEMENT_EXCLUDES :=
294
jwilhelm0414dc32014-06-17 23:25:42 +0200295BUILD_LIBMANAGEMENT_CFLAGS += -I$(JDK_TOPDIR)/src/share/native/sun/management
ihse554e46f2013-11-14 11:19:32 +0100296
297ifneq ($(OPENJDK_TARGET_OS), solaris)
298 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
299endif
300
301ifneq ($(OPENJDK_TARGET_OS), linux)
302 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
303endif
304
305ifneq ($(OPENJDK_TARGET_OS), macosx)
306 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
307endif
308
309LIBMANAGEMENT_OPTIMIZATION := HIGH
310ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
311 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
312 LIBMANAGEMENT_OPTIMIZATION := LOW
313 endif
314endif
315
jwilhelm0414dc32014-06-17 23:25:42 +0200316# Make it possible to override this variable
317LIBMANAGEMENT_MAPFILE ?= $(JDK_TOPDIR)/make/mapfiles/libmanagement/mapfile-vers
318
ihse554e46f2013-11-14 11:19:32 +0100319$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT, \
320 LIBRARY := management, \
321 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
322 SRC := $(BUILD_LIBMANAGEMENT_SRC), \
323 EXCLUDE_FILES := $(BUILD_LIBMANAGEMENT_EXCLUDES), \
324 LANG := C, \
325 OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \
326 CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS), \
jwilhelm0414dc32014-06-17 23:25:42 +0200327 MAPFILE := $(LIBMANAGEMENT_MAPFILE), \
ihse554e46f2013-11-14 11:19:32 +0100328 LDFLAGS := $(LDFLAGS_JDKLIB) \
329 $(call SET_SHARED_LIBRARY_ORIGIN), \
330 LDFLAGS_solaris := -lkstat, \
331 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
332 LDFLAGS_SUFFIX_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
kvn7130df72013-12-05 15:10:36 -0800333 LDFLAGS_SUFFIX_aix := -lperfstat,\
ihse554e46f2013-11-14 11:19:32 +0100334 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
335 RC_FLAGS := $(RC_FLAGS) \
336 -D "JDK_FNAME=management.dll" \
337 -D "JDK_INTERNAL_NAME=management" \
338 -D "JDK_FTYPE=0x2L", \
339 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmanagement, \
340 DEBUG_SYMBOLS := true))
341
342$(BUILD_LIBMANAGEMENT): $(BUILD_LIBJAVA)
343
344BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
345
346##########################################################################################
347
348BUILD_LIBHPROF_SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof
349BUILD_LIBHPROF_CFLAGS := -I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
350 -I$(JDK_TOPDIR)/src/share/npt \
351 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
352 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
353
kvn7130df72013-12-05 15:10:36 -0800354ifeq ($(OPENJDK_TARGET_OS), aix)
355 BUILD_LIBHPROF_SRC += $(JDK_TOPDIR)/src/aix/porting
356 BUILD_LIBHPROF_CFLAGS += -I$(JDK_TOPDIR)/src/aix/porting
357endif
358
ihse554e46f2013-11-14 11:19:32 +0100359BUILD_LIBHPROF_LDFLAGS :=
360
361LIBHPROF_OPTIMIZATION := HIGHEST
362ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
363 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
364 LIBHPROF_OPTIMIZATION := LOW
365 endif
366endif
367
368$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF, \
369 LIBRARY := hprof, \
370 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
371 SRC := $(BUILD_LIBHPROF_SRC), \
372 LANG := C, \
373 OPTIMIZATION := $(LIBHPROF_OPTIMIZATION), \
374 CFLAGS := $(CFLAGS_JDKLIB) \
375 $(BUILD_LIBHPROF_CFLAGS), \
376 CFLAGS_debug := -DHPROF_LOGGING, \
377 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libhprof/mapfile-vers, \
378 LDFLAGS := $(LDFLAGS_JDKLIB) \
379 $(call SET_SHARED_LIBRARY_ORIGIN), \
380 LDFLAGS_windows := wsock32.lib winmm.lib advapi32.lib, \
381 LDFLAGS_SUFFIX_linux := $(LIBDL), \
382 LDFLAGS_SUFFIX_macosx := $(LIBDL), \
383 LDFLAGS_SUFFIX_solaris := -lsocket -lnsl $(LIBDL) -lc, \
384 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
385 RC_FLAGS := $(RC_FLAGS) \
386 -D "JDK_FNAME=hprof.dll" \
387 -D "JDK_INTERNAL_NAME=hprof" \
388 -D "JDK_FTYPE=0x2L", \
389 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libhprof_jvmti, \
390 DEBUG_SYMBOLS := true))
391
392BUILD_LIBRARIES += $(BUILD_LIBHPROF)
393
394##########################################################################################
395
396$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO, \
397 LIBRARY := java_crw_demo, \
398 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
399 SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
400 LANG := C, \
401 OPTIMIZATION := LOW, \
402 CFLAGS := $(CFLAGS_JDKLIB) \
403 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
404 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjava_crw_demo/mapfile-vers, \
405 LDFLAGS := $(LDFLAGS_JDKLIB) \
406 $(call SET_SHARED_LIBRARY_ORIGIN), \
407 LDFLAGS_SUFFIX_solaris := -lc, \
408 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
409 RC_FLAGS := $(RC_FLAGS) \
410 -D "JDK_FNAME=java_crw_demo.dll" \
411 -D "JDK_INTERNAL_NAME=java_crw_demo" \
412 -D "JDK_FTYPE=0x2L", \
413 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjava_crw_demo, \
414 DEBUG_SYMBOLS := true))
415
416BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
417
418##########################################################################################
419
420ifndef OPENJDK
421 ifeq ($(ENABLE_JFR), true)
422
423 $(eval $(call SetupNativeCompilation,BUILD_LIBJFR, \
424 LIBRARY := jfr, \
425 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
426 SRC := $(JDK_TOPDIR)/src/closed/share/native/oracle/jfr, \
427 LANG := C, \
428 OPTIMIZATION := LOW, \
429 CFLAGS := $(CFLAGS_JDKLIB) \
430 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
431 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjfr/mapfile-vers, \
432 LDFLAGS := $(LDFLAGS_JDKLIB) \
433 $(call SET_SHARED_LIBRARY_ORIGIN), \
434 LDFLAGS_SUFFIX_solaris := -lc, \
435 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
436 RC_FLAGS := $(RC_FLAGS) \
437 -D "JDK_FNAME=jfr.dll" \
438 -D "JDK_INTERNAL_NAME=jfr" \
439 -D "JDK_FTYPE=0x2L", \
440 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjfr, \
441 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
442
443 BUILD_LIBRARIES += $(BUILD_LIBJFR)
444
445 endif
446endif