25
26 WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
27
28 ##########################################################################################
29
30 BUILD_LIBFDLIBM_OPTIMIZATION := NONE
31
32 ifeq ($(OPENJDK_TARGET_OS), solaris)
33 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
34 endif
35
36 ifeq ($(OPENJDK_TARGET_OS), linux)
37 ifeq ($(OPENJDK_TARGET_CPU), ppc64)
38 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
39 else ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
40 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
41 endif
42 endif
43
44 ifneq ($(OPENJDK_TARGET_OS), macosx)
45 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM, \
46 STATIC_LIBRARY := fdlibm, \
47 OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
48 SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
49 LANG := C, \
50 OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
51 CFLAGS := $(CFLAGS_JDKLIB) \
52 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
53 CFLAGS_windows_debug := -DLOGGING, \
54 CFLAGS_aix := -qfloat=nomaf, \
55 CFLAGS_linux_ppc64 := -ffp-contract=off, \
56 CFLAGS_linux_ppc64le := -ffp-contract=off, \
57 ARFLAGS := $(ARFLAGS), \
58 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
59 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
60
61 else
62
63 # On macosx the old build does partial (incremental) linking of fdlibm instead of
64 # a plain static library.
65 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC, \
66 LIBRARY := fdlibm, \
67 OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
68 SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
69 LANG := C, \
70 CFLAGS := $(CFLAGS_JDKLIB) \
71 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
72 LDFLAGS := -nostdlib -r -arch x86_64, \
73 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
74 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
75
|
25
26 WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
27
28 ##########################################################################################
29
30 BUILD_LIBFDLIBM_OPTIMIZATION := NONE
31
32 ifeq ($(OPENJDK_TARGET_OS), solaris)
33 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
34 endif
35
36 ifeq ($(OPENJDK_TARGET_OS), linux)
37 ifeq ($(OPENJDK_TARGET_CPU), ppc64)
38 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
39 else ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
40 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
41 endif
42 endif
43
44 ifneq ($(OPENJDK_TARGET_OS), macosx)
45 # Unfortunately, '-ffp-contract' is only available since gcc 4.6. For ppc64le
46 # that's no problem since ppc64le support only appeared in gcc 4.8.3. But on
47 # ppc64 (big endian) we traditionally compiled with gcc 4.3 which only knows
48 # '-mno-fused-madd'. However, that's still not enough to get the float
49 # computations right - we additionally have to supply '-fno-strict-aliasing'.
50 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM, \
51 STATIC_LIBRARY := fdlibm, \
52 OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
53 SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
54 LANG := C, \
55 OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
56 CFLAGS := $(CFLAGS_JDKLIB) \
57 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
58 CFLAGS_windows_debug := -DLOGGING, \
59 CFLAGS_aix := -qfloat=nomaf, \
60 CFLAGS_linux_ppc64 := -mno-fused-madd -fno-strict-aliasing, \
61 CFLAGS_linux_ppc64le := -ffp-contract=off, \
62 ARFLAGS := $(ARFLAGS), \
63 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
64 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
65
66 else
67
68 # On macosx the old build does partial (incremental) linking of fdlibm instead of
69 # a plain static library.
70 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC, \
71 LIBRARY := fdlibm, \
72 OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
73 SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
74 LANG := C, \
75 CFLAGS := $(CFLAGS_JDKLIB) \
76 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
77 LDFLAGS := -nostdlib -r -arch x86_64, \
78 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
79 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
80
|