make/lib/Lib-java.base.gmk
changeset 50471 f0aeede1b855
parent 49561 a0f22265e29c
child 51677 ddc976897c75
child 56726 3a9b7a1f9197
equal deleted inserted replaced
50470:f3aac763a315 50471:f0aeede1b855
    27 
    27 
    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.base.gmk))
    29 $(eval $(call IncludeCustomExtension, lib/Lib-java.base.gmk))
    30 
    30 
    31 # Prepare the find cache.
    31 # Prepare the find cache.
    32 LIB_java.base_SRC_DIRS += $(TOPDIR)/src/java.base/*/native
    32 $(eval $(call FillCacheFind, $(wildcard $(TOPDIR)/src/java.base/*/native)))
    33 
       
    34 $(eval $(call FillCacheFind, $(wildcard $(LIB_java.base_SRC_DIRS))))
       
    35 
    33 
    36 ################################################################################
    34 ################################################################################
    37 # Create all the core libraries
    35 # Create all the core libraries
    38 
    36 
    39 include CoreLibraries.gmk
    37 include CoreLibraries.gmk
    40 
    38 
    41 ################################################################################
    39 ################################################################################
    42 # Create the network library
    40 # Create the network library
    43 
       
    44 LIBNET_SRC_DIRS := $(call FindSrcDirsForLib, java.base, net)
       
    45 
    41 
    46 $(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
    42 $(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
    47     NAME := net, \
    43     NAME := net, \
    48     SRC := $(LIBNET_SRC_DIRS), \
       
    49     OPTIMIZATION := LOW, \
    44     OPTIMIZATION := LOW, \
    50     CFLAGS := $(CFLAGS_JDKLIB) -I$(SUPPORT_OUTPUTDIR)/headers/java.base \
    45     CFLAGS := $(CFLAGS_JDKLIB), \
    51         $(LIBJAVA_HEADER_FLAGS) $(addprefix -I, $(LIBNET_SRC_DIRS)), \
       
    52     DISABLED_WARNINGS_gcc := format-nonliteral, \
    46     DISABLED_WARNINGS_gcc := format-nonliteral, \
    53     DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand, \
    47     DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand, \
    54     DISABLED_WARNINGS_microsoft := 4244 4047 4133 4996, \
    48     DISABLED_WARNINGS_microsoft := 4244 4047 4133 4996, \
    55     DISABLED_WARNINGS_solstudio := E_ARG_INCOMPATIBLE_WITH_ARG_L, \
    49     DISABLED_WARNINGS_solstudio := E_ARG_INCOMPATIBLE_WITH_ARG_L, \
    56     LDFLAGS := $(LDFLAGS_JDKLIB) \
    50     LDFLAGS := $(LDFLAGS_JDKLIB) \
    70 TARGETS += $(BUILD_LIBNET)
    64 TARGETS += $(BUILD_LIBNET)
    71 
    65 
    72 ################################################################################
    66 ################################################################################
    73 # Create the nio library
    67 # Create the nio library
    74 
    68 
    75 BUILD_LIBNIO_SRC := \
       
    76     $(TOPDIR)/src/java.base/share/native/libnio \
       
    77     $(TOPDIR)/src/java.base/share/native/libnio/ch \
       
    78     $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libnio \
       
    79     $(sort $(wildcard \
       
    80       $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libnio/ch \
       
    81       $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libnio/fs \
       
    82       $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libnio/ch \
       
    83       $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libnio/fs)) \
       
    84     #
       
    85 
       
    86 BUILD_LIBNIO_CFLAGS := \
       
    87     $(addprefix -I, $(BUILD_LIBNIO_SRC)) \
       
    88     -I$(SUPPORT_OUTPUTDIR)/headers/java.base \
       
    89     $(LIBJAVA_HEADER_FLAGS) \
       
    90     $(addprefix -I, $(BUILD_LIBNET_SRC))
       
    91 
       
    92 $(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \
    69 $(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \
    93     NAME := nio, \
    70     NAME := nio, \
    94     SRC := $(BUILD_LIBNIO_SRC), \
       
    95     EXCLUDE_FILES := $(BUILD_LIBNIO_EXFILES), \
       
    96     OPTIMIZATION := HIGH, \
    71     OPTIMIZATION := HIGH, \
    97     WARNINGS_AS_ERRORS_xlc := false, \
    72     WARNINGS_AS_ERRORS_xlc := false, \
    98     CFLAGS := $(CFLAGS_JDKLIB) \
    73     CFLAGS := $(CFLAGS_JDKLIB), \
    99         $(BUILD_LIBNIO_CFLAGS), \
    74     EXTRA_HEADER_DIRS := \
       
    75         libnio/ch \
       
    76         libnio/fs \
       
    77         libnet, \
   100     LDFLAGS := $(LDFLAGS_JDKLIB) \
    78     LDFLAGS := $(LDFLAGS_JDKLIB) \
   101         $(call SET_SHARED_LIBRARY_ORIGIN), \
    79         $(call SET_SHARED_LIBRARY_ORIGIN), \
   102     LIBS_unix := -ljava -lnet, \
    80     LIBS_unix := -ljava -lnet, \
   103     LIBS_linux := -lpthread $(LIBDL), \
    81     LIBS_linux := -lpthread $(LIBDL), \
   104     LIBS_solaris := -ljvm -lsocket -lposix4 $(LIBDL) \
    82     LIBS_solaris := -ljvm -lsocket -lposix4 $(LIBDL) \
   120 
    98 
   121 ifeq ($(OPENJDK_TARGET_OS), macosx)
    99 ifeq ($(OPENJDK_TARGET_OS), macosx)
   122   # JavaNativeFoundation framework not supported in static builds
   100   # JavaNativeFoundation framework not supported in static builds
   123   ifneq ($(STATIC_BUILD), true)
   101   ifneq ($(STATIC_BUILD), true)
   124 
   102 
   125     LIBOSXSECURITY_DIRS := $(TOPDIR)/src/java.base/macosx/native/libosxsecurity
       
   126     LIBOSXSECURITY_CFLAGS := -I$(LIBOSXSECURITY_DIRS) \
       
   127         $(LIBJAVA_HEADER_FLAGS) \
       
   128         -I$(SUPPORT_OUTPUTDIR)/headers/java.base \
       
   129 
       
   130     $(eval $(call SetupJdkLibrary, BUILD_LIBOSXSECURITY, \
   103     $(eval $(call SetupJdkLibrary, BUILD_LIBOSXSECURITY, \
   131         NAME := osxsecurity, \
   104         NAME := osxsecurity, \
   132         SRC := $(LIBOSXSECURITY_DIRS), \
       
   133         OPTIMIZATION := LOW, \
   105         OPTIMIZATION := LOW, \
   134         CFLAGS := $(CFLAGS_JDKLIB) \
   106         CFLAGS := $(CFLAGS_JDKLIB), \
   135             $(LIBOSXSECURITY_CFLAGS), \
       
   136         DISABLED_WARNINGS_clang := deprecated-declarations, \
   107         DISABLED_WARNINGS_clang := deprecated-declarations, \
   137         LDFLAGS := $(LDFLAGS_JDKLIB) \
   108         LDFLAGS := $(LDFLAGS_JDKLIB) \
   138             -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
   109             -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
   139             $(call SET_SHARED_LIBRARY_ORIGIN) \
   110             $(call SET_SHARED_LIBRARY_ORIGIN) \
   140             -fobjc-link-runtime, \
   111             -fobjc-link-runtime, \
   156 # Create the jsig library
   127 # Create the jsig library
   157 
   128 
   158 ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
   129 ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
   159   ifeq ($(STATIC_BUILD), false)
   130   ifeq ($(STATIC_BUILD), false)
   160 
   131 
   161     LIBJSIG_SRC_DIR := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjsig
       
   162     LIBJSIG_MAPFILE := $(wildcard $(TOPDIR)/make/mapfiles/libjsig/mapfile-vers-$(OPENJDK_TARGET_OS))
   132     LIBJSIG_MAPFILE := $(wildcard $(TOPDIR)/make/mapfiles/libjsig/mapfile-vers-$(OPENJDK_TARGET_OS))
   163 
   133 
   164     ifeq ($(OPENJDK_TARGET_OS), linux)
   134     ifeq ($(OPENJDK_TARGET_OS), linux)
   165       # FIXME: This is probably not what we want to do, but keep it now for compatibility.
   135       # FIXME: This is probably not what we want to do, but keep it now for compatibility.
   166       LIBJSIG_CFLAGS := $(EXPORT_ALL_SYMBOLS)
   136       LIBJSIG_CFLAGS := $(EXPORT_ALL_SYMBOLS)
   167     endif
   137     endif
   168 
   138 
   169     $(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
   139     $(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
   170         NAME := jsig, \
   140         NAME := jsig, \
   171         SRC := $(LIBJSIG_SRC_DIR), \
       
   172         CFLAGS := $(CFLAGS_JDKLIB) $(LIBJSIG_CFLAGS), \
   141         CFLAGS := $(CFLAGS_JDKLIB) $(LIBJSIG_CFLAGS), \
   173         LDFLAGS := $(LDFLAGS_JDKLIB) \
   142         LDFLAGS := $(LDFLAGS_JDKLIB) \
   174             $(call SET_SHARED_LIBRARY_ORIGIN), \
   143             $(call SET_SHARED_LIBRARY_ORIGIN), \
   175         LIBS_linux := $(LIBDL), \
   144         LIBS_linux := $(LIBDL), \
   176         LIBS_solaris := $(LIBDL), \
   145         LIBS_solaris := $(LIBDL), \