@@ -37,34 +37,40 @@ $(call FillFindCache, $(wildcard $(TOPDIR)/src/java.base/*/native))
37
37
include lib/CoreLibraries.gmk
38
38
39
39
################################################################################
40
- # Create the network library
40
+ ## Build libnet
41
+ ################################################################################
41
42
42
43
$(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
43
44
NAME := net, \
44
45
OPTIMIZATION := LOW, \
45
46
DISABLED_WARNINGS_gcc_net_util_md.c := format-nonliteral, \
46
47
DISABLED_WARNINGS_gcc_NetworkInterface.c := unused-function, \
47
48
DISABLED_WARNINGS_clang_net_util_md.c := format-nonliteral, \
48
- DISABLED_WARNINGS_clang_aix_DefaultProxySelector.c := deprecated-non-prototype, \
49
+ DISABLED_WARNINGS_clang_aix_DefaultProxySelector.c := \
50
+ deprecated-non-prototype, \
49
51
DISABLED_WARNINGS_clang_aix_NetworkInterface.c := gnu-pointer-arith, \
50
52
DISABLED_WARNINGS_microsoft_InetAddress.c := 4244, \
51
53
DISABLED_WARNINGS_microsoft_ResolverConfigurationImpl.c := 4996, \
52
- LDFLAGS_windows := -delayload:secur32 .dll -delayload:iphlpapi .dll \
54
+ LDFLAGS_windows := -delayload:iphlpapi .dll -delayload:secur32 .dll \
53
55
-delayload:winhttp.dll, \
54
- LIBS_unix := -ljvm -ljava, \
56
+ JDK_LIBS_unix := -ljava -ljvm, \
57
+ JDK_LIBS_windows := $(WIN_JAVA_LIB) jvm.lib, \
55
58
LIBS_linux := $(LIBDL), \
56
59
LIBS_aix := $(LIBDL),\
57
- LIBS_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib winhttp.lib \
58
- delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
59
- LIBS_macosx := -framework CoreFoundation -framework CoreServices, \
60
+ LIBS_windows := advapi32.lib delayimp.lib iphlpapi.lib secur32.lib \
61
+ winhttp.lib ws2_32.lib, \
62
+ LIBS_macosx := \
63
+ -framework CoreFoundation \
64
+ -framework CoreServices, \
60
65
))
61
66
62
67
$(BUILD_LIBNET): $(BUILD_LIBJAVA)
63
68
64
69
TARGETS += $(BUILD_LIBNET)
65
70
66
71
################################################################################
67
- # Create the nio library
72
+ ## Build libnio
73
+ ################################################################################
68
74
69
75
$(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \
70
76
NAME := nio, \
@@ -73,100 +79,96 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \
73
79
libnio/ch \
74
80
libnio/fs \
75
81
libnet, \
76
- LIBS_unix := -ljava -lnet, \
77
- LIBS_linux := -lpthread $(LIBDL), \
82
+ JDK_LIBS_unix := -ljava -lnet, \
83
+ JDK_LIBS_windows := $(WIN_JAVA_LIB) jvm.lib \
84
+ $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libnet/net.lib, \
85
+ LIBS_linux := $(LIBDL) -lpthread, \
78
86
LIBS_aix := $(LIBDL), \
79
87
LIBS_macosx := \
80
- -framework CoreFoundation -framework CoreServices, \
81
- LIBS_windows := jvm.lib Mswsock.lib ws2_32.lib $(WIN_JAVA_LIB) \
82
- $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libnet/net.lib \
83
- advapi32.lib, \
88
+ -framework CoreFoundation \
89
+ -framework CoreServices, \
90
+ LIBS_windows := advapi32.lib mswsock.lib ws2_32.lib, \
84
91
))
85
92
86
93
TARGETS += $(BUILD_LIBNIO)
87
94
88
95
$(BUILD_LIBNIO): $(BUILD_LIBNET)
89
96
90
- ################################################################################
91
- # Create the macosx security library
92
-
93
97
ifeq ($(call isTargetOs, macosx), true)
98
+ ##############################################################################
99
+ ## Build libosxsecurity
100
+ ##############################################################################
94
101
95
102
$(eval $(call SetupJdkLibrary, BUILD_LIBOSXSECURITY, \
96
103
NAME := osxsecurity, \
97
104
OPTIMIZATION := LOW, \
98
105
DISABLED_WARNINGS_clang_KeystoreImpl.m := deprecated-declarations, \
99
106
LDFLAGS := -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base,\
100
- LIBS := \
101
- -lobjc \
107
+ JDK_LIBS := $(JDKLIB_LIBS), \
108
+ LIBS_macosx := -lobjc \
102
109
-framework CoreServices \
103
- -framework Security \
104
110
-framework Foundation \
105
- $(JDKLIB_LIBS) , \
111
+ -framework Security , \
106
112
))
107
113
108
114
$(BUILD_LIBOSXSECURITY): $(BUILD_LIBJAVA)
109
115
110
116
TARGETS += $(BUILD_LIBOSXSECURITY)
111
-
112
117
endif
113
118
114
- ################################################################################
115
- # Create the jsig library
116
-
117
- ifeq ($(call isTargetOsType, unix), true)
118
- ifeq ($(STATIC_BUILD), false)
119
- $(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
120
- NAME := jsig, \
121
- OPTIMIZATION := LOW, \
122
- jsig.c_CFLAGS := -DHOTSPOT_VM_DISTRO='"$(HOTSPOT_VM_DISTRO)"', \
123
- LIBS_linux := $(LIBDL), \
124
- LIBS_aix := $(LIBDL), \
125
- ))
119
+ ifeq ($(call isTargetOsType, unix)+$(STATIC_BUILD), true+false)
120
+ ##############################################################################
121
+ ## Build libjsig
122
+ ##############################################################################
123
+
124
+ $(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
125
+ NAME := jsig, \
126
+ OPTIMIZATION := LOW, \
127
+ jsig.c_CFLAGS := -DHOTSPOT_VM_DISTRO='"$(HOTSPOT_VM_DISTRO)"', \
128
+ LIBS_linux := $(LIBDL), \
129
+ LIBS_aix := $(LIBDL), \
130
+ ))
126
131
127
- TARGETS += $(BUILD_LIBJSIG)
132
+ TARGETS += $(BUILD_LIBJSIG)
128
133
129
- ############################################################################
130
- # Create symlinks to libjsig in each JVM variant sub dir
131
- ifneq ($(STATIC_LIBS), true)
132
- LIB_OUTPUTDIR := $(call FindLibDirForModule, java.base)
134
+ ## ############################################################################
135
+ # Create symlinks to libjsig in each JVM variant sub dir
136
+ ifneq ($(STATIC_LIBS), true)
137
+ LIB_OUTPUTDIR := $(call FindLibDirForModule, java.base)
133
138
134
- # $1 variant subdir
135
- define CreateSymlinks
136
- # Always symlink from libdir/variant/libjsig.so -> ../libjsig.so.
137
- $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig): \
138
- $(LIB_OUTPUTDIR)/$(call SHARED_LIBRARY,jsig)
139
+ # $1 variant subdir
140
+ define CreateSymlinks
141
+ # Always symlink from libdir/variant/libjsig.so -> ../libjsig.so.
142
+ $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig): \
143
+ $(LIB_OUTPUTDIR)/$(call SHARED_LIBRARY,jsig)
139
144
$$(call MakeDir, $$(@D))
140
145
$(RM) $$@
141
146
$(LN) -s ../$$(@F) $$@
142
147
143
- TARGETS += $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig)
144
- endef
145
-
146
- # The subdir is the same as the variant
147
- $(foreach v, $(JVM_VARIANTS), $(eval $(call CreateSymlinks,$v)))
148
- endif
149
- ############################################################################
148
+ TARGETS += $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig)
149
+ endef
150
150
151
+ # The subdir is the same as the variant
152
+ $(foreach v, $(JVM_VARIANTS), $(eval $(call CreateSymlinks,$v)))
151
153
endif
152
154
endif
153
155
154
156
################################################################################
155
157
# Create the symbols file for static builds.
156
-
157
158
ifeq ($(STATIC_BUILD), true)
159
+ STATIC_SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base
158
160
JAVA_BASE_EXPORT_SYMBOLS_SRC := \
159
- $(SUPPORT_OUTPUTDIR)/modules_libs/java.base /$(LIBRARY_PREFIX)jli.symbols \
160
- $(SUPPORT_OUTPUTDIR)/modules_libs/java.base /$(LIBRARY_PREFIX)java.symbols \
161
- $(SUPPORT_OUTPUTDIR)/modules_libs/java.base /$(LIBRARY_PREFIX)net.symbols \
162
- $(SUPPORT_OUTPUTDIR)/modules_libs/java.base /$(LIBRARY_PREFIX)nio.symbols \
163
- $(SUPPORT_OUTPUTDIR)/modules_libs/java.base /$(LIBRARY_PREFIX)verify.symbols \
164
- $(SUPPORT_OUTPUTDIR)/modules_libs/java.base /$(LIBRARY_PREFIX)zip.symbols \
165
- $(SUPPORT_OUTPUTDIR)/modules_libs/java.base /$(LIBRARY_PREFIX)jimage.symbols \
166
- $(SUPPORT_OUTPUTDIR)/modules_libs/java.base /server/$(LIBRARY_PREFIX)jvm.symbols \
161
+ $(STATIC_SYMBOLS_DIR) /$(LIBRARY_PREFIX)jli.symbols \
162
+ $(STATIC_SYMBOLS_DIR) /$(LIBRARY_PREFIX)java.symbols \
163
+ $(STATIC_SYMBOLS_DIR) /$(LIBRARY_PREFIX)net.symbols \
164
+ $(STATIC_SYMBOLS_DIR) /$(LIBRARY_PREFIX)nio.symbols \
165
+ $(STATIC_SYMBOLS_DIR) /$(LIBRARY_PREFIX)verify.symbols \
166
+ $(STATIC_SYMBOLS_DIR) /$(LIBRARY_PREFIX)zip.symbols \
167
+ $(STATIC_SYMBOLS_DIR) /$(LIBRARY_PREFIX)jimage.symbols \
168
+ $(STATIC_SYMBOLS_DIR) /server/$(LIBRARY_PREFIX)jvm.symbols \
167
169
#
168
170
169
- JAVA_BASE_EXPORT_SYMBOL_FILE := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base /java.base.symbols
171
+ JAVA_BASE_EXPORT_SYMBOL_FILE := $(STATIC_SYMBOLS_DIR) /java.base.symbols
170
172
171
173
$(JAVA_BASE_EXPORT_SYMBOL_FILE): $(JAVA_BASE_EXPORT_SYMBOLS_SRC)
172
174
$(call LogInfo, Generating java.base.symbols file)
@@ -181,56 +183,47 @@ ifeq ($(STATIC_BUILD), true)
181
183
endif
182
184
183
185
################################################################################
184
- # Copy tzmappings file for Windows
185
-
186
- ifeq ($(call isTargetOs, windows), true)
187
- $(eval $(call SetupCopyFiles, COPY_TZMAPPINGS, \
188
- FILES := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/windows/conf/tzmappings, \
189
- DEST := $(call FindLibDirForModule, $(MODULE)), \
190
- ))
191
- TARGETS += $(COPY_TZMAPPINGS)
192
- endif
193
-
186
+ ## Build libsyslookup
194
187
################################################################################
195
- # Create system lookup
196
188
197
- $(eval $(call SetupJdkLibrary, BUILD_SYSLOOKUPLIB , \
189
+ $(eval $(call SetupJdkLibrary, BUILD_LIBSYSLOOKUP , \
198
190
NAME := syslookup, \
199
191
LD_SET_ORIGIN := false, \
200
192
LDFLAGS_linux := -Wl$(COMMA)--no-as-needed, \
201
193
LDFLAGS_aix := -brtl -bexpfull, \
202
- LIBS_linux := -lm -ldl , \
203
- LIBS_aix := -lm - ldecNumber, \
194
+ LIBS_linux := $(LIBDL) $(LIBM) , \
195
+ LIBS_aix := -ldecNumber $(LIBM) , \
204
196
))
205
197
206
- TARGETS += $(BUILD_SYSLOOKUPLIB)
207
-
208
- ################################################################################
209
- # Create fallback linker lib
198
+ TARGETS += $(BUILD_LIBSYSLOOKUP)
210
199
211
200
ifeq ($(ENABLE_FALLBACK_LINKER), true)
201
+ ##############################################################################
202
+ ## Build libfallbackLinker
203
+ ##############################################################################
204
+
212
205
$(eval $(call SetupJdkLibrary, BUILD_LIBFALLBACKLINKER, \
213
206
NAME := fallbackLinker, \
214
207
CFLAGS := $(LIBFFI_CFLAGS), \
215
208
LIBS := $(LIBFFI_LIBS), \
216
- LIBS_windows := $(LIBFFI_LIBS) ws2_32.lib, \
209
+ LIBS_windows := ws2_32.lib, \
217
210
))
218
211
219
212
TARGETS += $(BUILD_LIBFALLBACKLINKER)
220
213
endif
221
214
222
- ################################################################################
223
-
224
215
ifeq ($(call isTargetOs, linux)+$(call isTargetCpu, x86_64)+$(INCLUDE_COMPILER2)+$(filter $(TOOLCHAIN_TYPE), gcc), true+true+true+gcc)
225
- $(eval $(call SetupJdkLibrary, BUILD_LIB_SIMD_SORT, \
216
+ ##############################################################################
217
+ ## Build libsimdsort
218
+ ##############################################################################
219
+
220
+ $(eval $(call SetupJdkLibrary, BUILD_LIBSIMD_SORT, \
226
221
NAME := simdsort, \
227
222
LINK_TYPE := C++, \
228
223
OPTIMIZATION := HIGH, \
229
224
CXXFLAGS := -std=c++17, \
230
- LIBS_linux := -lm -ldl , \
225
+ LIBS_linux := $(LIBDL) $(LIBM) , \
231
226
))
232
227
233
- TARGETS += $(BUILD_LIB_SIMD_SORT )
228
+ TARGETS += $(BUILD_LIBSIMD_SORT )
234
229
endif
235
-
236
- ################################################################################
0 commit comments