< prev index next >

make/modules/java.base/lib/CoreLibraries.gmk

Print this page
rev 59102 : imported patch build


  12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  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
  23 # questions.
  24 #
  25 
  26 ##########################################################################################
  27 # libfdlibm is statically linked with libjava below and not delivered into the
  28 # product on its own.
  29 
  30 BUILD_LIBFDLIBM_OPTIMIZATION := NONE
  31 
  32 ifeq ($(call isTargetOs, solaris), true)
  33   BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
  34 endif
  35 
  36 # If FDLIBM_CFLAGS is non-empty we know that we can optimize
  37 # fdlibm when adding those extra C flags. Currently GCC,
  38 # and clang only.
  39 ifneq ($(FDLIBM_CFLAGS), )
  40   BUILD_LIBFDLIBM_OPTIMIZATION := LOW
  41 endif
  42 
  43 LIBFDLIBM_SRC := $(TOPDIR)/src/java.base/share/native/libfdlibm
  44 LIBFDLIBM_CFLAGS := -I$(LIBFDLIBM_SRC) $(FDLIBM_CFLAGS)
  45 
  46 $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
  47     NAME := fdlibm, \
  48     TYPE := STATIC_LIBRARY, \
  49     OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
  50     SRC := $(LIBFDLIBM_SRC), \
  51     OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
  52     CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
  53     CFLAGS_windows_debug := -DLOGGING, \
  54     CFLAGS_aix := -qfloat=nomaf, \
  55     DISABLED_WARNINGS_gcc := sign-compare misleading-indentation array-bounds, \
  56     DISABLED_WARNINGS_clang := sign-compare, \
  57     DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
  58     ARFLAGS := $(ARFLAGS), \
  59     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
  60 ))
  61 
  62 ##########################################################################################
  63 
  64 LIBVERIFY_OPTIMIZATION := HIGH
  65 ifeq ($(call isTargetOs, solaris linux), true)
  66   ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
  67     LIBVERIFY_OPTIMIZATION := LOW
  68   endif
  69 endif
  70 
  71 $(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \
  72     NAME := verify, \
  73     OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
  74     CFLAGS := $(CFLAGS_JDKLIB), \
  75     LDFLAGS := $(LDFLAGS_JDKLIB) \
  76         $(call SET_SHARED_LIBRARY_ORIGIN), \
  77     LIBS_unix := -ljvm, \
  78     LIBS_windows := jvm.lib, \
  79 ))
  80 
  81 TARGETS += $(BUILD_LIBVERIFY)
  82 
  83 ##########################################################################################
  84 
  85 LIBJAVA_CFLAGS := -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
  86 
  87 ifeq ($(call isTargetOs, macosx), true)
  88   BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
  89   BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c
  90 endif
  91 
  92 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
  93     NAME := java, \
  94     OPTIMIZATION := HIGH, \
  95     CFLAGS := $(CFLAGS_JDKLIB) \
  96         $(LIBJAVA_CFLAGS), \
  97     jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \
  98     EXTRA_HEADER_DIRS := libfdlibm, \
  99     WARNINGS_AS_ERRORS_xlc := false, \
 100     DISABLED_WARNINGS_gcc := unused-result unused-function, \
 101     DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
 102     LDFLAGS := $(LDFLAGS_JDKLIB) \
 103         $(call SET_SHARED_LIBRARY_ORIGIN), \
 104     LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \
 105     LDFLAGS_windows := -delayload:shell32.dll, \
 106     LIBS := $(BUILD_LIBFDLIBM_TARGET), \
 107     LIBS_unix := -ljvm, \
 108     LIBS_linux := $(LIBDL), \
 109     LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL), \
 110     LIBS_aix := $(LIBDL) $(LIBM),\
 111     LIBS_macosx := -framework CoreFoundation \
 112         -framework Foundation \
 113         -framework SystemConfiguration, \
 114     LIBS_windows := jvm.lib \
 115         shell32.lib delayimp.lib \
 116         advapi32.lib version.lib, \
 117 ))
 118 
 119 TARGETS += $(BUILD_LIBJAVA)
 120 
 121 $(BUILD_LIBJAVA): $(BUILD_LIBVERIFY)
 122 
 123 $(BUILD_LIBJAVA): $(BUILD_LIBFDLIBM)
 124 
 125 ##########################################################################################
 126 
 127 BUILD_LIBZIP_EXCLUDES :=
 128 ifeq ($(USE_EXTERNAL_LIBZ), true)
 129   LIBZIP_EXCLUDES += zlib


 198           inffast.c \
 199           zadler32.c \
 200           zcrc32.c \
 201           zutil.c \
 202       )
 203 endif
 204 
 205 $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
 206     NAME := jli, \
 207     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 208     EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
 209     EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
 210     OPTIMIZATION := HIGH, \
 211     CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
 212     DISABLED_WARNINGS_gcc := unused-function implicit-fallthrough, \
 213     DISABLED_WARNINGS_clang := sometimes-uninitialized format-nonliteral, \
 214     LDFLAGS := $(LDFLAGS_JDKLIB) \
 215         $(call SET_SHARED_LIBRARY_ORIGIN), \
 216     LIBS_unix := $(LIBZ_LIBS), \
 217     LIBS_linux := $(LIBDL) -lpthread, \
 218     LIBS_solaris := $(LIBDL), \
 219     LIBS_aix := $(LIBDL),\
 220     LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
 221     LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
 222 ))
 223 
 224 TARGETS += $(BUILD_LIBJLI)
 225 
 226 LIBJLI_SRC_DIRS := $(call FindSrcDirsForComponent, java.base, libjli)
 227 
 228 ifeq ($(call isTargetOs, aix), true)
 229   # AIX also requires a static libjli because the compiler doesn't support '-rpath'
 230   $(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
 231       NAME := jli_static, \
 232       TYPE := STATIC_LIBRARY, \
 233       OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
 234       SRC := $(LIBJLI_SRC_DIRS), \
 235       EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
 236       EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
 237       OPTIMIZATION := HIGH, \
 238       CFLAGS := $(STATIC_LIBRARY_FLAGS) $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \


  12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  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
  23 # questions.
  24 #
  25 
  26 ##########################################################################################
  27 # libfdlibm is statically linked with libjava below and not delivered into the
  28 # product on its own.
  29 
  30 BUILD_LIBFDLIBM_OPTIMIZATION := NONE
  31 




  32 # If FDLIBM_CFLAGS is non-empty we know that we can optimize
  33 # fdlibm when adding those extra C flags. Currently GCC,
  34 # and clang only.
  35 ifneq ($(FDLIBM_CFLAGS), )
  36   BUILD_LIBFDLIBM_OPTIMIZATION := LOW
  37 endif
  38 
  39 LIBFDLIBM_SRC := $(TOPDIR)/src/java.base/share/native/libfdlibm
  40 LIBFDLIBM_CFLAGS := -I$(LIBFDLIBM_SRC) $(FDLIBM_CFLAGS)
  41 
  42 $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
  43     NAME := fdlibm, \
  44     TYPE := STATIC_LIBRARY, \
  45     OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
  46     SRC := $(LIBFDLIBM_SRC), \
  47     OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
  48     CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
  49     CFLAGS_windows_debug := -DLOGGING, \
  50     CFLAGS_aix := -qfloat=nomaf, \
  51     DISABLED_WARNINGS_gcc := sign-compare misleading-indentation array-bounds, \
  52     DISABLED_WARNINGS_clang := sign-compare, \
  53     DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
  54     ARFLAGS := $(ARFLAGS), \
  55     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
  56 ))
  57 
  58 ##########################################################################################
  59 
  60 LIBVERIFY_OPTIMIZATION := HIGH
  61 ifeq ($(call isTargetOs, linux), true)
  62   ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
  63     LIBVERIFY_OPTIMIZATION := LOW
  64   endif
  65 endif
  66 
  67 $(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \
  68     NAME := verify, \
  69     OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
  70     CFLAGS := $(CFLAGS_JDKLIB), \
  71     LDFLAGS := $(LDFLAGS_JDKLIB) \
  72         $(call SET_SHARED_LIBRARY_ORIGIN), \
  73     LIBS_unix := -ljvm, \
  74     LIBS_windows := jvm.lib, \
  75 ))
  76 
  77 TARGETS += $(BUILD_LIBVERIFY)
  78 
  79 ##########################################################################################
  80 
  81 LIBJAVA_CFLAGS := -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
  82 
  83 ifeq ($(call isTargetOs, macosx), true)
  84   BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
  85   BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c
  86 endif
  87 
  88 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
  89     NAME := java, \
  90     OPTIMIZATION := HIGH, \
  91     CFLAGS := $(CFLAGS_JDKLIB) \
  92         $(LIBJAVA_CFLAGS), \
  93     jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \
  94     EXTRA_HEADER_DIRS := libfdlibm, \
  95     WARNINGS_AS_ERRORS_xlc := false, \
  96     DISABLED_WARNINGS_gcc := unused-result unused-function, \

  97     LDFLAGS := $(LDFLAGS_JDKLIB) \
  98         $(call SET_SHARED_LIBRARY_ORIGIN), \
  99     LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \
 100     LDFLAGS_windows := -delayload:shell32.dll, \
 101     LIBS := $(BUILD_LIBFDLIBM_TARGET), \
 102     LIBS_unix := -ljvm, \
 103     LIBS_linux := $(LIBDL), \

 104     LIBS_aix := $(LIBDL) $(LIBM),\
 105     LIBS_macosx := -framework CoreFoundation \
 106         -framework Foundation \
 107         -framework SystemConfiguration, \
 108     LIBS_windows := jvm.lib \
 109         shell32.lib delayimp.lib \
 110         advapi32.lib version.lib, \
 111 ))
 112 
 113 TARGETS += $(BUILD_LIBJAVA)
 114 
 115 $(BUILD_LIBJAVA): $(BUILD_LIBVERIFY)
 116 
 117 $(BUILD_LIBJAVA): $(BUILD_LIBFDLIBM)
 118 
 119 ##########################################################################################
 120 
 121 BUILD_LIBZIP_EXCLUDES :=
 122 ifeq ($(USE_EXTERNAL_LIBZ), true)
 123   LIBZIP_EXCLUDES += zlib


 192           inffast.c \
 193           zadler32.c \
 194           zcrc32.c \
 195           zutil.c \
 196       )
 197 endif
 198 
 199 $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
 200     NAME := jli, \
 201     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 202     EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
 203     EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
 204     OPTIMIZATION := HIGH, \
 205     CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
 206     DISABLED_WARNINGS_gcc := unused-function implicit-fallthrough, \
 207     DISABLED_WARNINGS_clang := sometimes-uninitialized format-nonliteral, \
 208     LDFLAGS := $(LDFLAGS_JDKLIB) \
 209         $(call SET_SHARED_LIBRARY_ORIGIN), \
 210     LIBS_unix := $(LIBZ_LIBS), \
 211     LIBS_linux := $(LIBDL) -lpthread, \

 212     LIBS_aix := $(LIBDL),\
 213     LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
 214     LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
 215 ))
 216 
 217 TARGETS += $(BUILD_LIBJLI)
 218 
 219 LIBJLI_SRC_DIRS := $(call FindSrcDirsForComponent, java.base, libjli)
 220 
 221 ifeq ($(call isTargetOs, aix), true)
 222   # AIX also requires a static libjli because the compiler doesn't support '-rpath'
 223   $(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
 224       NAME := jli_static, \
 225       TYPE := STATIC_LIBRARY, \
 226       OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
 227       SRC := $(LIBJLI_SRC_DIRS), \
 228       EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
 229       EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
 230       OPTIMIZATION := HIGH, \
 231       CFLAGS := $(STATIC_LIBRARY_FLAGS) $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
< prev index next >