common/autoconf/buildjdk-spec.gmk.in
changeset 36506 17612cee3530
child 37402 62b5f067032e
equal deleted inserted replaced
36505:17460b0304f4 36506:17612cee3530
       
     1 #
       
     2 # Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
       
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4 #
       
     5 # This code is free software; you can redistribute it and/or modify it
       
     6 # under the terms of the GNU General Public License version 2 only, as
       
     7 # published by the Free Software Foundation.  Oracle designates this
       
     8 # particular file as subject to the "Classpath" exception as provided
       
     9 # by Oracle in the LICENSE file that accompanied this code.
       
    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 # This spec file is used to compile a BUILD_JDK while cross compiling. The
       
    27 # BUILD_JDK runs on the build/host platform and is of the same version as
       
    28 # the main build.
       
    29 
       
    30 # First include the real base spec.gmk file
       
    31 include @SPEC@
       
    32 
       
    33 CC := @BUILD_CC@
       
    34 CXX := @BUILD_CXX@
       
    35 LD := @BUILD_LD@
       
    36 AS := @BUILD_AS@
       
    37 NM := @BUILD_NM@
       
    38 AR := @BUILD_AR@
       
    39 OBJCOPY := @BUILD_OBJCOPY@
       
    40 STRIP := @BUILD_STRIP@
       
    41 SYSROOT_CFLAGS := @BUILD_SYSROOT_CFLAGS@
       
    42 SYSROOT_LDFLAGS := @BUILD_SYSROOT_LDFLAGS@
       
    43 
       
    44 # These directories should not be moved to BUILDJDK_OUTPUTDIR
       
    45 HOTSPOT_OUTPUTDIR := $(patsubst $(BUILD_OUTPUT)%,$(BUILDJDK_OUTPUTDIR)%,$(HOTSPOT_OUTPUTDIR))
       
    46 HOTSPOT_DIST := $(patsubst $(BUILD_OUTPUT)%,$(BUILDJDK_OUTPUTDIR)%,$(HOTSPOT_DIST))
       
    47 SUPPORT_OUTPUTDIR := $(patsubst $(BUILD_OUTPUT)%,$(BUILDJDK_OUTPUTDIR)%,$(SUPPORT_OUTPUTDIR))
       
    48 JDK_OUTPUTDIR := $(patsubst $(BUILD_OUTPUT)%,$(BUILDJDK_OUTPUTDIR)%,$(JDK_OUTPUTDIR))
       
    49 
       
    50 OPENJDK_BUILD_CPU_LEGACY := @OPENJDK_BUILD_CPU_LEGACY@
       
    51 OPENJDK_BUILD_CPU_LEGACY_LIB := @OPENJDK_BUILD_CPU_LEGACY_LIB@
       
    52 OPENJDK_BUILD_CPU_LIBDIR := @OPENJDK_BUILD_CPU_LIBDIR@
       
    53 OPENJDK_TARGET_CPU_LIBDIR := @OPENJDK_BUILD_CPU_LIBDIR@
       
    54 OPENJDK_TARGET_CPU := @OPENJDK_BUILD_CPU@
       
    55 OPENJDK_TARGET_CPU_ARCH := @OPENJDK_BUILD_CPU_ARCH@
       
    56 OPENJDK_TARGET_CPU_BITS := @OPENJDK_BUILD_CPU_BITS@
       
    57 OPENJDK_TARGET_CPU_ENDIAN := @OPENJDK_BUILD_CPU_ENDIAN@
       
    58 OPENJDK_TARGET_CPU_LEGACY := @OPENJDK_BUILD_CPU_LEGACY@
       
    59 
       
    60 CFLAGS_JDKLIB := @OPENJDK_BUILD_CFLAGS_JDKLIB@
       
    61 CXXFLAGS_JDKLIB := @OPENJDK_BUILD_CXXFLAGS_JDKLIB@
       
    62 LDFLAGS_JDKLIB := @OPENJDK_BUILD_LDFLAGS_JDKLIB@
       
    63 CFLAGS_JDKEXE := @OPENJDK_BUILD_CFLAGS_JDKEXE@
       
    64 CXXFLAGS_JDKEXE := @OPENJDK_BUILD_CXXFLAGS_JDKEXE@
       
    65 LDFLAGS_JDKEXE := @OPENJDK_BUILD_LDFLAGS_JDKEXE@
       
    66 OPENJDK_TARGET_CPU_JLI_CFLAGS := @OPENJDK_BUILD_CPU_JLI_CFLAGS@
       
    67 
       
    68 # The compiler for the build platform is likely not warning compatible with the official
       
    69 # compiler.
       
    70 WARNINGS_AS_ERRORS := false
       
    71 DISABLE_WARNING_PREFIX := @BUILD_CC_DISABLE_WARNING_PREFIX@
       
    72 
       
    73 # Save speed and disk space by not enabling debug symbols for the buildjdk
       
    74 ENABLE_DEBUG_SYMBOLS := false
       
    75 
       
    76 ####################################################
       
    77 #
       
    78 # Legacy Hotspot support
       
    79 
       
    80 # Legacy setting: OPT or DBG
       
    81 VARIANT := OPT
       
    82 # Legacy setting: true or false
       
    83 FASTDEBUG := false
       
    84 # Legacy setting: debugging the class files?
       
    85 DEBUG_CLASSFILES := false
       
    86 
       
    87 # Some users still set EXTRA_*FLAGS on the make command line. Must
       
    88 # make sure to override that when building buildjdk.
       
    89 override EXTRA_CFLAGS :=
       
    90 override EXTRA_CXXFLAGS :=
       
    91 override EXTRA_LDFLAGS :=
       
    92 
       
    93 # The HOSTCC/HOSTCXX is Hotspot terminology for the BUILD_CC/BUILD_CXX, i.e. the
       
    94 # compiler that produces code that can be run on the build platform.
       
    95 HOSTCC := $(BUILD_CC)
       
    96 HOSTCXX := $(BUILD_CXX)
       
    97 
       
    98 # Old name for OPENJDK_TARGET_OS (aix,bsd,hpux,linux,macosx,solaris,windows etc)
       
    99 PLATFORM := $(OPENJDK_BUILD_OS)
       
   100 # 32 or 64 bit
       
   101 ARCH_DATA_MODEL := $(OPENJDK_BUILD_CPU_BITS)
       
   102 
       
   103 ALT_BOOTDIR := $(BOOT_JDK)
       
   104 # Yet another name for arch used for an extra subdir below the jvm lib.
       
   105 # Uses i386 and amd64, instead of x86 and x86_64.
       
   106 LIBARCH := @OPENJDK_BUILD_CPU_LEGACY_LIB@
       
   107 # Set the cpu architecture. Some users still set ARCH on the make command line. Must
       
   108 # make sure to override that when building buildjdk.
       
   109 override ARCH := $(OPENJDK_BUILD_CPU_ARCH)
       
   110 # Legacy setting for building for a 64 bit machine.
       
   111 # If yes then this expands to _LP64 := 1
       
   112 ifeq ($(OPENJDK_BUILD_CPU_BITS), 64)
       
   113   _LP64 := 1
       
   114 endif
       
   115 
       
   116 ALT_OUTPUTDIR := $(HOTSPOT_OUTPUTDIR)
       
   117 ALT_EXPORT_PATH := $(HOTSPOT_DIST)
       
   118 
       
   119 JVM_INTERPRETER := @JVM_INTERPRETER@
       
   120 ifeq ($(JVM_INTERPRETER), cpp)
       
   121   CC_INTERP=true
       
   122 endif
       
   123 
       
   124 HOTSPOT_MAKE_ARGS := product docs export_product
       
   125 # Control wether Hotspot runs Queens test after building
       
   126 TEST_IN_BUILD := false
       
   127 
       
   128 USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
       
   129 
       
   130 # Hotspot expects the variable FULL_DEBUG_SYMBOLS=1/0 to control debug symbols
       
   131 # creation.
       
   132 FULL_DEBUG_SYMBOLS := 0
       
   133 ZIP_DEBUGINFO_FILES := 0
       
   134 # Disable stripping
       
   135 STRIP_POLICY := none
       
   136 
       
   137 JVM_VARIANTS := server
       
   138 JVM_VARIANT_SERVER := true
       
   139 JVM_VARIANT_CLIENT := false
       
   140 JVM_VARIANT_MINIMAL1 := false
       
   141 JVM_VARIANT_KERNEL := false
       
   142 JVM_VARIANT_ZERO := false
       
   143 JVM_VARIANT_ZEROSHARK := false
       
   144 JVM_VARIANT_CORE := false
       
   145 
       
   146 # Sneak this in via the spec.gmk file, since we don't want to mess around too much with the Hotspot make files.
       
   147 # This is needed to get the LOG setting to work properly.
       
   148 include $(SRC_ROOT)/make/common/MakeBase.gmk