1 #
   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 
  26 LIBATTACH_EXCLUDE_FILES :=
  27 ifneq ($(OPENJDK_TARGET_OS), solaris)
  28   LIBATTACH_EXCLUDE_FILES += SolarisVirtualMachine.c
  29 endif
  30 ifneq ($(OPENJDK_TARGET_OS), linux)
  31   LIBATTACH_EXCLUDE_FILES += LinuxVirtualMachine.c
  32 endif
  33 ifneq ($(OPENJDK_TARGET_OS), macosx)
  34   LIBATTACH_EXCLUDE_FILES += BsdVirtualMachine.c
  35 endif
  36 
  37 $(eval $(call SetupNativeCompilation,BUILD_LIBATTACH, \
  38     LIBRARY := attach, \
  39     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  40     SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach, \
  41     EXCLUDE_FILES := $(LIBATTACH_EXCLUDE_FILES), \
  42     LANG := C, \
  43     OPTIMIZATION := LOW, \
  44     CFLAGS := $(CFLAGS_JDKLIB), \
  45     CFLAGS_windows := /Gy, \
  46     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
  47     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
  48     RC_FLAGS := $(RC_FLAGS) \
  49         -D "JDK_FNAME=attach.dll" \
  50         -D "JDK_INTERNAL_NAME=attach" \
  51         -D "JDK_FTYPE=0x2L", \
  52     LDFLAGS := $(LDFLAGS_JDKLIB) \
  53         $(call SET_SHARED_LIBRARY_ORIGIN), \
  54     LDFLAGS_solaris := -ldoor, \
  55     LDFLAGS_windows := /ORDER:@$(JDK_TOPDIR)/makefiles/mapfiles/libattach/reorder-windows-$(OPENJDK_TARGET_CPU), \
  56     LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
  57     LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib psapi.lib, \
  58     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libattach, \
  59     DEBUG_SYMBOLS := true))
  60 
  61 $(BUILD_LIBATTACH): $(BUILD_LIBJAVA)
  62 
  63 BUILD_LIBRARIES += $(BUILD_LIBATTACH)
  64 
  65 ##########################################################################################
  66 
  67 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET, \
  68     LIBRARY := dt_socket, \
  69     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  70     SRC := $(JDK_TOPDIR)/src/share/transport/socket \
  71         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket, \
  72     LANG := C, \
  73     OPTIMIZATION := LOW, \
  74     CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
  75         -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
  76         -I$(JDK_TOPDIR)/src/share/transport/socket \
  77         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
  78         -I$(JDK_TOPDIR)/src/share/back/export \
  79         -I$(JDK_TOPDIR)/src/share/back, \
  80     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
  81     LDFLAGS := $(LDFLAGS_JDKLIB) \
  82         $(call SET_SHARED_LIBRARY_ORIGIN), \
  83     LDFLAGS_SUFFIX_linux := -lpthread, \
  84     LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lc, \
  85     LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib, \
  86     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
  87     RC_FLAGS := $(RC_FLAGS) \
  88         -D "JDK_FNAME=dt_socket.dll" \
  89         -D "JDK_INTERNAL_NAME=dt_socket" \
  90         -D "JDK_FTYPE=0x2L", \
  91     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdt_socket, \
  92     DEBUG_SYMBOLS := true))
  93 
  94 $(BUILD_LIBDT_SOCKET): $(BUILD_LIBJAVA)
  95 
  96 BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
  97 
  98 ##########################################################################################
  99 
 100 ifeq ($(OPENJDK_TARGET_OS), windows)
 101 
 102   $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM, \
 103       LIBRARY := dt_shmem, \
 104       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 105       SRC := $(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
 106           $(JDK_TOPDIR)/src/share/transport/shmem \
 107           $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem, \
 108       LANG := C, \
 109       OPTIMIZATION := LOW, \
 110       CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
 111           -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
 112           -I$(JDK_TOPDIR)/src/share/transport/shmem \
 113           -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
 114           -I$(JDK_TOPDIR)/src/share/back/export, \
 115       LDFLAGS := $(LDFLAGS_JDKLIB), \
 116       LDFLAGS_windows := -export:jdwpTransport_OnLoad, \
 117       LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
 118       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 119       RC_FLAGS := $(RC_FLAGS) \
 120           -D "JDK_FNAME=dt_shmem.dll" \
 121           -D "JDK_INTERNAL_NAME=dt_shmem" \
 122           -D "JDK_FTYPE=0x2L", \
 123       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdt_shmem, \
 124       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 125 
 126   BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
 127 
 128 endif # OPENJDK_TARGET_OS
 129 
 130 ##########################################################################################
 131 
 132 # JDWP_LOGGING causes log messages to be compiled into the library.
 133 $(eval $(call SetupNativeCompilation,BUILD_LIBJDWP, \
 134     LIBRARY := jdwp, \
 135     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 136     SRC := $(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back, \
 137     LANG := C, \
 138     OPTIMIZATION := LOW, \
 139     CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING \
 140         -I$(JDK_TOPDIR)/src/share/transport/export \
 141         -I$(JDK_TOPDIR)/src/share/back/export \
 142         -I$(JDK_TOPDIR)/src/share/npt \
 143         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
 144         -I$(JDK_TOPDIR)/src/share/back \
 145         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
 146         -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers, \
 147     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
 148     LDFLAGS := $(LDFLAGS_JDKLIB) \
 149         $(call SET_SHARED_LIBRARY_ORIGIN), \
 150     LDFLAGS_SUFFIX_linux := $(LIBDL), \
 151     LDFLAGS_SUFFIX_solaris := $(LIBDL) -lc, \
 152     LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX), \
 153     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 154     RC_FLAGS := $(RC_FLAGS) \
 155         -D "JDK_FNAME=jdwp.dll" \
 156         -D "JDK_INTERNAL_NAME=jdwp" \
 157         -D "JDK_FTYPE=0x2L", \
 158     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjdwp, \
 159     DEBUG_SYMBOLS := true))
 160 
 161 $(BUILD_LIBJDWP): $(BUILD_LIBJAVA)
 162 
 163 BUILD_LIBRARIES += $(BUILD_LIBJDWP)
 164 
 165 ##########################################################################################
 166 
 167 $(eval $(call SetupNativeCompilation,BUILD_LIBJSDT, \
 168     LIBRARY := jsdt, \
 169     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 170     SRC := $(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace \
 171         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace, \
 172     LANG := C, \
 173     OPTIMIZATION := LOW, \
 174     CFLAGS := $(CFLAGS_JDKLIB) \
 175         -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace, \
 176     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
 177     LDFLAGS := $(LDFLAGS_JDKLIB) \
 178         $(call SET_SHARED_LIBRARY_ORIGIN), \
 179     LDFLAGS_SUFFIX_linux := $(LIBDL), \
 180     LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL), \
 181     LDFLAGS_SUFFIX_macosx := $(LIBDL), \
 182     LDFLAGS_SUFFIX_solaris := -lc, \
 183     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 184     RC_FLAGS := $(RC_FLAGS) \
 185         -D "JDK_FNAME=jsdt.dll" \
 186         -D "JDK_INTERNAL_NAME=jsdt" \
 187         -D "JDK_FTYPE=0x2L", \
 188     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsdt, \
 189     DEBUG_SYMBOLS := true))
 190 
 191 $(BUILD_LIBJSDT): $(BUILD_LIBJAVA)
 192 
 193 BUILD_LIBRARIES += $(BUILD_LIBJSDT)
 194 
 195 ##########################################################################################
 196 
 197 LIBINSTRUMENT_SRC := $(JDK_TOPDIR)/src/share/instrument \
 198     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
 199     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
 200 
 201 LIBINSTRUMENT_FILES := \
 202     EncodingSupport.c \
 203     EncodingSupport_md.c \
 204     FileSystemSupport_md.c \
 205     InstrumentationImplNativeMethods.c \
 206     InvocationAdapter.c \
 207     JarFacade.c \
 208     JPLISAgent.c \
 209     JPLISAssert.c \
 210     JavaExceptions.c \
 211     PathCharsValidator.c \
 212     Reentrancy.c \
 213     Utilities.c \
 214     canonicalize_md.c
 215 
 216 LIBINSTRUMENT_DIR := $(JDK_OUTPUTDIR)/objs/libinstrument
 217 LIBINSTRUMENT_CFLAGS := $(CFLAGS_JDKLIB) \
 218     -I$(JDK_TOPDIR)/src/share/instrument \
 219     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
 220     -I$(JDK_TOPDIR)/src/share/bin
 221 
 222 LIBINSTRUMENT_LDFLAGS :=
 223 LIBINSTRUMENT_LDFLAGS_SUFFIX :=
 224 
 225 ifeq ($(OPENJDK_TARGET_OS), windows)
 226   LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
 227       -export:Agent_OnAttach advapi32.lib
 228   # Statically link the C runtime so that there are not dependencies on modules
 229   # not on the search patch when invoked from the Windows system directory
 230   # (or elsewhere).
 231   LIBINSTRUMENT_CFLAGS := $(filter-out -MD, $(LIBINSTRUMENT_CFLAGS))
 232   # equivalent of strcasecmp is stricmp on Windows
 233   LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
 234 endif
 235 
 236 $(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT, \
 237     LIBRARY := instrument, \
 238     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 239     SRC := $(LIBINSTRUMENT_SRC), \
 240     INCLUDE_FILES := $(LIBINSTRUMENT_FILES), \
 241     LANG := C, \
 242     OPTIMIZATION := LOW, \
 243     CFLAGS := $(LIBINSTRUMENT_CFLAGS), \
 244     CFLAGS_debug := -DJPLIS_LOGGING, \
 245     CFLAGS_release := -DNO_JPLIS_LOGGING, \
 246     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
 247     LDFLAGS := $(LDFLAGS_JDKLIB) \
 248         $(call SET_SHARED_LIBRARY_ORIGIN) \
 249         $(LIBINSTRUMENT_LDFLAGS), \
 250     LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
 251     LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
 252     LDFLAGS_macosx := -Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
 253         -framework Cocoa -framework Security -framework ApplicationServices, \
 254     LDFLAGS_SUFFIX := $(LIBINSTRUMENT_LDFLAGS_SUFFIX), \
 255     LDFLAGS_SUFFIX_macosx := -liconv $(LIBZ), \
 256     LDFLAGS_SUFFIX_solaris := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc, \
 257     LDFLAGS_SUFFIX_linux := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \
 258     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 259     RC_FLAGS := $(RC_FLAGS) \
 260         -D "JDK_FNAME=instrument.dll" \
 261         -D "JDK_INTERNAL_NAME=instrument" \
 262         -D "JDK_FTYPE=0x2L", \
 263     OBJECT_DIR := $(LIBINSTRUMENT_DIR), \
 264     DEBUG_SYMBOLS := true))
 265 
 266 ifneq (, $(findstring $(OPENJDK_TARGET_OS), macosx windows))
 267   $(BUILD_LIBINSTRUMENT): $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
 268 else
 269   $(BUILD_LIBINSTRUMENT): $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
 270 endif
 271 $(BUILD_LIBINSTRUMENT): $(BUILD_LIBJAVA)
 272 
 273 BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
 274 
 275 ##########################################################################################
 276 
 277 BUILD_LIBMANAGEMENT_SRC := $(JDK_TOPDIR)/src/share/native/sun/management \
 278     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
 279     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
 280 
 281 BUILD_LIBMANAGEMENT_EXCLUDES :=
 282 
 283 BUILD_LIBMANAGEMENT_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/management
 284 
 285 ifneq ($(OPENJDK_TARGET_OS), windows)
 286   BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
 287 else
 288   BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
 289 endif
 290 
 291 ifneq ($(OPENJDK_TARGET_OS), solaris)
 292   BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
 293 endif
 294 
 295 ifneq ($(OPENJDK_TARGET_OS), linux)
 296   BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
 297 endif
 298 
 299 ifneq ($(OPENJDK_TARGET_OS), macosx)
 300   BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
 301 endif
 302 
 303 LIBMANAGEMENT_OPTIMIZATION := HIGH
 304 ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
 305   ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
 306     LIBMANAGEMENT_OPTIMIZATION := LOW
 307   endif
 308 endif
 309 
 310 $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT, \
 311     LIBRARY := management, \
 312     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 313     SRC := $(BUILD_LIBMANAGEMENT_SRC), \
 314     EXCLUDE_FILES := $(BUILD_LIBMANAGEMENT_EXCLUDES), \
 315     LANG := C, \
 316     OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \
 317     CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS), \
 318     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
 319     LDFLAGS := $(LDFLAGS_JDKLIB) \
 320         $(call SET_SHARED_LIBRARY_ORIGIN), \
 321     LDFLAGS_solaris := -lkstat, \
 322     LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
 323     LDFLAGS_SUFFIX_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
 324     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 325     RC_FLAGS := $(RC_FLAGS) \
 326         -D "JDK_FNAME=management.dll" \
 327         -D "JDK_INTERNAL_NAME=management" \
 328         -D "JDK_FTYPE=0x2L", \
 329     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmanagement, \
 330     DEBUG_SYMBOLS := true))
 331 
 332 $(BUILD_LIBMANAGEMENT): $(BUILD_LIBJAVA)
 333 
 334 BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
 335 
 336 ##########################################################################################
 337 
 338 BUILD_LIBHPROF_SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof
 339 BUILD_LIBHPROF_CFLAGS := -I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
 340     -I$(JDK_TOPDIR)/src/share/npt \
 341     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
 342     -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
 343 
 344 BUILD_LIBHPROF_LDFLAGS :=
 345 
 346 LIBHPROF_OPTIMIZATION := HIGHEST
 347 ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
 348   ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
 349     LIBHPROF_OPTIMIZATION := LOW
 350   endif
 351 endif
 352 
 353 $(eval $(call SetupNativeCompilation,BUILD_LIBHPROF, \
 354     LIBRARY := hprof, \
 355     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 356     SRC := $(BUILD_LIBHPROF_SRC), \
 357     LANG := C, \
 358     OPTIMIZATION := $(LIBHPROF_OPTIMIZATION), \
 359     CFLAGS := $(CFLAGS_JDKLIB) \
 360         $(BUILD_LIBHPROF_CFLAGS), \
 361     CFLAGS_debug := -DHPROF_LOGGING, \
 362     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
 363     LDFLAGS := $(LDFLAGS_JDKLIB) \
 364         $(call SET_SHARED_LIBRARY_ORIGIN), \
 365     LDFLAGS_windows := wsock32.lib winmm.lib advapi32.lib, \
 366     LDFLAGS_SUFFIX_linux := $(LIBDL), \
 367     LDFLAGS_SUFFIX_macosx := $(LIBDL), \
 368     LDFLAGS_SUFFIX_solaris := -lsocket -lnsl $(LIBDL) -lc, \
 369     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 370     RC_FLAGS := $(RC_FLAGS) \
 371         -D "JDK_FNAME=hprof.dll" \
 372         -D "JDK_INTERNAL_NAME=hprof" \
 373         -D "JDK_FTYPE=0x2L", \
 374     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libhprof_jvmti, \
 375     DEBUG_SYMBOLS := true))
 376 
 377 BUILD_LIBRARIES += $(BUILD_LIBHPROF)
 378 
 379 ##########################################################################################
 380 
 381 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO, \
 382     LIBRARY := java_crw_demo, \
 383     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 384     SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
 385     LANG := C, \
 386     OPTIMIZATION := LOW, \
 387     CFLAGS := $(CFLAGS_JDKLIB) \
 388         -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
 389     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
 390     LDFLAGS := $(LDFLAGS_JDKLIB) \
 391         $(call SET_SHARED_LIBRARY_ORIGIN), \
 392     LDFLAGS_SUFFIX_solaris := -lc, \
 393     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 394     RC_FLAGS := $(RC_FLAGS) \
 395         -D "JDK_FNAME=java_crw_demo.dll" \
 396         -D "JDK_INTERNAL_NAME=java_crw_demo" \
 397         -D "JDK_FTYPE=0x2L", \
 398     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjava_crw_demo, \
 399     DEBUG_SYMBOLS := true))
 400 
 401 BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
 402 
 403 ##########################################################################################
 404 
 405 ifndef OPENJDK
 406   ifeq ($(ENABLE_JFR), true)
 407 
 408     $(eval $(call SetupNativeCompilation,BUILD_LIBJFR, \
 409         LIBRARY := jfr, \
 410         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 411         SRC := $(JDK_TOPDIR)/src/closed/share/native/oracle/jfr, \
 412         LANG := C, \
 413         OPTIMIZATION := LOW, \
 414         CFLAGS := $(CFLAGS_JDKLIB) \
 415             -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
 416         MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
 417         LDFLAGS := $(LDFLAGS_JDKLIB) \
 418             $(call SET_SHARED_LIBRARY_ORIGIN), \
 419         LDFLAGS_SUFFIX_solaris := -lc, \
 420         VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 421         RC_FLAGS := $(RC_FLAGS) \
 422             -D "JDK_FNAME=jfr.dll" \
 423             -D "JDK_INTERNAL_NAME=jfr" \
 424             -D "JDK_FTYPE=0x2L", \
 425         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjfr, \
 426         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 427 
 428     BUILD_LIBRARIES += $(BUILD_LIBJFR)
 429 
 430   endif
 431 endif