28 # Hook to include the corresponding custom file, if present. |
28 # Hook to include the corresponding custom file, if present. |
29 $(eval $(call IncludeCustomExtension, lib/Lib-java.instrument.gmk)) |
29 $(eval $(call IncludeCustomExtension, lib/Lib-java.instrument.gmk)) |
30 |
30 |
31 ################################################################################ |
31 ################################################################################ |
32 |
32 |
33 LIBINSTRUMENT_SRC := $(TOPDIR)/src/java.instrument/share/native/libinstrument \ |
|
34 $(TOPDIR)/src/java.instrument/$(OPENJDK_TARGET_OS_TYPE)/native/libinstrument \ |
|
35 # |
|
36 LIBINSTRUMENT_CFLAGS := $(CFLAGS_JDKLIB) \ |
|
37 $(addprefix -I, $(LIBINSTRUMENT_SRC)) \ |
|
38 -I$(SUPPORT_OUTPUTDIR)/headers/java.instrument \ |
|
39 -I$(TOPDIR)/src/java.base/share/native/libjli \ |
|
40 -I$(TOPDIR)/src/java.base/share/native/libjava \ |
|
41 # |
|
42 |
|
43 ifeq ($(OPENJDK_TARGET_OS), windows) |
33 ifeq ($(OPENJDK_TARGET_OS), windows) |
44 # Statically link the C runtime so that there are not dependencies on modules |
34 # Statically link the C runtime so that there are not dependencies on modules |
45 # not on the search patch when invoked from the Windows system directory |
35 # not on the search patch when invoked from the Windows system directory |
46 # (or elsewhere). |
36 # (or elsewhere). |
47 LIBINSTRUMENT_CFLAGS := $(filter-out -MD, $(LIBINSTRUMENT_CFLAGS)) |
37 LIBINSTRUMENT_CFLAGS_JDKLIB := $(filter-out -MD, $(CFLAGS_JDKLIB)) |
48 # equivalent of strcasecmp is stricmp on Windows |
38 # equivalent of strcasecmp is stricmp on Windows |
49 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp |
39 LIBINSTRUMENT_CFLAGS := -Dstrcasecmp=stricmp |
|
40 else |
|
41 LIBINSTRUMENT_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB) |
50 endif |
42 endif |
51 |
43 |
52 $(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \ |
44 $(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \ |
53 NAME := instrument, \ |
45 NAME := instrument, \ |
54 SRC := $(LIBINSTRUMENT_SRC), \ |
|
55 OPTIMIZATION := LOW, \ |
46 OPTIMIZATION := LOW, \ |
56 CFLAGS := $(LIBINSTRUMENT_CFLAGS), \ |
47 CFLAGS := $(LIBINSTRUMENT_CFLAGS_JDKLIB) $(LIBINSTRUMENT_CFLAGS), \ |
57 CFLAGS_debug := -DJPLIS_LOGGING, \ |
48 CFLAGS_debug := -DJPLIS_LOGGING, \ |
58 CFLAGS_release := -DNO_JPLIS_LOGGING, \ |
49 CFLAGS_release := -DNO_JPLIS_LOGGING, \ |
|
50 HEADER_FLAGS := \ |
|
51 -I$(SUPPORT_OUTPUTDIR)/headers/java.instrument \ |
|
52 -I$(TOPDIR)/src/java.base/share/native/libjli \ |
|
53 -I$(TOPDIR)/src/java.base/share/native/libjava, \ |
59 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
54 LDFLAGS := $(LDFLAGS_JDKLIB) \ |
60 $(call SET_SHARED_LIBRARY_ORIGIN) \ |
55 $(call SET_SHARED_LIBRARY_ORIGIN) \ |
61 $(LIBINSTRUMENT_LDFLAGS), \ |
56 $(LIBINSTRUMENT_LDFLAGS), \ |
62 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli) \ |
57 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli) \ |
63 -L$(call FindLibDirForModule, java.base)/jli, \ |
58 -L$(call FindLibDirForModule, java.base)/jli, \ |