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