22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
25
26 WIN_VERIFY_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libverify/verify.lib
27
28 # Hook to include the corresponding custom file, if present.
29 $(eval $(call IncludeCustomExtension, lib/CoreLibraries.gmk))
30
31
32 ##########################################################################################
33 # libfdlibm is statically linked with libjava below and not delivered into the
34 # product on its own.
35
36 BUILD_LIBFDLIBM_OPTIMIZATION := NONE
37
38 ifeq ($(OPENJDK_TARGET_OS), solaris)
39 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
40 endif
41
42 ifeq ($(OPENJDK_TARGET_OS), linux)
43 ifeq ($(OPENJDK_TARGET_CPU), ppc64)
44 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
45 else ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
46 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
47 else ifeq ($(OPENJDK_TARGET_CPU), s390x)
48 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
49 else ifeq ($(OPENJDK_TARGET_CPU), aarch64)
50 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
51 endif
52 endif
53
54 LIBFDLIBM_SRC := $(TOPDIR)/src/java.base/share/native/libfdlibm
55 LIBFDLIBM_CFLAGS := -I$(LIBFDLIBM_SRC)
56
57 ifneq ($(OPENJDK_TARGET_OS), macosx)
58 $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
59 NAME := fdlibm, \
60 TYPE := STATIC_LIBRARY, \
61 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
62 SRC := $(LIBFDLIBM_SRC), \
63 OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
64 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
65 CFLAGS_windows_debug := -DLOGGING, \
66 CFLAGS_aix := -qfloat=nomaf, \
67 CFLAGS_linux_ppc64 := -ffp-contract=off, \
68 CFLAGS_linux_ppc64le := -ffp-contract=off, \
69 CFLAGS_linux_s390x := -ffp-contract=off, \
70 CFLAGS_linux_aarch64 := -ffp-contract=off, \
71 DISABLED_WARNINGS_gcc := sign-compare misleading-indentation, \
72 DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
73 ARFLAGS := $(ARFLAGS), \
74 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
75 ))
76
77 else
78
79 # On macosx the old build does partial (incremental) linking of fdlibm instead of
80 # a plain static library.
81 $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM_MAC, \
82 NAME := fdlibm, \
83 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
84 SRC := $(LIBFDLIBM_SRC), \
85 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
86 LDFLAGS := -nostdlib $(ARFLAGS), \
87 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
88 ))
89
90 BUILD_LIBFDLIBM := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
|
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
25
26 WIN_VERIFY_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libverify/verify.lib
27
28 # Hook to include the corresponding custom file, if present.
29 $(eval $(call IncludeCustomExtension, lib/CoreLibraries.gmk))
30
31
32 ##########################################################################################
33 # libfdlibm is statically linked with libjava below and not delivered into the
34 # product on its own.
35
36 BUILD_LIBFDLIBM_OPTIMIZATION := NONE
37
38 ifeq ($(OPENJDK_TARGET_OS), solaris)
39 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
40 endif
41
42 # If FDLIBM_CFLAGS is non-empty we know that we can optimize
43 # fdlibm by adding those extra C flags. Currently GCC,
44 # and clang only.
45 ifneq ($(FDLIBM_CFLAGS), )
46 BUILD_LIBFDLIBM_OPTIMIZATION := LOW
47 endif
48
49 LIBFDLIBM_SRC := $(TOPDIR)/src/java.base/share/native/libfdlibm
50 LIBFDLIBM_CFLAGS := -I$(LIBFDLIBM_SRC) $(FDLIBM_CFLAGS)
51
52 ifneq ($(OPENJDK_TARGET_OS), macosx)
53 $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
54 NAME := fdlibm, \
55 TYPE := STATIC_LIBRARY, \
56 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
57 SRC := $(LIBFDLIBM_SRC), \
58 OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
59 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
60 CFLAGS_windows_debug := -DLOGGING, \
61 CFLAGS_aix := -qfloat=nomaf, \
62 DISABLED_WARNINGS_gcc := sign-compare misleading-indentation, \
63 DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
64 ARFLAGS := $(ARFLAGS), \
65 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
66 ))
67
68 else
69
70 # On macosx the old build does partial (incremental) linking of fdlibm instead of
71 # a plain static library.
72 $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM_MAC, \
73 NAME := fdlibm, \
74 OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
75 SRC := $(LIBFDLIBM_SRC), \
76 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
77 LDFLAGS := -nostdlib $(ARFLAGS), \
78 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
79 ))
80
81 BUILD_LIBFDLIBM := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
|