make/lib/Lib-jdk.hotspot.agent.gmk
branchihse-cflags-rewrite-branch
changeset 56312 a52bcf4118eb
parent 56236 97746cb303aa
parent 49244 995a5556edfa
child 56726 3a9b7a1f9197
equal deleted inserted replaced
56285:9bc8db601fe2 56312:a52bcf4118eb
    21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    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
    22 # or visit www.oracle.com if you need additional information or have any
    23 # questions.
    23 # questions.
    24 #
    24 #
    25 
    25 
    26 include NativeCompilation.gmk
    26 include LibCommon.gmk
    27 
    27 
    28 $(eval $(call IncludeCustomExtension, hotspot/lib/Lib-jdk.hotspot.agent.gmk))
    28 $(eval $(call IncludeCustomExtension, hotspot/lib/Lib-jdk.hotspot.agent.gmk))
    29 
    29 
    30 ################################################################################
    30 ################################################################################
    31 
    31 
    44     $(addprefix -I, $(SA_SRC)) \
    44     $(addprefix -I, $(SA_SRC)) \
    45     -I$(SUPPORT_OUTPUTDIR)/headers/jdk.hotspot.agent \
    45     -I$(SUPPORT_OUTPUTDIR)/headers/jdk.hotspot.agent \
    46     -I$(TOPDIR)/src/hotspot/os/$(OPENJDK_TARGET_OS) \
    46     -I$(TOPDIR)/src/hotspot/os/$(OPENJDK_TARGET_OS) \
    47     #
    47     #
    48 
    48 
    49 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
    49 ifeq ($(OPENJDK_TARGET_OS), linux)
    50   SA_MACHINE_FLAG_windows := -machine:AMD64
    50   SA_CFLAGS := $(CFLAGS_JDKLIB) -D_FILE_OFFSET_BITS=64
    51 else ifeq ($(OPENJDK_TARGET_CPU), x86)
    51   ifeq ($(OPENJDK_TARGET_CPU), x86)
    52   SA_MACHINE_FLAG_linux := -march=i586
    52     SA_LDFLAGS := -march=i586
    53   SA_MACHINE_FLAG_windows := -machine:I386
    53   endif
    54 endif
       
    55 
    54 
    56 ifeq ($(OPENJDK_TARGET_OS), linux)
       
    57   SA_CFLAGS := $(CFLAGS_JDKLIB) -D_FILE_OFFSET_BITS=64 \
       
    58       $(SA_MACHINE_FLAG_linux)
       
    59   SA_LDFLAGS := $(LDFLAGS_JDKLIB) $(SA_MACHINE_FLAG_linux)
       
    60   SA_LIBS := -lthread_db $(LIBDL)
    55   SA_LIBS := -lthread_db $(LIBDL)
    61 
    56 
    62 else ifeq ($(OPENJDK_TARGET_OS), solaris)
    57 else ifeq ($(OPENJDK_TARGET_OS), solaris)
    63   SA_TOOLCHAIN := TOOLCHAIN_LINK_CXX
    58   SA_TOOLCHAIN := TOOLCHAIN_LINK_CXX
    64   SA_CFLAGS := $(CFLAGS_JDKLIB)
    59   SA_CFLAGS := $(CFLAGS_JDKLIB)
    65   SA_CXXFLAGS := $(CXXFLAGS_JDKLIB)
    60   SA_CXXFLAGS := $(CXXFLAGS_JDKLIB)
    66   SA_LDFLAGS := $(subst -Wl$(COMMA)-z$(COMMA)defs,, $(LDFLAGS_JDKLIB)) \
    61   SA_LDFLAGS := -mt $(LDFLAGS_CXX_JDK)
    67       -mt $(LDFLAGS_CXX_JDK)
    62   SA_LIBS := -ldl -ldemangle -lthread -lproc
    68   SA_LIBS := -ldl -ldemangle -lthread -lc
       
    69 
    63 
    70 else ifeq ($(OPENJDK_TARGET_OS), macosx)
    64 else ifeq ($(OPENJDK_TARGET_OS), macosx)
    71   SA_EXCLUDE_FILES := BsdDebuggerLocal.c ps_proc.c salibelf.c StubDebuggerLocal.c
    65   SA_EXCLUDE_FILES := BsdDebuggerLocal.c ps_proc.c salibelf.c StubDebuggerLocal.c
    72   SA_CFLAGS := $(CFLAGS_JDKLIB) \
    66   SA_CFLAGS := $(CFLAGS_JDKLIB) \
    73       -Damd64 -D_GNU_SOURCE -mno-omit-leaf-frame-pointer \
    67       -Damd64 -D_GNU_SOURCE -mno-omit-leaf-frame-pointer \
    74       -mstack-alignment=16 -fPIC
    68       -mstack-alignment=16 -fPIC
    75   SA_LDFLAGS := $(LDFLAGS_JDKLIB)
       
    76   SA_LIBS := -framework Foundation -framework JavaNativeFoundation \
    69   SA_LIBS := -framework Foundation -framework JavaNativeFoundation \
    77       -framework JavaRuntimeSupport -framework Security -framework CoreFoundation
    70       -framework JavaRuntimeSupport -framework Security -framework CoreFoundation
    78 
    71 
    79 else ifeq ($(OPENJDK_TARGET_OS), windows)
    72 else ifeq ($(OPENJDK_TARGET_OS), windows)
    80   SA_NAME := sawindbg
    73   SA_NAME := sawindbg
    81   COMMON_CFLAGS := -D_WINDOWS -D_DEBUG -D_CONSOLE -D_MBCS -EHsc -FD
    74   COMMON_CFLAGS := -D_WINDOWS -D_DEBUG -D_CONSOLE -D_MBCS -EHsc
    82   SA_CFLAGS := $(subst -DWIN32_LEAN_AND_MEAN,, $(CFLAGS_JDKLIB)) \
    75   SA_CFLAGS := $(subst -DWIN32_LEAN_AND_MEAN,, $(CFLAGS_JDKLIB)) \
    83       $(COMMON_CFLAGS)
    76       $(COMMON_CFLAGS)
    84   SA_CXXFLAGS := $(subst -DWIN32_LEAN_AND_MEAN,, $(CXXFLAGS_JDKLIB)) \
    77   SA_CXXFLAGS := $(subst -DWIN32_LEAN_AND_MEAN,, $(CXXFLAGS_JDKLIB)) \
    85       $(COMMON_CFLAGS)
    78       $(COMMON_CFLAGS)
    86   SA_LDFLAGS := $(LDFLAGS_JDKLIB) \
    79   SA_LDFLAGS := -manifest
    87       $(SA_MACHINE_FLAG_windows) -manifest \
       
    88       -subsystem:console -map
       
    89   SA_LIBS := dbgeng.lib
    80   SA_LIBS := dbgeng.lib
    90   ifeq ($(OPENJDK_TARGET_CPU), x86_64)
    81   ifeq ($(OPENJDK_TARGET_CPU), x86_64)
    91     SA_CXXFLAGS += -DWIN64
    82     SA_CXXFLAGS += -DWIN64
    92   else
    83   else
    93     SA_CXXFLAGS += -RTC1
    84     SA_CXXFLAGS += -RTC1
    94     SA_LDFLAGS += -SAFESEH
       
    95   endif
    85   endif
    96 endif
    86 endif
    97 
    87 
    98 ################################################################################
    88 ################################################################################
    99 
    89 
   100 $(eval $(call SetupNativeCompilation, BUILD_LIBSA, \
    90 $(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
   101     NAME := $(SA_NAME), \
    91     NAME := $(SA_NAME), \
   102     TOOLCHAIN := $(SA_TOOLCHAIN), \
    92     TOOLCHAIN := $(SA_TOOLCHAIN), \
   103     OPTIMIZATION := NONE, \
    93     OPTIMIZATION := NONE, \
   104     DISABLED_WARNINGS_microsoft := 4267, \
    94     DISABLED_WARNINGS_microsoft := 4267, \
   105     DISABLED_WARNINGS_gcc := sign-compare, \
    95     DISABLED_WARNINGS_gcc := sign-compare, \
   106     DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma doubunder, \
    96     DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma doubunder, \
   107     OUTPUT_DIR := $(call FindLibDirForModule, $(MODULE)), \
       
   108     SRC := $(SA_SRC), \
    97     SRC := $(SA_SRC), \
   109     EXCLUDE_FILES := test.c saproc_audit.cpp $(SA_EXCLUDE_FILES), \
    98     EXCLUDE_FILES := test.c saproc_audit.cpp $(SA_EXCLUDE_FILES), \
   110     CFLAGS := $(SA_INCLUDES) $(SA_CFLAGS) $(SA_CUSTOM_CFLAGS), \
    99     CFLAGS := $(SA_INCLUDES) $(SA_CFLAGS) $(SA_CUSTOM_CFLAGS), \
   111     CXXFLAGS := $(SA_INCLUDES) $(SA_CXXFLAGS) $(SA_CUSTOM_CXXFLAGS), \
   100     CXXFLAGS := $(SA_INCLUDES) $(SA_CXXFLAGS) $(SA_CUSTOM_CXXFLAGS), \
   112     LDFLAGS := $(SA_LDFLAGS) $(SA_CUSTOM_LDFLAGS), \
   101     LDFLAGS := $(LDFLAGS_JDKLIB) $(SA_LDFLAGS), \
   113     LIBS := $(SA_LIBS), \
   102     LIBS := $(SA_LIBS), \
   114     MAPFILE := $(SA_MAPFILE), \
   103     MAPFILE := $(SA_MAPFILE), \
   115     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libsa, \
       
   116 ))
   104 ))
   117 
   105 
   118 TARGETS += $(BUILD_LIBSA)
   106 TARGETS += $(BUILD_LIBSA)
   119 
   107 
   120 ################################################################################
   108 ################################################################################