common/autoconf/spec.gmk.in

changeset 0
75a576e87639
child 1133
50aaf272884f
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/common/autoconf/spec.gmk.in	Wed Apr 27 01:39:08 2016 +0800
     1.3 @@ -0,0 +1,675 @@
     1.4 +#
     1.5 +# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
     1.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.7 +#
     1.8 +# This code is free software; you can redistribute it and/or modify it
     1.9 +# under the terms of the GNU General Public License version 2 only, as
    1.10 +# published by the Free Software Foundation.  Oracle designates this
    1.11 +# particular file as subject to the "Classpath" exception as provided
    1.12 +# by Oracle in the LICENSE file that accompanied this code.
    1.13 +#
    1.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
    1.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    1.16 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    1.17 +# version 2 for more details (a copy is included in the LICENSE file that
    1.18 +# accompanied this code).
    1.19 +#
    1.20 +# You should have received a copy of the GNU General Public License version
    1.21 +# 2 along with this work; if not, write to the Free Software Foundation,
    1.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    1.23 +#
    1.24 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    1.25 +# or visit www.oracle.com if you need additional information or have any
    1.26 +# questions.
    1.27 +#
    1.28 +
    1.29 +# Configured @DATE_WHEN_CONFIGURED@ to build
    1.30 +# for target system @OPENJDK_TARGET_OS@-@OPENJDK_TARGET_CPU@
    1.31 +#   (called @OPENJDK_TARGET_AUTOCONF_NAME@ by autoconf)
    1.32 +# on build system @OPENJDK_BUILD_OS@-@OPENJDK_BUILD_CPU@
    1.33 +#   (called @OPENJDK_BUILD_AUTOCONF_NAME@ by autoconf)
    1.34 +# using 'configure @CONFIGURE_COMMAND_LINE@'
    1.35 +
    1.36 +# When calling macros, the spaces between arguments are
    1.37 +# often semantically important! Sometimes we need to subst
    1.38 +# spaces and commas, therefore we need the following macros.
    1.39 +X:=
    1.40 +SPACE:=$(X) $(X)
    1.41 +COMMA:=,
    1.42 +HASH:=\#
    1.43 +SQUOTE:='
    1.44 +#'
    1.45 +DQUOTE:="
    1.46 +#"
    1.47 +define NEWLINE
    1.48 +
    1.49 +
    1.50 +endef
    1.51 +
    1.52 +# A self-referential reference to this file.
    1.53 +SPEC:=@SPEC@
    1.54 +
    1.55 +# Specify where the spec file is.
    1.56 +MAKE_ARGS="SPEC=$(SPEC)"
    1.57 +
    1.58 +MAKE:=@MAKE@
    1.59 +
    1.60 +# Pass along the verbosity and log level settings.
    1.61 +ifeq (,$(findstring VERBOSE=,$(MAKE)))
    1.62 +  MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" LOG_LEVEL="$(LOG_LEVEL)"
    1.63 +endif
    1.64 +
    1.65 +# No implicit variables or rules!
    1.66 +ifeq (,$(findstring -R,$(MAKE)))
    1.67 +  MAKE:=$(MAKE) -R
    1.68 +endif
    1.69 +
    1.70 +# Specify where the common include directory for makefiles is.
    1.71 +ifeq (,$(findstring -I @SRC_ROOT@/make/common,$(MAKE)))
    1.72 +  MAKE:=$(MAKE) -I @SRC_ROOT@/make/common
    1.73 +endif
    1.74 +
    1.75 +# The "human readable" name of this configuration
    1.76 +CONF_NAME:=@CONF_NAME@
    1.77 +
    1.78 +# The built jdk will run in this target system.
    1.79 +OPENJDK_TARGET_OS:=@OPENJDK_TARGET_OS@
    1.80 +OPENJDK_TARGET_OS_API:=@OPENJDK_TARGET_OS_API@
    1.81 +OPENJDK_TARGET_OS_ENV:=@OPENJDK_TARGET_OS_ENV@
    1.82 +
    1.83 +OPENJDK_TARGET_CPU:=@OPENJDK_TARGET_CPU@
    1.84 +OPENJDK_TARGET_CPU_ARCH:=@OPENJDK_TARGET_CPU_ARCH@
    1.85 +OPENJDK_TARGET_CPU_BITS:=@OPENJDK_TARGET_CPU_BITS@
    1.86 +OPENJDK_TARGET_CPU_ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@
    1.87 +
    1.88 +COMPILE_TYPE:=@COMPILE_TYPE@
    1.89 +
    1.90 +# Legacy support
    1.91 +OPENJDK_TARGET_CPU_ISADIR:=@OPENJDK_TARGET_CPU_ISADIR@
    1.92 +OPENJDK_TARGET_CPU_LIBDIR:=@OPENJDK_TARGET_CPU_LIBDIR@
    1.93 +OPENJDK_TARGET_CPU_LEGACY:=@OPENJDK_TARGET_CPU_LEGACY@
    1.94 +OPENJDK_TARGET_CPU_LEGACY_LIB:=@OPENJDK_TARGET_CPU_LEGACY_LIB@
    1.95 +OPENJDK_TARGET_CPU_OSARCH:=@OPENJDK_TARGET_CPU_OSARCH@
    1.96 +OPENJDK_TARGET_CPU_JLI_CFLAGS:=@OPENJDK_TARGET_CPU_JLI_CFLAGS@
    1.97 +OPENJDK_TARGET_OS_API_DIR:=@OPENJDK_TARGET_OS_API_DIR@
    1.98 +OPENJDK_TARGET_OS_EXPORT_DIR:=@OPENJDK_TARGET_OS_EXPORT_DIR@
    1.99 +
   1.100 +# We are building on this build system.
   1.101 +# When not cross-compiling, it is the same as the target.
   1.102 +OPENJDK_BUILD_OS:=@OPENJDK_BUILD_OS@
   1.103 +OPENJDK_BUILD_OS_API:=@OPENJDK_BUILD_OS_API@
   1.104 +
   1.105 +OPENJDK_BUILD_CPU:=@OPENJDK_BUILD_CPU@
   1.106 +OPENJDK_BUILD_CPU_ARCH:=@OPENJDK_BUILD_CPU_ARCH@
   1.107 +OPENJDK_BUILD_CPU_BITS:=@OPENJDK_BUILD_CPU_BITS@
   1.108 +OPENJDK_BUILD_CPU_ENDIAN:=@OPENJDK_BUILD_CPU_ENDIAN@
   1.109 +
   1.110 +# Legacy OS values for use in release file.
   1.111 +REQUIRED_OS_NAME:=@REQUIRED_OS_NAME@
   1.112 +REQUIRED_OS_VERSION:=@REQUIRED_OS_VERSION@
   1.113 +
   1.114 +@SET_OPENJDK@
   1.115 +LIBM:=-lm
   1.116 +LIBDL:=@LIBDL@
   1.117 +
   1.118 +# colon or semicolon
   1.119 +PATH_SEP:=@PATH_SEP@
   1.120 +
   1.121 +ifeq ($(OPENJDK_TARGET_OS), windows)
   1.122 +  # On Windows, the Visual Studio toolchain needs the LIB and INCLUDE
   1.123 +  # environment variables (in Windows path style), and the PATH needs to
   1.124 +  # be adjusted to include Visual Studio tools (but this needs to be in
   1.125 +  # cygwin/msys style).
   1.126 +  export PATH:=@VS_PATH@
   1.127 +  export INCLUDE:=@VS_INCLUDE@
   1.128 +  export LIB:=@VS_LIB@
   1.129 +endif
   1.130 +
   1.131 +# The sys root where standard headers and libraries are found.
   1.132 +# Usually not needed since the configure script should have
   1.133 +# taken it into account already when setting CFLAGS et al.
   1.134 +SYS_ROOT:=@SYS_ROOT@
   1.135 +
   1.136 +# Paths to the source code
   1.137 +SRC_ROOT:=@SRC_ROOT@
   1.138 +ADD_SRC_ROOT:=@ADD_SRC_ROOT@
   1.139 +OVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@
   1.140 +TOPDIR:=@SRC_ROOT@
   1.141 +OUTPUT_ROOT:=@OUTPUT_ROOT@
   1.142 +JDK_TOPDIR:=@JDK_TOPDIR@
   1.143 +LANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@
   1.144 +CORBA_TOPDIR:=@CORBA_TOPDIR@
   1.145 +JAXP_TOPDIR:=@JAXP_TOPDIR@
   1.146 +JAXWS_TOPDIR:=@JAXWS_TOPDIR@
   1.147 +HOTSPOT_TOPDIR:=@HOTSPOT_TOPDIR@
   1.148 +NASHORN_TOPDIR:=@NASHORN_TOPDIR@
   1.149 +COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@
   1.150 +
   1.151 +# Location where build customization files may be found
   1.152 +CUSTOM_MAKE_DIR:=@CUSTOM_MAKE_DIR@
   1.153 +
   1.154 +# Information gathered from the version.numbers file.
   1.155 +JDK_MAJOR_VERSION:=@JDK_MAJOR_VERSION@
   1.156 +JDK_MINOR_VERSION:=@JDK_MINOR_VERSION@
   1.157 +JDK_MICRO_VERSION:=@JDK_MICRO_VERSION@
   1.158 +JDK_UPDATE_VERSION:=@JDK_UPDATE_VERSION@
   1.159 +JDK_BUILD_NUMBER:=@JDK_BUILD_NUMBER@
   1.160 +MILESTONE:=@MILESTONE@
   1.161 +LAUNCHER_NAME:=@LAUNCHER_NAME@
   1.162 +PRODUCT_NAME:=@PRODUCT_NAME@
   1.163 +PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@
   1.164 +JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@
   1.165 +COMPANY_NAME:=@COMPANY_NAME@
   1.166 +MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@
   1.167 +MACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@
   1.168 +USER_RELEASE_SUFFIX=@USER_RELEASE_SUFFIX@
   1.169 +
   1.170 +# Different version strings generated from the above information.
   1.171 +JDK_VERSION:=@JDK_VERSION@
   1.172 +RUNTIME_NAME=$(PRODUCT_NAME) $(PRODUCT_SUFFIX)
   1.173 +COOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@
   1.174 +# These variables need to be generated here so that MILESTONE and
   1.175 +# JDK_BUILD_NUMBER can be overridden on the make command line.
   1.176 +ifeq ($(MILESTONE), fcs)
   1.177 +  RELEASE=$(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
   1.178 +else
   1.179 +  RELEASE=$(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
   1.180 +endif
   1.181 +
   1.182 +ifneq ($(USER_RELEASE_SUFFIX), )
   1.183 +  FULL_VERSION=$(RELEASE)-$(USER_RELEASE_SUFFIX)-$(JDK_BUILD_NUMBER)
   1.184 +else
   1.185 +  FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER)
   1.186 +endif
   1.187 +JRE_RELEASE_VERSION:=$(FULL_VERSION)
   1.188 +
   1.189 +# How to compile the code: release, fastdebug or slowdebug
   1.190 +DEBUG_LEVEL:=@DEBUG_LEVEL@
   1.191 +
   1.192 +# This is the JDK variant to build.
   1.193 +# The JDK variant is a name for a specific set of modules to be compiled for the JDK.
   1.194 +JDK_VARIANT:=@JDK_VARIANT@
   1.195 +
   1.196 +# Should we compile support for running with a graphical UI? (ie headful)
   1.197 +# Should we compile support for running without? (ie headless)
   1.198 +SUPPORT_HEADFUL:=@SUPPORT_HEADFUL@
   1.199 +SUPPORT_HEADLESS:=@SUPPORT_HEADLESS@
   1.200 +# Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options.
   1.201 +@BUILD_HEADLESS@
   1.202 +
   1.203 +# These are the libjvms that we want to build.
   1.204 +# The java launcher uses the default.
   1.205 +# The others can be selected by specifying -client -server -minimal1 -kernel -zero or -zeroshark
   1.206 +# on the java launcher command line.
   1.207 +JVM_VARIANTS:=@JVM_VARIANTS@
   1.208 +JVM_VARIANT_SERVER:=@JVM_VARIANT_SERVER@
   1.209 +JVM_VARIANT_CLIENT:=@JVM_VARIANT_CLIENT@
   1.210 +JVM_VARIANT_MINIMAL1:=@JVM_VARIANT_MINIMAL1@
   1.211 +JVM_VARIANT_KERNEL:=@JVM_VARIANT_KERNEL@
   1.212 +JVM_VARIANT_ZERO:=@JVM_VARIANT_ZERO@
   1.213 +JVM_VARIANT_ZEROSHARK:=@JVM_VARIANT_ZEROSHARK@
   1.214 +JVM_VARIANT_CORE:=@JVM_VARIANT_CORE@
   1.215 +
   1.216 +# Universal binaries on macosx
   1.217 +MACOSX_UNIVERSAL=@MACOSX_UNIVERSAL@
   1.218 +
   1.219 +# Legacy setting: -debug or -fastdebug
   1.220 +# Still used in version string...
   1.221 +BUILD_VARIANT_RELEASE:=@BUILD_VARIANT_RELEASE@
   1.222 +
   1.223 +# JDK_OUTPUTDIR specifies where a working jvm is built.
   1.224 +# You can run $(JDK_OUTPUTDIR)/bin/java
   1.225 +# Though the layout of the contents of $(JDK_OUTPUTDIR) is not
   1.226 +# yet the same as a default installation.
   1.227 +#
   1.228 +# When you run "make install" it will create the standardized
   1.229 +# layout for the jdk and the jre inside the IMAGES_OUTPUTDIR subdir.
   1.230 +# Then it will copy the contents of the jdk into the installation
   1.231 +# directory.
   1.232 +
   1.233 +BUILD_OUTPUT:=@BUILD_OUTPUT@
   1.234 +# Colon left out to be able to override IMAGES_OUTPUTDIR for bootcycle-images
   1.235 +LANGTOOLS_OUTPUTDIR=$(BUILD_OUTPUT)/langtools
   1.236 +CORBA_OUTPUTDIR=$(BUILD_OUTPUT)/corba
   1.237 +JAXP_OUTPUTDIR=$(BUILD_OUTPUT)/jaxp
   1.238 +JAXWS_OUTPUTDIR=$(BUILD_OUTPUT)/jaxws
   1.239 +HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot
   1.240 +JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk
   1.241 +NASHORN_OUTPUTDIR=$(BUILD_OUTPUT)/nashorn
   1.242 +IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images
   1.243 +
   1.244 +LANGTOOLS_DIST=$(LANGTOOLS_OUTPUTDIR)/dist
   1.245 +CORBA_DIST=$(CORBA_OUTPUTDIR)/dist
   1.246 +JAXP_DIST=$(JAXP_OUTPUTDIR)/dist
   1.247 +JAXWS_DIST=$(JAXWS_OUTPUTDIR)/dist
   1.248 +HOTSPOT_DIST=@HOTSPOT_DIST@
   1.249 +NASHORN_DIST=$(NASHORN_OUTPUTDIR)/dist
   1.250 +
   1.251 +BUILD_HOTSPOT=@BUILD_HOTSPOT@
   1.252 +
   1.253 +# The boot jdk to use
   1.254 +BOOT_JDK:=@BOOT_JDK@
   1.255 +BOOT_JDK_JVMARGS:=@BOOT_JDK_JVMARGS@
   1.256 +BOOT_RTJAR:=@BOOT_RTJAR@
   1.257 +BOOT_TOOLSJAR=$(BOOT_JDK)/lib/tools.jar
   1.258 +
   1.259 +# When compiling Java source to be run by the boot jdk
   1.260 +# use these extra flags, eg -source 6 -target 6
   1.261 +BOOT_JDK_SOURCETARGET:=@BOOT_JDK_SOURCETARGET@
   1.262 +
   1.263 +# Information about the build system
   1.264 +NUM_CORES:=@NUM_CORES@
   1.265 +# Enable sjavac support = use a javac server,
   1.266 +# multi core javac compilation and dependency tracking.
   1.267 +ENABLE_SJAVAC:=@ENABLE_SJAVAC@
   1.268 +# Store sjavac server synchronization files here, and
   1.269 +# the sjavac server log files.
   1.270 +SJAVAC_SERVER_DIR:=@SJAVAC_SERVER_DIR@
   1.271 +
   1.272 +# Number of parallel jobs to use for compilation
   1.273 +JOBS?=@JOBS@
   1.274 +
   1.275 +FREETYPE_LIBS:=@FREETYPE_LIBS@
   1.276 +FREETYPE_CFLAGS:=@FREETYPE_CFLAGS@
   1.277 +FREETYPE_BUNDLE_LIB_PATH=@FREETYPE_BUNDLE_LIB_PATH@
   1.278 +CUPS_CFLAGS:=@CUPS_CFLAGS@
   1.279 +ALSA_LIBS:=@ALSA_LIBS@
   1.280 +ALSA_CFLAGS:=@ALSA_CFLAGS@
   1.281 +
   1.282 +PACKAGE_PATH=@PACKAGE_PATH@
   1.283 +
   1.284 +# Source file for cacerts
   1.285 +CACERTS_FILE=@CACERTS_FILE@
   1.286 +
   1.287 +# Enable unlimited crypto policy
   1.288 +UNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@
   1.289 +
   1.290 +# Necessary additional compiler flags to compile X11
   1.291 +X_CFLAGS:=@X_CFLAGS@
   1.292 +X_LIBS:=@X_LIBS@
   1.293 +OPENWIN_HOME:=@OPENWIN_HOME@
   1.294 +
   1.295 +# The lowest required version of macosx to enforce compatiblity for
   1.296 +MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@
   1.297 +
   1.298 +# There are two types: CC or CL
   1.299 +# CC is gcc and others behaving reasonably similar.
   1.300 +# CL is cl.exe only.
   1.301 +COMPILER_TYPE:=@COMPILER_TYPE@
   1.302 +COMPILER_NAME:=@COMPILER_NAME@
   1.303 +
   1.304 +# Option used to tell the compiler whether to create 32- or 64-bit executables
   1.305 +COMPILER_TARGET_BITS_FLAG:=@COMPILER_TARGET_BITS_FLAG@
   1.306 +COMPILER_SUPPORTS_TARGET_BITS_FLAG=@COMPILER_SUPPORTS_TARGET_BITS_FLAG@
   1.307 +
   1.308 +CC_OUT_OPTION:=@CC_OUT_OPTION@
   1.309 +EXE_OUT_OPTION:=@EXE_OUT_OPTION@
   1.310 +LD_OUT_OPTION:=@LD_OUT_OPTION@
   1.311 +AR_OUT_OPTION:=@AR_OUT_OPTION@
   1.312 +
   1.313 +# Flags used for overriding the default opt setting for a C/C++ source file.
   1.314 +C_O_FLAG_HIGHEST:=@C_O_FLAG_HIGHEST@
   1.315 +C_O_FLAG_HI:=@C_O_FLAG_HI@
   1.316 +C_O_FLAG_NORM:=@C_O_FLAG_NORM@
   1.317 +C_O_FLAG_NONE:=@C_O_FLAG_NONE@
   1.318 +CXX_O_FLAG_HIGHEST:=@CXX_O_FLAG_HIGHEST@
   1.319 +CXX_O_FLAG_HI:=@CXX_O_FLAG_HI@
   1.320 +CXX_O_FLAG_NORM:=@CXX_O_FLAG_NORM@
   1.321 +CXX_O_FLAG_NONE:=@CXX_O_FLAG_NONE@
   1.322 +
   1.323 +C_FLAG_DEPS:=@C_FLAG_DEPS@
   1.324 +CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
   1.325 +
   1.326 +# Tools that potentially need to be cross compilation aware.
   1.327 +CC:=@FIXPATH@ @CCACHE@ @CC@
   1.328 +
   1.329 +# CFLAGS used to compile the jdk native libraries (C-code)
   1.330 +CFLAGS_JDKLIB:=@CFLAGS_JDKLIB@
   1.331 +CXXFLAGS_JDKLIB:=@CXXFLAGS_JDKLIB@
   1.332 +
   1.333 +# CFLAGS used to compile the jdk native launchers (C-code)
   1.334 +CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@
   1.335 +CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
   1.336 +
   1.337 +CXX:=@FIXPATH@ @CCACHE@ @CXX@
   1.338 +#CXXFLAGS:=@CXXFLAGS@
   1.339 +
   1.340 +OBJC:=@CCACHE@ @OBJC@
   1.341 +#OBJCFLAGS:=@OBJCFLAGS@
   1.342 +
   1.343 +CPP:=@FIXPATH@ @CPP@
   1.344 +#CPPFLAGS:=@CPPFLAGS@
   1.345 +
   1.346 +# The linker can be gcc or ld on posix systems, or link.exe on windows systems.
   1.347 +LD:=@FIXPATH@ @LD@
   1.348 +
   1.349 +# The linker on older SuSE distros (e.g. on SLES 10) complains with:
   1.350 +# "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable."
   1.351 +# if feeded with a version script which contains named tags.
   1.352 +USING_BROKEN_SUSE_LD:=@USING_BROKEN_SUSE_LD@
   1.353 +
   1.354 +# LDFLAGS used to link the jdk native libraries (C-code)
   1.355 +LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
   1.356 +LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@
   1.357 +
   1.358 +# On some platforms the linker cannot be used to create executables, thus
   1.359 +# the need for a separate LDEXE command.
   1.360 +LDEXE:=@FIXPATH@ @LDEXE@
   1.361 +
   1.362 +# LDFLAGS used to link the jdk native launchers (C-code)
   1.363 +LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
   1.364 +LDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@
   1.365 +
   1.366 +# LDFLAGS specific to C++ linking.
   1.367 +LDFLAGS_CXX_JDK:=@LDFLAGS_CXX_JDK@
   1.368 +
   1.369 +# Sometimes a different linker is needed for c++ libs
   1.370 +LDCXX:=@FIXPATH@ @LDCXX@
   1.371 +# The flags for linking libstdc++ linker.
   1.372 +LIBCXX:=@LIBCXX@
   1.373 +
   1.374 +# Sometimes a different linker is needed for c++ executables
   1.375 +LDEXECXX:=@FIXPATH@ @LDEXECXX@
   1.376 +
   1.377 +# BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
   1.378 +# build platform.
   1.379 +BUILD_CC:=@FIXPATH@ @BUILD_CC@
   1.380 +BUILD_LD:=@FIXPATH@ @BUILD_LD@
   1.381 +
   1.382 +AS:=@FIXPATH@ @AS@
   1.383 +
   1.384 +# AR is used to create a static library (is ar in posix, lib.exe in windows)
   1.385 +AR:=@FIXPATH@ @AR@
   1.386 +ARFLAGS:=@ARFLAGS@
   1.387 +
   1.388 +NM:=@NM@
   1.389 +GNM:=@GNM@
   1.390 +STRIP:=@STRIP@
   1.391 +MCS:=@MCS@
   1.392 +
   1.393 +LIPO:=@LIPO@
   1.394 +
   1.395 +# Command to create a shared library
   1.396 +SHARED_LIBRARY_FLAGS:=@SHARED_LIBRARY_FLAGS@
   1.397 +
   1.398 +# Options to linker to specify a mapfile.
   1.399 +# (Note absence of := assignment, because we do not want to evaluate the macro body here)
   1.400 +SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@
   1.401 +
   1.402 +# Options for C/CXX compiler to be used if linking is performed
   1.403 +#   using reorder file
   1.404 +C_FLAG_REORDER:=@C_FLAG_REORDER@
   1.405 +CXX_FLAG_REORDER:=@CXX_FLAG_REORDER@
   1.406 +
   1.407 +#
   1.408 +# Options for generating debug symbols
   1.409 +ENABLE_DEBUG_SYMBOLS:=@ENABLE_DEBUG_SYMBOLS@
   1.410 +CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@
   1.411 +CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@
   1.412 +ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@
   1.413 +
   1.414 +#
   1.415 +# Compress (or not) jars
   1.416 +COMPRESS_JARS=@COMPRESS_JARS@
   1.417 +
   1.418 +# Options to linker to specify the library name.
   1.419 +# (Note absence of := assignment, because we do not want to evaluate the macro body here)
   1.420 +SET_SHARED_LIBRARY_NAME=@SET_SHARED_LIBRARY_NAME@
   1.421 +
   1.422 +# Set origin using the linker, ie use the relative path to the dependent library to find the dependees.
   1.423 +# (Note absence of := assignment, because we do not want to evaluate the macro body here)
   1.424 +SET_SHARED_LIBRARY_ORIGIN=@SET_SHARED_LIBRARY_ORIGIN@
   1.425 +SET_EXECUTABLE_ORIGIN=@SET_EXECUTABLE_ORIGIN@
   1.426 +
   1.427 +# Different OS:es have different ways of naming shared libraries.
   1.428 +# The SHARED_LIBRARY macro takes "verify" as and argument and returns:
   1.429 +#    "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform.
   1.430 +# (Note absence of := assignment, because we do not want to evaluate the macro body here)
   1.431 +SHARED_LIBRARY=@SHARED_LIBRARY@
   1.432 +STATIC_LIBRARY=@STATIC_LIBRARY@
   1.433 +LIBRARY_PREFIX:=@LIBRARY_PREFIX@
   1.434 +SHARED_LIBRARY_SUFFIX:=@SHARED_LIBRARY_SUFFIX@
   1.435 +STATIC_LIBRARY_SUFFIX:=@STATIC_LIBRARY_SUFFIX@
   1.436 +EXE_SUFFIX:=@EXE_SUFFIX@
   1.437 +OBJ_SUFFIX:=@OBJ_SUFFIX@
   1.438 +
   1.439 +POST_STRIP_CMD:=@POST_STRIP_CMD@
   1.440 +POST_MCS_CMD:=@POST_MCS_CMD@
   1.441 +
   1.442 +JAVA_FLAGS:=@BOOT_JDK_JVMARGS@
   1.443 +
   1.444 +JAVA=@FIXPATH@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS)
   1.445 +
   1.446 +JAVAC=@FIXPATH@ $(BOOT_JDK)/bin/javac
   1.447 +# Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid
   1.448 +# overriding that value by using ?=.
   1.449 +JAVAC_FLAGS?=@JAVAC_FLAGS@
   1.450 +
   1.451 +JAVAH=@FIXPATH@ $(BOOT_JDK)/bin/javah
   1.452 +
   1.453 +JAR=@FIXPATH@ $(BOOT_JDK)/bin/jar
   1.454 +
   1.455 +RMIC=@FIXPATH@ $(BOOT_JDK)/bin/rmic
   1.456 +
   1.457 +NATIVE2ASCII=@FIXPATH@ $(BOOT_JDK)/bin/native2ascii
   1.458 +
   1.459 +JARSIGNER=@FIXPATH@ $(BOOT_JDK)/bin/jarsigner
   1.460 +
   1.461 +# You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ...
   1.462 +BOOTSTRAP_JAVAC_JAR:=$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar
   1.463 +BOOTSTRAP_JAVAC_ARGS:="-Xbootclasspath/p:$(BOOTSTRAP_JAVAC_JAR)" -cp $(BOOTSTRAP_JAVAC_JAR)
   1.464 +NEW_JAVAC   = $(BOOTSTRAP_JAVAC_ARGS) com.sun.tools.javac.Main
   1.465 +NEW_JAVADOC = $(BOOTSTRAP_JAVAC_ARGS) com.sun.tools.javadoc.Main
   1.466 +
   1.467 +# Base flags for RC
   1.468 +# Guarding this against resetting value. Legacy make files include spec multiple
   1.469 +# times.
   1.470 +ifndef RC_FLAGS
   1.471 +  RC_FLAGS:=@RC_FLAGS@
   1.472 +endif
   1.473 +
   1.474 +# A specific java binary with specific options can be used to run
   1.475 +# the long running background sjavac servers and other long running tasks.
   1.476 +SJAVAC_SERVER_JAVA:=@FIXPATH@ @SJAVAC_SERVER_JAVA@
   1.477 +
   1.478 +# Tools adhering to a minimal and common standard of posix compliance.
   1.479 +AWK:=@AWK@
   1.480 +BASENAME:=@BASENAME@
   1.481 +BASH:=@BASH@
   1.482 +CAT:=@CAT@
   1.483 +CCACHE:=@CCACHE@
   1.484 +# CD is going away, but remains to cater for legacy makefiles.
   1.485 +CD:=cd
   1.486 +CHMOD:=@CHMOD@
   1.487 +CODESIGN:=@CODESIGN@
   1.488 +COMM:=@COMM@
   1.489 +CP:=@CP@
   1.490 +CPIO:=@CPIO@
   1.491 +CUT:=@CUT@
   1.492 +DATE:=@DATE@
   1.493 +DIFF:=@DIFF@
   1.494 +DIRNAME:=@DIRNAME@
   1.495 +DSYMUTIL:=@DSYMUTIL@
   1.496 +FIND:=@FIND@
   1.497 +FIND_DELETE:=@FIND_DELETE@
   1.498 +ECHO:=@ECHO@
   1.499 +EGREP:=@EGREP@
   1.500 +FGREP:=@FGREP@
   1.501 +GREP:=@GREP@
   1.502 +HEAD:=@HEAD@
   1.503 +LS:=@LS@
   1.504 +LN:=@LN@
   1.505 +MKDIR:=@MKDIR@
   1.506 +MV:=@MV@
   1.507 +NAWK:=@NAWK@
   1.508 +PRINTF:=@PRINTF@
   1.509 +PWD:=@THEPWDCMD@
   1.510 +RM:=@RM@
   1.511 +SED:=@SED@
   1.512 +SH:=@SH@
   1.513 +SORT:=@SORT@
   1.514 +TAR:=@TAR@
   1.515 +TAIL:=@TAIL@
   1.516 +TEE:=@TEE@
   1.517 +TIME:=@TIME@
   1.518 +IS_GNU_TIME:=@IS_GNU_TIME@
   1.519 +TR:=@TR@
   1.520 +TOUCH:=@TOUCH@
   1.521 +UNIQ:=@UNIQ@
   1.522 +WC:=@WC@
   1.523 +XARGS:=@XARGS@
   1.524 +ZIPEXE:=@ZIP@
   1.525 +ZIP:=@ZIP@
   1.526 +UNZIP:=@UNZIP@
   1.527 +MT:=@FIXPATH@ @MT@
   1.528 +RC:=@FIXPATH@ @RC@
   1.529 +DUMPBIN:=@FIXPATH@ @DUMPBIN@
   1.530 +CYGPATH:=@CYGPATH@
   1.531 +LDD:=@LDD@
   1.532 +OTOOL:=@OTOOL@
   1.533 +READELF:=@READELF@
   1.534 +EXPR:=@EXPR@
   1.535 +FILE:=@FILE@
   1.536 +HG:=@HG@
   1.537 +OBJCOPY:=@OBJCOPY@
   1.538 +SETFILE:=@SETFILE@
   1.539 +XATTR:=@XATTR@
   1.540 +JT_HOME:=@JT_HOME@
   1.541 +JTREGEXE:=@JTREGEXE@
   1.542 +
   1.543 +FIXPATH:=@FIXPATH@
   1.544 +
   1.545 +# Where the build output is stored for your convenience.
   1.546 +BUILD_LOG:=@BUILD_LOG@
   1.547 +BUILD_LOG_PREVIOUS:=@BUILD_LOG_PREVIOUS@
   1.548 +# Disable the build log wrapper on sjavac+winapi until
   1.549 +# we have solved how to prevent the log wrapper to wait
   1.550 +# for the background sjavac server process.
   1.551 +ifeq (@ENABLE_SJAVAC@X@OPENJDK_BUILD_OS_API@,yesXwinapi)
   1.552 +  BUILD_LOG_WRAPPER:=
   1.553 +else
   1.554 +  BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@
   1.555 +endif
   1.556 +
   1.557 +# Build setup
   1.558 +ENABLE_JFR=@ENABLE_JFR@
   1.559 +ENABLE_INTREE_EC=@ENABLE_INTREE_EC@
   1.560 +USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
   1.561 +USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
   1.562 +USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
   1.563 +LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
   1.564 +MSVCR_DLL:=@MSVCR_DLL@
   1.565 +
   1.566 +
   1.567 +# ADD_SRCS takes a single argument with source roots
   1.568 +# and appends any corresponding source roots found
   1.569 +# below --with-add-source-root and below
   1.570 +# --with-override-source-root. It is the responsibility
   1.571 +# of the next macro to get rid of superfluous files.
   1.572 +ADD_SRCS=$1
   1.573 +ifneq (,$(ADD_SRC_ROOT))
   1.574 +  # Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT
   1.575 +  ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1))
   1.576 +endif
   1.577 +ifneq (,$(OVERRIDE_SRC_ROOT))
   1.578 +  # Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT
   1.579 +  ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1))
   1.580 +endif
   1.581 +
   1.582 +# OVR_SRCS creates a filter expression to filter out sources in
   1.583 +# the original source directory that lie inside directories below
   1.584 +# --with-override-source-root.
   1.585 +# Use := here since we want to scan for these files here. To avoid recomputation later.
   1.586 +# We cannot do the scan in configure, since that would force us to rerun configure when
   1.587 +# we add overridden sources.
   1.588 +ifneq (,$(OVERRIDE_SRC_ROOT))
   1.589 +  OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f)))))
   1.590 +else
   1.591 +  OVR_SRCS:=
   1.592 +endif
   1.593 +
   1.594 +####################################################
   1.595 +#
   1.596 +# INSTALLATION
   1.597 +#
   1.598 +
   1.599 +# Common prefix for all installed files. Defaults to /usr/local,
   1.600 +# but /opt/myjdk is another common version.
   1.601 +INSTALL_PREFIX=@prefix@
   1.602 +
   1.603 +# Directories containing architecture-dependent files should be relative to exec_prefix
   1.604 +INSTALL_EXECPREFIX=@exec_prefix@
   1.605 +
   1.606 +# java,javac,javah,javap etc are installed here.
   1.607 +INSTALL_BINDIR=@bindir@
   1.608 +
   1.609 +# Read only architecture-independent data
   1.610 +INSTALL_DATADIR=@datadir@
   1.611 +
   1.612 +# Root of above.
   1.613 +INSTALL_DATAROOTDIR=@datarootdir@
   1.614 +
   1.615 +# Doc files, other than info and man.
   1.616 +INSTALL_DOCDIR=@docdir@
   1.617 +
   1.618 +# Html documentation
   1.619 +INSTALL_HTMLDIR=@htmldir@
   1.620 +
   1.621 +# Installing C header files, JNI headers for example.
   1.622 +INSTALL_INCLUDEDIR=@includedir@
   1.623 +
   1.624 +# Installing library files....
   1.625 +INSTALL_INCLUDEDIR=@libdir@
   1.626 +
   1.627 +# Executables that other programs run.
   1.628 +INSTALL_LIBEXECDIR=@libexecdir@
   1.629 +
   1.630 +# Locale-dependent but architecture-independent data, such as message catalogs.
   1.631 +INSTALL_LOCALEDIR=@localedir@
   1.632 +
   1.633 +# Modifiable single-machine data
   1.634 +INSTALL_LOCALSTATEDIR=@localstatedir@
   1.635 +
   1.636 +# Man pages
   1.637 +INSTALL_MANDIR=@mandir@
   1.638 +
   1.639 +# Modifiable architecture-independent data.
   1.640 +INSTALL_SHAREDSTATEDIR=@sharedstatedir@
   1.641 +
   1.642 +# Read-only single-machine data
   1.643 +INSTALL_SYSCONFDIR=@sysconfdir@
   1.644 +
   1.645 +
   1.646 +####################################################
   1.647 +#
   1.648 +# Misc
   1.649 +#
   1.650 +
   1.651 +# Name of Service Agent library
   1.652 +SALIB_NAME=@SALIB_NAME@
   1.653 +
   1.654 +INCLUDE_SA=@INCLUDE_SA@
   1.655 +
   1.656 +OS_VERSION_MAJOR:=@OS_VERSION_MAJOR@
   1.657 +OS_VERSION_MINOR:=@OS_VERSION_MINOR@
   1.658 +OS_VERSION_MICRO:=@OS_VERSION_MICRO@
   1.659 +
   1.660 +# Images directory definitions
   1.661 +JDK_IMAGE_SUBDIR:=j2sdk-image
   1.662 +JRE_IMAGE_SUBDIR:=j2re-image
   1.663 +JDK_OVERLAY_IMAGE_SUBDIR:=j2sdk-overlay-image
   1.664 +JRE_OVERLAY_IMAGE_SUBDIR:=j2re-overlay-image
   1.665 +# Colon left out to be able to override output dir for bootcycle-images
   1.666 +JDK_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR)
   1.667 +JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR)
   1.668 +JDK_OVERLAY_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_OVERLAY_IMAGE_SUBDIR)
   1.669 +JRE_OVERLAY_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_OVERLAY_IMAGE_SUBDIR)
   1.670 +
   1.671 +# Macosx bundles directory definitions
   1.672 +JDK_BUNDLE_SUBDIR=j2sdk-bundle/jdk$(JDK_VERSION).jdk/Contents
   1.673 +JRE_BUNDLE_SUBDIR=j2re-bundle/jre$(JDK_VERSION).jre/Contents
   1.674 +JDK_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_BUNDLE_SUBDIR)
   1.675 +JRE_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_BUNDLE_SUBDIR)
   1.676 +
   1.677 +# Include the custom-spec.gmk file if it exists
   1.678 +-include $(dir @SPEC@)/custom-spec.gmk

mercurial