72445d6e64
C++ standard needs to be explicitly set and some optimisations turned off to build on GCC 6 Reviewed-by: erikj, dholmes, kbarrett
150 lines
4.9 KiB
Plaintext
150 lines
4.9 KiB
Plaintext
#
|
|
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
|
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
#
|
|
# This code is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License version 2 only, as
|
|
# published by the Free Software Foundation. Oracle designates this
|
|
# particular file as subject to the "Classpath" exception as provided
|
|
# by Oracle in the LICENSE file that accompanied this code.
|
|
#
|
|
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
# version 2 for more details (a copy is included in the LICENSE file that
|
|
# accompanied this code).
|
|
#
|
|
# You should have received a copy of the GNU General Public License version
|
|
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
#
|
|
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
# or visit www.oracle.com if you need additional information or have any
|
|
# questions.
|
|
#
|
|
|
|
|
|
# Chaining of spec files
|
|
HOTSPOT_SPEC:=$(dir $(SPEC))hotspot-spec.gmk
|
|
override SPEC=$(HOTSPOT_SPEC)
|
|
# Now include the base spec.gmk file
|
|
include $(BASE_SPEC)
|
|
|
|
# Additional legacy variables defined for Hotspot
|
|
|
|
@SET_OPENJDK@
|
|
@HOTSPOT_SET_WARNINGS_AS_ERRORS@
|
|
|
|
# Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options.
|
|
@BUILD_HEADLESS@
|
|
|
|
# Legacy setting: OPT or DBG
|
|
VARIANT:=@VARIANT@
|
|
# Legacy setting: true or false
|
|
FASTDEBUG:=@FASTDEBUG@
|
|
# Legacy setting: debugging the class files?
|
|
DEBUG_CLASSFILES:=@DEBUG_CLASSFILES@
|
|
|
|
ALT_CUPS_HEADERS_PATH:=$(patsubst -I%,%,$(filter -I%,@CUPS_CFLAGS@))
|
|
|
|
# The HOSTCC/HOSTCXX is Hotspot terminology for the BUILD_CC/BUILD_CXX, i.e. the
|
|
# compiler that produces code that can be run on the build platform.
|
|
HOSTCC:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CC@ $(BUILD_SYSROOT_CFLAGS)
|
|
HOSTCXX:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CXX@ $(BUILD_SYSROOT_CFLAGS)
|
|
|
|
####################################################
|
|
#
|
|
# Legacy Hotspot support
|
|
|
|
# If cross compiling, then define CROSS_COMPILE_ARCH:=cpu_name here.
|
|
@DEFINE_CROSS_COMPILE_ARCH@
|
|
|
|
# Old name for OPENJDK_TARGET_OS (aix,bsd,hpux,linux,macosx,solaris,windows etc)
|
|
PLATFORM=$(OPENJDK_TARGET_OS)
|
|
# 32 or 64 bit
|
|
ARCH_DATA_MODEL=$(OPENJDK_TARGET_CPU_BITS)
|
|
|
|
ALT_BOOTDIR=$(BOOT_JDK)
|
|
# Can be /sparcv9 or /amd64 on Solaris
|
|
ISA_DIR=$(OPENJDK_TARGET_CPU_ISADIR)
|
|
# Yet another name for arch used for an extra subdir below the jvm lib.
|
|
# Uses i386 and amd64, instead of x86 and x86_64.
|
|
LIBARCH=$(OPENJDK_TARGET_CPU_LEGACY_LIB)
|
|
# Set the cpu architecture
|
|
ARCH=$(OPENJDK_TARGET_CPU_ARCH)
|
|
# Legacy setting for building for a 64 bit machine.
|
|
# If yes then this expands to _LP64:=1
|
|
@LP64@
|
|
|
|
# Legacy settings for zero
|
|
ZERO_ENDIANNESS=$(OPENJDK_TARGET_CPU_ENDIAN)
|
|
ZERO_LIBARCH=$(OPENJDK_TARGET_CPU_LEGACY_LIB)
|
|
ZERO_ARCHDEF=@ZERO_ARCHDEF@
|
|
ZERO_ARCHFLAG=@ZERO_ARCHFLAG@
|
|
LIBFFI_CFLAGS=@LIBFFI_CFLAGS@
|
|
LIBFFI_LIBS=@LIBFFI_LIBS@
|
|
|
|
# Legacy settings for zeroshark
|
|
LLVM_CFLAGS=@LLVM_CFLAGS@
|
|
LLVM_LIBS=@LLVM_LIBS@
|
|
LLVM_LDFLAGS=@LLVM_LDFLAGS@
|
|
|
|
ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
|
|
ALT_EXPORT_PATH=$(HOTSPOT_DIST)
|
|
|
|
JVM_INTERPRETER:=@JVM_INTERPRETER@
|
|
ifeq ($(JVM_INTERPRETER), cpp)
|
|
CC_INTERP=true
|
|
endif
|
|
|
|
HOTSPOT_MAKE_ARGS:=@HOTSPOT_MAKE_ARGS@ @STATIC_CXX_SETTING@
|
|
# Control wether Hotspot runs Queens test after building
|
|
TEST_IN_BUILD=@TEST_IN_BUILD@
|
|
|
|
USE_CLANG := @USE_CLANG@
|
|
|
|
# For hotspot, override compiler/tools definition to not include FIXPATH prefix.
|
|
# Hotspot has its own handling on the Windows path situation.
|
|
CXX:=@CCACHE@ @ICECC@ @HOTSPOT_CXX@
|
|
LD:=@HOTSPOT_LD@
|
|
MT:=@HOTSPOT_MT@
|
|
RC:=@HOTSPOT_RC@
|
|
|
|
EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@ $(CFLAGS_CCACHE) $(NO_NULL_POINTER_CHECK_FLAG) \
|
|
$(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG)
|
|
EXTRA_CXXFLAGS=@LEGACY_EXTRA_CXXFLAGS@ $(CFLAGS_CCACHE)
|
|
EXTRA_LDFLAGS=@LEGACY_EXTRA_LDFLAGS@
|
|
|
|
USE_PRECOMPILED_HEADER=@USE_PRECOMPILED_HEADER@
|
|
|
|
# Hotspot expects the variable FULL_DEBUG_SYMBOLS=1/0 to control debug symbols
|
|
# creation.
|
|
ifeq ($(COPY_DEBUG_SYMBOLS), true)
|
|
FULL_DEBUG_SYMBOLS=1
|
|
# Ensure hotspot uses the objcopy that configure located
|
|
ALT_OBJCOPY:=$(OBJCOPY)
|
|
else
|
|
FULL_DEBUG_SYMBOLS=0
|
|
endif
|
|
|
|
# Hotspot expects the variable ZIP_DEBUGINFO_FILES=1/0 and not true/false.
|
|
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
|
|
ZIP_DEBUGINFO_FILES:=1
|
|
else
|
|
ZIP_DEBUGINFO_FILES:=0
|
|
endif
|
|
|
|
DEBUG_BINARIES := @DEBUG_BINARIES@
|
|
STRIP_POLICY := @STRIP_POLICY@
|
|
|
|
ifeq ($(OPENJDK_TARGET_OS), windows)
|
|
# On Windows, the Visual Studio toolchain needs the LIB and INCLUDE
|
|
# environment variables (in Windows path style).
|
|
export INCLUDE:=@VS_INCLUDE@
|
|
export LIB:=@VS_LIB@
|
|
endif
|
|
|
|
# Sneak this in via the spec.gmk file, since we don't want to mess around too much with the Hotspot make files.
|
|
# This is needed to get the LOG setting to work properly.
|
|
include $(SRC_ROOT)/make/common/MakeBase.gmk
|