make/solaris/makefiles/defs.make

Wed, 27 Apr 2016 01:25:04 +0800

author
aoqi
date
Wed, 27 Apr 2016 01:25:04 +0800
changeset 0
f90c822e73f8
child 6876
710a3c8b516e
permissions
-rw-r--r--

Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/
changeset: 6782:28b50d07f6f8
tag: jdk8u25-b17

aoqi@0 1 #
aoqi@0 2 # Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
aoqi@0 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aoqi@0 4 #
aoqi@0 5 # This code is free software; you can redistribute it and/or modify it
aoqi@0 6 # under the terms of the GNU General Public License version 2 only, as
aoqi@0 7 # published by the Free Software Foundation.
aoqi@0 8 #
aoqi@0 9 # This code is distributed in the hope that it will be useful, but WITHOUT
aoqi@0 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aoqi@0 11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aoqi@0 12 # version 2 for more details (a copy is included in the LICENSE file that
aoqi@0 13 # accompanied this code).
aoqi@0 14 #
aoqi@0 15 # You should have received a copy of the GNU General Public License version
aoqi@0 16 # 2 along with this work; if not, write to the Free Software Foundation,
aoqi@0 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aoqi@0 18 #
aoqi@0 19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aoqi@0 20 # or visit www.oracle.com if you need additional information or have any
aoqi@0 21 # questions.
aoqi@0 22 #
aoqi@0 23 #
aoqi@0 24
aoqi@0 25 # The common definitions for hotspot solaris builds.
aoqi@0 26 # Include the top level defs.make under make directory instead of this one.
aoqi@0 27 # This file is included into make/defs.make.
aoqi@0 28
aoqi@0 29 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
aoqi@0 30 SLASH_JAVA ?= /java
aoqi@0 31 ARCH:=$(shell uname -p)
aoqi@0 32 PATH_SEP = :
aoqi@0 33 ifeq ($(LP64), 1)
aoqi@0 34 ARCH_DATA_MODEL=64
aoqi@0 35 else
aoqi@0 36 ARCH_DATA_MODEL=32
aoqi@0 37 endif
aoqi@0 38
aoqi@0 39 ifeq ($(ARCH),sparc)
aoqi@0 40 ifeq ($(ARCH_DATA_MODEL), 64)
aoqi@0 41 MAKE_ARGS += LP64=1
aoqi@0 42 PLATFORM=solaris-sparcv9
aoqi@0 43 VM_PLATFORM=solaris_sparcv9
aoqi@0 44 else
aoqi@0 45 PLATFORM=solaris-sparc
aoqi@0 46 VM_PLATFORM=solaris_sparc
aoqi@0 47 endif
aoqi@0 48 HS_ARCH=sparc
aoqi@0 49 else
aoqi@0 50 ifeq ($(ARCH_DATA_MODEL), 64)
aoqi@0 51 MAKE_ARGS += LP64=1
aoqi@0 52 PLATFORM=solaris-amd64
aoqi@0 53 VM_PLATFORM=solaris_amd64
aoqi@0 54 HS_ARCH=x86
aoqi@0 55 else
aoqi@0 56 PLATFORM=solaris-i586
aoqi@0 57 VM_PLATFORM=solaris_i486
aoqi@0 58 HS_ARCH=x86
aoqi@0 59 endif
aoqi@0 60 endif
aoqi@0 61
aoqi@0 62 # On 32 bit solaris we build server and client, on 64 bit just server.
aoqi@0 63 ifeq ($(JVM_VARIANTS),)
aoqi@0 64 ifeq ($(ARCH_DATA_MODEL), 32)
aoqi@0 65 JVM_VARIANTS:=client,server
aoqi@0 66 JVM_VARIANT_CLIENT:=true
aoqi@0 67 JVM_VARIANT_SERVER:=true
aoqi@0 68 else
aoqi@0 69 JVM_VARIANTS:=server
aoqi@0 70 JVM_VARIANT_SERVER:=true
aoqi@0 71 endif
aoqi@0 72 endif
aoqi@0 73
aoqi@0 74 # determine if HotSpot is being built in JDK6 or earlier version
aoqi@0 75 JDK6_OR_EARLIER=0
aoqi@0 76 ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
aoqi@0 77 # if the longer variable names (newer build style) are set, then check those
aoqi@0 78 ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
aoqi@0 79 JDK6_OR_EARLIER=1
aoqi@0 80 endif
aoqi@0 81 else
aoqi@0 82 # the longer variables aren't set so check the shorter variable names
aoqi@0 83 ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
aoqi@0 84 JDK6_OR_EARLIER=1
aoqi@0 85 endif
aoqi@0 86 endif
aoqi@0 87
aoqi@0 88 ifeq ($(JDK6_OR_EARLIER),0)
aoqi@0 89 # Full Debug Symbols is supported on JDK7 or newer.
aoqi@0 90 # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
aoqi@0 91 # builds is enabled with debug info files ZIP'ed to save space. For
aoqi@0 92 # BUILD_FLAVOR != product builds, FDS is always enabled, after all a
aoqi@0 93 # debug build without debug info isn't very useful.
aoqi@0 94 # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
aoqi@0 95 #
aoqi@0 96 # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
aoqi@0 97 # disabled for a BUILD_FLAVOR == product build.
aoqi@0 98 #
aoqi@0 99 # Note: Use of a different variable name for the FDS override option
aoqi@0 100 # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
aoqi@0 101 # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
aoqi@0 102 # in options via environment variables, use of distinct variables
aoqi@0 103 # prevents strange behaviours. For example, in a BUILD_FLAVOR !=
aoqi@0 104 # product build, the FULL_DEBUG_SYMBOLS environment variable will be
aoqi@0 105 # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
aoqi@0 106 # the same variable name is used, then different values can be picked
aoqi@0 107 # up by different parts of the build. Just to be clear, we only need
aoqi@0 108 # two variable names because the incoming option value can be
aoqi@0 109 # overridden in some situations, e.g., a BUILD_FLAVOR != product
aoqi@0 110 # build.
aoqi@0 111
aoqi@0 112 # Due to the multiple sub-make processes that occur this logic gets
aoqi@0 113 # executed multiple times. We reduce the noise by at least checking that
aoqi@0 114 # BUILD_FLAVOR has been set.
aoqi@0 115 ifneq ($(BUILD_FLAVOR),)
aoqi@0 116 ifeq ($(BUILD_FLAVOR), product)
aoqi@0 117 FULL_DEBUG_SYMBOLS ?= 1
aoqi@0 118 ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
aoqi@0 119 else
aoqi@0 120 # debug variants always get Full Debug Symbols (if available)
aoqi@0 121 ENABLE_FULL_DEBUG_SYMBOLS = 1
aoqi@0 122 endif
aoqi@0 123 _JUNK_ := $(shell \
aoqi@0 124 echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
aoqi@0 125 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
aoqi@0 126
aoqi@0 127 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
aoqi@0 128 # Default OBJCOPY comes from the SUNWbinutils package:
aoqi@0 129 DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
aoqi@0 130 OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
aoqi@0 131 ifneq ($(ALT_OBJCOPY),)
aoqi@0 132 _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
aoqi@0 133 OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
aoqi@0 134 endif
aoqi@0 135
aoqi@0 136 ifeq ($(OBJCOPY),)
aoqi@0 137 _JUNK_ := $(shell \
aoqi@0 138 echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
aoqi@0 139 ENABLE_FULL_DEBUG_SYMBOLS=0
aoqi@0 140 _JUNK_ := $(shell \
aoqi@0 141 echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
aoqi@0 142 else
aoqi@0 143 _JUNK_ := $(shell \
aoqi@0 144 echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
aoqi@0 145
aoqi@0 146 # Library stripping policies for .debuginfo configs:
aoqi@0 147 # all_strip - strips everything from the library
aoqi@0 148 # min_strip - strips most stuff from the library; leaves minimum symbols
aoqi@0 149 # no_strip - does not strip the library at all
aoqi@0 150 #
aoqi@0 151 # Oracle security policy requires "all_strip". A waiver was granted on
aoqi@0 152 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
aoqi@0 153 #
aoqi@0 154 # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
aoqi@0 155 #
aoqi@0 156 STRIP_POLICY ?= min_strip
aoqi@0 157
aoqi@0 158 _JUNK_ := $(shell \
aoqi@0 159 echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
aoqi@0 160
aoqi@0 161 ZIP_DEBUGINFO_FILES ?= 1
aoqi@0 162
aoqi@0 163 _JUNK_ := $(shell \
aoqi@0 164 echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
aoqi@0 165 endif
aoqi@0 166 endif # ENABLE_FULL_DEBUG_SYMBOLS=1
aoqi@0 167 endif # BUILD_FLAVOR
aoqi@0 168 endif # JDK_6_OR_EARLIER
aoqi@0 169
aoqi@0 170 JDK_INCLUDE_SUBDIR=solaris
aoqi@0 171
aoqi@0 172 # Library suffix
aoqi@0 173 LIBRARY_SUFFIX=so
aoqi@0 174
aoqi@0 175 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
aoqi@0 176
aoqi@0 177 # client and server subdirectories have symbolic links to ../libjsig.$(LIBRARY_SUFFIX)
aoqi@0 178 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
aoqi@0 179 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
aoqi@0 180 ifeq ($(ZIP_DEBUGINFO_FILES),1)
aoqi@0 181 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz
aoqi@0 182 else
aoqi@0 183 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
aoqi@0 184 endif
aoqi@0 185 endif
aoqi@0 186
aoqi@0 187 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
aoqi@0 188 EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
aoqi@0 189
aoqi@0 190 ifeq ($(JVM_VARIANT_SERVER),true)
aoqi@0 191 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
aoqi@0 192 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
aoqi@0 193 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
aoqi@0 194 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
aoqi@0 195 ifeq ($(ARCH_DATA_MODEL),32)
aoqi@0 196 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
aoqi@0 197 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
aoqi@0 198 endif
aoqi@0 199 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
aoqi@0 200 ifeq ($(ZIP_DEBUGINFO_FILES),1)
aoqi@0 201 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
aoqi@0 202 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.diz
aoqi@0 203 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.diz
aoqi@0 204 ifeq ($(ARCH_DATA_MODEL),32)
aoqi@0 205 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.diz
aoqi@0 206 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.diz
aoqi@0 207 endif
aoqi@0 208 else
aoqi@0 209 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
aoqi@0 210 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo
aoqi@0 211 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo
aoqi@0 212 ifeq ($(ARCH_DATA_MODEL),32)
aoqi@0 213 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.debuginfo
aoqi@0 214 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.debuginfo
aoqi@0 215 endif
aoqi@0 216 endif
aoqi@0 217 endif
aoqi@0 218 endif
aoqi@0 219 ifeq ($(JVM_VARIANT_CLIENT),true)
aoqi@0 220 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
aoqi@0 221 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
aoqi@0 222 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
aoqi@0 223 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
aoqi@0 224 ifeq ($(ARCH_DATA_MODEL),32)
aoqi@0 225 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
aoqi@0 226 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
aoqi@0 227 endif
aoqi@0 228 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
aoqi@0 229 ifeq ($(ZIP_DEBUGINFO_FILES),1)
aoqi@0 230 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
aoqi@0 231 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.diz
aoqi@0 232 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.diz
aoqi@0 233 ifeq ($(ARCH_DATA_MODEL),32)
aoqi@0 234 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.diz
aoqi@0 235 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.diz
aoqi@0 236 endif
aoqi@0 237 else
aoqi@0 238 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
aoqi@0 239 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo
aoqi@0 240 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo
aoqi@0 241 ifeq ($(ARCH_DATA_MODEL),32)
aoqi@0 242 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo
aoqi@0 243 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo
aoqi@0 244 endif
aoqi@0 245 endif
aoqi@0 246 endif
aoqi@0 247 endif
aoqi@0 248
aoqi@0 249 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX)
aoqi@0 250 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
aoqi@0 251 ifeq ($(ZIP_DEBUGINFO_FILES),1)
aoqi@0 252 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
aoqi@0 253 else
aoqi@0 254 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
aoqi@0 255 endif
aoqi@0 256 endif
aoqi@0 257 EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar

mercurial