< prev index next >

make/lib/CoreLibraries.gmk

Print this page
rev 12053 : 8170873: PPC64: Poor StrictMath performance due to non-optimized compilation
Reviewed-by: mdoerr, erikj, simonis, aph


  10 #
  11 # This code is distributed in the hope that it will be useful, but WITHOUT
  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 WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
  27 
  28 ##########################################################################################
  29 
  30 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
  31 
  32 ifneq ($(OPENJDK_TARGET_OS), solaris)
  33   BUILD_LIBFDLIBM_OPTIMIZATION := NONE








  34 endif
  35 
  36 ifneq ($(OPENJDK_TARGET_OS), macosx)
  37   $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM, \
  38       STATIC_LIBRARY := fdlibm, \
  39       OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
  40       SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
  41       LANG := C, \
  42       OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
  43       CFLAGS := $(CFLAGS_JDKLIB) \
  44           -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
  45       CFLAGS_windows_debug := -DLOGGING, \
  46       CFLAGS_aix := -qfloat=nomaf, \


  47       ARFLAGS := $(ARFLAGS), \
  48       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
  49       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
  50 
  51 else
  52 
  53   # On macosx the old build does partial (incremental) linking of fdlibm instead of
  54   # a plain static library.
  55   $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC, \
  56       LIBRARY := fdlibm, \
  57       OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
  58       SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
  59       LANG := C, \
  60       CFLAGS := $(CFLAGS_JDKLIB) \
  61           -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
  62       LDFLAGS := -nostdlib -r -arch x86_64, \
  63       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
  64       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
  65 
  66   BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)




  10 #
  11 # This code is distributed in the hope that it will be useful, but WITHOUT
  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 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 
  76   BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)


< prev index next >