33 include NativeCompilation.gmk |
33 include NativeCompilation.gmk |
34 |
34 |
35 ifneq ($(OPENJDK_TARGET_OS), windows) |
35 ifneq ($(OPENJDK_TARGET_OS), windows) |
36 ifeq ($(STATIC_BUILD), false) |
36 ifeq ($(STATIC_BUILD), false) |
37 ifeq ($(OPENJDK_TARGET_OS), linux) |
37 ifeq ($(OPENJDK_TARGET_OS), linux) |
38 LIBJSIG_CFLAGS := -fPIC -D_GNU_SOURCE -D_REENTRANT $(EXTRA_CFLAGS) |
38 LIBJSIG_CFLAGS := -fvisibility=hidden -fPIC -D_GNU_SOURCE -D_REENTRANT $(EXTRA_CFLAGS) |
39 LIBJSIG_LDFLAGS := $(LDFLAGS_HASH_STYLE) ${LDFLAGS_NO_EXEC_STACK} $(EXTRA_CFLAGS) |
39 LIBJSIG_LDFLAGS := $(LDFLAGS_HASH_STYLE) ${LDFLAGS_NO_EXEC_STACK} $(EXTRA_CFLAGS) |
40 LIBJSIG_LIBS := $(LIBDL) |
40 LIBJSIG_LIBS := $(LIBDL) |
41 |
41 |
42 # NOTE: The old build compiled this library without -soname. |
42 # NOTE: The old build compiled this library without -soname. |
43 # To emulate this, we need to clear out SET_SHARED_LIBRARY_NAME. |
43 # To emulate this, we need to clear out SET_SHARED_LIBRARY_NAME. |
55 else ifeq ($(OPENJDK_TARGET_CPU), s390x) |
55 else ifeq ($(OPENJDK_TARGET_CPU), s390x) |
56 LIBJSIG_CPU_FLAGS := -mbackchain -march=z10 |
56 LIBJSIG_CPU_FLAGS := -mbackchain -march=z10 |
57 endif |
57 endif |
58 |
58 |
59 else ifeq ($(OPENJDK_TARGET_OS), solaris) |
59 else ifeq ($(OPENJDK_TARGET_OS), solaris) |
60 LIBJSIG_CFLAGS := -m64 -KPIC -mt -I $(TOPDIR)/src/hotspot/os/$(HOTSPOT_TARGET_OS_TYPE)/include |
60 LIBJSIG_CFLAGS := -fvisibility=hidden -m64 -KPIC -mt -I $(TOPDIR)/src/hotspot/os/$(HOTSPOT_TARGET_OS_TYPE)/include |
61 LIBJSIG_LDFLAGS := -m64 -mt -xnolib |
61 LIBJSIG_LDFLAGS := -m64 -mt -xnolib |
62 LIBJSIG_LIBS := $(LIBDL) |
62 LIBJSIG_LIBS := $(LIBDL) |
63 |
63 |
64 # NOTE: The old build compiled this library without -soname. |
64 # NOTE: The old build compiled this library without -soname. |
65 # To emulate this, we need to clear out SET_SHARED_LIBRARY_NAME. |
65 # To emulate this, we need to clear out SET_SHARED_LIBRARY_NAME. |
66 SET_SHARED_LIBRARY_NAME := |
66 SET_SHARED_LIBRARY_NAME := |
67 |
67 |
68 else ifeq ($(OPENJDK_TARGET_OS), aix) |
68 else ifeq ($(OPENJDK_TARGET_OS), aix) |
69 LIBJSIG_CFLAGS := -q64 -D_GNU_SOURCE -D_REENTRANT -qpic=large |
69 LIBJSIG_CFLAGS := -fvisibility=hidden -q64 -D_GNU_SOURCE -D_REENTRANT -qpic=large |
70 LIBJSIG_LDFLAGS := -b64 -bexpall -G -bnoentry -qmkshrobj -brtl -bnolibpath -bernotok |
70 LIBJSIG_LDFLAGS := -b64 -bexpall -G -bnoentry -qmkshrobj -brtl -bnolibpath -bernotok |
71 LIBJSIG_LIBS := $(LIBDL) |
71 LIBJSIG_LIBS := $(LIBDL) |
72 |
72 |
73 # NOTE: The old build compiled this library without -soname. |
73 # NOTE: The old build compiled this library without -soname. |
74 # To emulate this, we need to clear out SET_SHARED_LIBRARY_NAME. |
74 # To emulate this, we need to clear out SET_SHARED_LIBRARY_NAME. |
75 SET_SHARED_LIBRARY_NAME := |
75 SET_SHARED_LIBRARY_NAME := |
76 |
76 |
77 else ifeq ($(OPENJDK_TARGET_OS), macosx) |
77 else ifeq ($(OPENJDK_TARGET_OS), macosx) |
78 LIBJSIG_CFLAGS := -m64 -D_GNU_SOURCE -pthread -mno-omit-leaf-frame-pointer -mstack-alignment=16 -fPIC |
78 LIBJSIG_CFLAGS := -fvisibility=hidden -m64 -D_GNU_SOURCE -pthread -mno-omit-leaf-frame-pointer -mstack-alignment=16 -fPIC |
79 LIBJSIG_LDFLAGS := $(LDFLAGS_HASH_STYLE) |
79 LIBJSIG_LDFLAGS := $(LDFLAGS_HASH_STYLE) |
80 else |
80 else |
81 $(error Unknown target OS $(OPENJDK_TARGET_OS) in CompileLibjsig.gmk) |
81 $(error Unknown target OS $(OPENJDK_TARGET_OS) in CompileLibjsig.gmk) |
82 endif |
82 endif |
83 |
83 |
|
84 LIBJSIG_CFLAGS += \ |
|
85 -I$(TOPDIR)/src/java.base/share/native/include \ |
|
86 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/include \ |
|
87 # |
84 LIBJSIG_SRC_DIR := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjsig |
88 LIBJSIG_SRC_DIR := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjsig |
85 LIBJSIG_MAPFILE := $(wildcard $(TOPDIR)/make/mapfiles/libjsig/mapfile-vers-$(OPENJDK_TARGET_OS)) |
|
86 LIBJSIG_OUTPUTDIR := $(HOTSPOT_OUTPUTDIR)/libjsig |
89 LIBJSIG_OUTPUTDIR := $(HOTSPOT_OUTPUTDIR)/libjsig |
87 |
90 |
88 LIBJSIG_LDFLAGS += $(SHARED_LIBRARY_FLAGS) |
91 LIBJSIG_LDFLAGS += $(SHARED_LIBRARY_FLAGS) |
89 |
92 |
90 LIB_OUTPUTDIR := $(call FindLibDirForModule, java.base) |
93 LIB_OUTPUTDIR := $(call FindLibDirForModule, java.base) |
95 OUTPUT_DIR := $(LIB_OUTPUTDIR), \ |
98 OUTPUT_DIR := $(LIB_OUTPUTDIR), \ |
96 LANG := C, \ |
99 LANG := C, \ |
97 CFLAGS := $(LIBJSIG_CFLAGS) $(LIBJSIG_CPU_FLAGS), \ |
100 CFLAGS := $(LIBJSIG_CFLAGS) $(LIBJSIG_CPU_FLAGS), \ |
98 LDFLAGS := $(LIBJSIG_LDFLAGS) $(LIBJSIG_CPU_FLAGS), \ |
101 LDFLAGS := $(LIBJSIG_LDFLAGS) $(LIBJSIG_CPU_FLAGS), \ |
99 LIBS := $(LIBJSIG_LIBS), \ |
102 LIBS := $(LIBJSIG_LIBS), \ |
100 MAPFILE := $(LIBJSIG_MAPFILE), \ |
|
101 OBJECT_DIR := $(LIBJSIG_OUTPUTDIR)/objs, \ |
103 OBJECT_DIR := $(LIBJSIG_OUTPUTDIR)/objs, \ |
102 )) |
104 )) |
103 |
105 |
104 TARGETS += $(BUILD_LIBJSIG) |
106 TARGETS += $(BUILD_LIBJSIG) |
105 |
107 |