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