30
31 # Prepare the find cache.
32 $(call FillFindCache, $(wildcard $(TOPDIR)/src/java.base/*/native))
33
34 ################################################################################
35 # Create all the core libraries
36
37 include lib/CoreLibraries.gmk
38
39 ################################################################################
40 # Create the network library
41
42 $(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
43 NAME := net, \
44 OPTIMIZATION := LOW, \
45 CFLAGS := $(CFLAGS_JDKLIB), \
46 DISABLED_WARNINGS_gcc := format-nonliteral unused-function, \
47 DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand \
48 format-nonliteral undef, \
49 DISABLED_WARNINGS_microsoft := 4244 4047 4133 4996, \
50 DISABLED_WARNINGS_solstudio := E_ARG_INCOMPATIBLE_WITH_ARG_L, \
51 LDFLAGS := $(LDFLAGS_JDKLIB) \
52 $(call SET_SHARED_LIBRARY_ORIGIN), \
53 LDFLAGS_windows := -delayload:secur32.dll -delayload:iphlpapi.dll, \
54 LIBS_unix := -ljvm -ljava, \
55 LIBS_linux := $(LIBDL) -lpthread, \
56 LIBS_solaris := -lnsl -lsocket $(LIBDL), \
57 LIBS_aix := $(LIBDL),\
58 LIBS_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib winhttp.lib \
59 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
60 LIBS_macosx := -framework CoreFoundation -framework CoreServices, \
61 ))
62
63 $(BUILD_LIBNET): $(BUILD_LIBJAVA)
64
65 TARGETS += $(BUILD_LIBNET)
66
67 ################################################################################
68 # Create the nio library
69
70 $(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \
71 NAME := nio, \
72 OPTIMIZATION := HIGH, \
73 WARNINGS_AS_ERRORS_xlc := false, \
74 CFLAGS := $(CFLAGS_JDKLIB), \
75 DISABLED_WARNINGS_gcc := undef, \
76 DISABLED_WARNINGS_clang := undef, \
77 EXTRA_HEADER_DIRS := \
78 libnio/ch \
79 libnio/fs \
80 libnet, \
81 LDFLAGS := $(LDFLAGS_JDKLIB) \
82 $(call SET_SHARED_LIBRARY_ORIGIN), \
83 LIBS_unix := -ljava -lnet, \
84 LIBS_linux := -lpthread $(LIBDL), \
85 LIBS_solaris := -ljvm -lsocket -lposix4 $(LIBDL) \
86 -lsendfile, \
87 LIBS_aix := $(LIBDL), \
88 LIBS_macosx := \
89 -framework CoreFoundation -framework CoreServices, \
90 LIBS_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
91 $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libnet/net.lib \
92 advapi32.lib, \
93 ))
94
95 TARGETS += $(BUILD_LIBNIO)
96
97 $(BUILD_LIBNIO): $(BUILD_LIBNET)
98
99 ################################################################################
100 # Create the macosx security library
101
102 ifeq ($(call isTargetOs, macosx), true)
103 # JavaNativeFoundation framework not supported in static builds
104 ifneq ($(STATIC_BUILD), true)
105
106 $(eval $(call SetupJdkLibrary, BUILD_LIBOSXSECURITY, \
123 $(BUILD_LIBOSXSECURITY): $(BUILD_LIBJAVA)
124
125 TARGETS += $(BUILD_LIBOSXSECURITY)
126
127 endif
128 endif
129
130 ################################################################################
131 # Create the jsig library
132
133 ifeq ($(call isTargetOsType, unix), true)
134 ifeq ($(STATIC_BUILD), false)
135 $(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
136 NAME := jsig, \
137 OPTIMIZATION := LOW, \
138 CFLAGS := $(CFLAGS_JDKLIB) $(LIBJSIG_CFLAGS), \
139 DISABLED_WARNINGS_gcc := undef, \
140 LDFLAGS := $(LDFLAGS_JDKLIB) \
141 $(call SET_SHARED_LIBRARY_ORIGIN), \
142 LIBS_linux := $(LIBDL), \
143 LIBS_solaris := $(LIBDL), \
144 LIBS_aix := $(LIBDL), \
145 ))
146
147 TARGETS += $(BUILD_LIBJSIG)
148
149 ############################################################################
150 # Create symlinks to libjsig in each JVM variant sub dir
151 ifneq ($(STATIC_LIBS), true)
152 LIB_OUTPUTDIR := $(call FindLibDirForModule, java.base)
153
154 # $1 variant subdir
155 define CreateSymlinks
156 # Always symlink from libdir/variant/libjsig.so -> ../libjsig.so.
157 $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig): \
158 $(LIB_OUTPUTDIR)/$(call SHARED_LIBRARY,jsig)
159 $$(call MakeDir, $$(@D))
160 $(RM) $$@
161 $(LN) -s ../$$(@F) $$@
162
163 TARGETS += $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig)
|
30
31 # Prepare the find cache.
32 $(call FillFindCache, $(wildcard $(TOPDIR)/src/java.base/*/native))
33
34 ################################################################################
35 # Create all the core libraries
36
37 include lib/CoreLibraries.gmk
38
39 ################################################################################
40 # Create the network library
41
42 $(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
43 NAME := net, \
44 OPTIMIZATION := LOW, \
45 CFLAGS := $(CFLAGS_JDKLIB), \
46 DISABLED_WARNINGS_gcc := format-nonliteral unused-function, \
47 DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand \
48 format-nonliteral undef, \
49 DISABLED_WARNINGS_microsoft := 4244 4047 4133 4996, \
50 LDFLAGS := $(LDFLAGS_JDKLIB) \
51 $(call SET_SHARED_LIBRARY_ORIGIN), \
52 LDFLAGS_windows := -delayload:secur32.dll -delayload:iphlpapi.dll, \
53 LIBS_unix := -ljvm -ljava, \
54 LIBS_linux := $(LIBDL) -lpthread, \
55 LIBS_aix := $(LIBDL),\
56 LIBS_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib winhttp.lib \
57 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
58 LIBS_macosx := -framework CoreFoundation -framework CoreServices, \
59 ))
60
61 $(BUILD_LIBNET): $(BUILD_LIBJAVA)
62
63 TARGETS += $(BUILD_LIBNET)
64
65 ################################################################################
66 # Create the nio library
67
68 $(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \
69 NAME := nio, \
70 OPTIMIZATION := HIGH, \
71 WARNINGS_AS_ERRORS_xlc := false, \
72 CFLAGS := $(CFLAGS_JDKLIB), \
73 DISABLED_WARNINGS_gcc := undef, \
74 DISABLED_WARNINGS_clang := undef, \
75 EXTRA_HEADER_DIRS := \
76 libnio/ch \
77 libnio/fs \
78 libnet, \
79 LDFLAGS := $(LDFLAGS_JDKLIB) \
80 $(call SET_SHARED_LIBRARY_ORIGIN), \
81 LIBS_unix := -ljava -lnet, \
82 LIBS_linux := -lpthread $(LIBDL), \
83 LIBS_aix := $(LIBDL), \
84 LIBS_macosx := \
85 -framework CoreFoundation -framework CoreServices, \
86 LIBS_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
87 $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libnet/net.lib \
88 advapi32.lib, \
89 ))
90
91 TARGETS += $(BUILD_LIBNIO)
92
93 $(BUILD_LIBNIO): $(BUILD_LIBNET)
94
95 ################################################################################
96 # Create the macosx security library
97
98 ifeq ($(call isTargetOs, macosx), true)
99 # JavaNativeFoundation framework not supported in static builds
100 ifneq ($(STATIC_BUILD), true)
101
102 $(eval $(call SetupJdkLibrary, BUILD_LIBOSXSECURITY, \
119 $(BUILD_LIBOSXSECURITY): $(BUILD_LIBJAVA)
120
121 TARGETS += $(BUILD_LIBOSXSECURITY)
122
123 endif
124 endif
125
126 ################################################################################
127 # Create the jsig library
128
129 ifeq ($(call isTargetOsType, unix), true)
130 ifeq ($(STATIC_BUILD), false)
131 $(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
132 NAME := jsig, \
133 OPTIMIZATION := LOW, \
134 CFLAGS := $(CFLAGS_JDKLIB) $(LIBJSIG_CFLAGS), \
135 DISABLED_WARNINGS_gcc := undef, \
136 LDFLAGS := $(LDFLAGS_JDKLIB) \
137 $(call SET_SHARED_LIBRARY_ORIGIN), \
138 LIBS_linux := $(LIBDL), \
139 LIBS_aix := $(LIBDL), \
140 ))
141
142 TARGETS += $(BUILD_LIBJSIG)
143
144 ############################################################################
145 # Create symlinks to libjsig in each JVM variant sub dir
146 ifneq ($(STATIC_LIBS), true)
147 LIB_OUTPUTDIR := $(call FindLibDirForModule, java.base)
148
149 # $1 variant subdir
150 define CreateSymlinks
151 # Always symlink from libdir/variant/libjsig.so -> ../libjsig.so.
152 $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig): \
153 $(LIB_OUTPUTDIR)/$(call SHARED_LIBRARY,jsig)
154 $$(call MakeDir, $$(@D))
155 $(RM) $$@
156 $(LN) -s ../$$(@F) $$@
157
158 TARGETS += $(LIB_OUTPUTDIR)/$1/$(call SHARED_LIBRARY,jsig)
|