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