< prev index next >

make/lib/CoreLibraries.gmk

Print this page
rev 12066 : 8172053: (ppc64) Downport of 8170153 breaks build on linux/ppc64 (big endian)


  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 


< prev index next >