Mercurial > hg > graal-compiler
comparison make/solaris/makefiles/defs.make @ 6022:74c359c4a9e5
Merge
author | dcubed |
---|---|
date | Tue, 24 Apr 2012 15:20:40 -0700 |
parents | 3d7ea1dbe0de 744728c16316 |
children | d6c393b0164b |
comparison
equal
deleted
inserted
replaced
6019:f33c4d0f4c9e | 6022:74c359c4a9e5 |
---|---|
84 JDK6_OR_EARLIER=1 | 84 JDK6_OR_EARLIER=1 |
85 endif | 85 endif |
86 endif | 86 endif |
87 | 87 |
88 ifeq ($(JDK6_OR_EARLIER),0) | 88 ifeq ($(JDK6_OR_EARLIER),0) |
89 # Full Debug Symbols is supported on JDK7 or newer | 89 # Full Debug Symbols is supported on JDK7 or newer. |
90 | 90 # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product |
91 ifdef ENABLE_FULL_DEBUG_SYMBOLS | 91 # builds is enabled with debug info files ZIP'ed to save space. For |
92 # Only check for Full Debug Symbols support on Solaris if it is | 92 # BUILD_FLAVOR != product builds, FDS is always enabled, after all a |
93 # specifically enabled. Hopefully, it can be enabled by default | 93 # debug build without debug info isn't very useful. |
94 # once the .debuginfo size issues are worked out. | 94 # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled. |
95 | 95 # |
96 # Default OBJCOPY comes from the SUNWbinutils package: | 96 # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be |
97 DEF_OBJCOPY=/usr/sfw/bin/gobjcopy | 97 # disabled for a BUILD_FLAVOR == product build. |
98 ifeq ($(VM_PLATFORM),solaris_amd64) | 98 # |
99 # On Solaris AMD64/X64, gobjcopy is not happy and fails: | 99 # Note: Use of a different variable name for the FDS override option |
100 # | 100 # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS |
101 # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so | 101 # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass |
102 # BFD: stKPaiop: Not enough room for program headers, try linking with -N | 102 # in options via environment variables, use of distinct variables |
103 # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value | 103 # prevents strange behaviours. For example, in a BUILD_FLAVOR != |
104 # BFD: stKPaiop: Not enough room for program headers, try linking with -N | 104 # product build, the FULL_DEBUG_SYMBOLS environment variable will be |
105 # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value | 105 # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If |
106 # BFD: stKPaiop: Not enough room for program headers, try linking with -N | 106 # the same variable name is used, then different values can be picked |
107 # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value | 107 # up by different parts of the build. Just to be clear, we only need |
108 _JUNK_ := $(shell \ | 108 # two variable names because the incoming option value can be |
109 echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64") | 109 # overridden in some situations, e.g., a BUILD_FLAVOR != product |
110 # build. | |
111 | |
112 ifeq ($(BUILD_FLAVOR), product) | |
113 FULL_DEBUG_SYMBOLS ?= 1 | |
114 ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS) | |
115 else | |
116 # debug variants always get Full Debug Symbols (if available) | |
117 ENABLE_FULL_DEBUG_SYMBOLS = 1 | |
118 endif | |
119 _JUNK_ := $(shell \ | |
120 echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)") | |
121 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later | |
122 | |
123 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) | |
124 # Default OBJCOPY comes from the SUNWbinutils package: | |
125 DEF_OBJCOPY=/usr/sfw/bin/gobjcopy | |
126 ifeq ($(VM_PLATFORM),solaris_amd64) | |
127 # On Solaris AMD64/X64, gobjcopy is not happy and fails: | |
128 # | |
129 # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so | |
130 # BFD: stKPaiop: Not enough room for program headers, try linking with -N | |
131 # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value | |
132 # BFD: stKPaiop: Not enough room for program headers, try linking with -N | |
133 # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value | |
134 # BFD: stKPaiop: Not enough room for program headers, try linking with -N | |
135 # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value | |
136 _JUNK_ := $(shell \ | |
137 echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64") | |
138 OBJCOPY= | |
139 else | |
140 OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) | |
141 ifneq ($(ALT_OBJCOPY),) | |
142 _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") | |
143 OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) | |
144 endif | |
145 endif | |
146 else | |
110 OBJCOPY= | 147 OBJCOPY= |
111 else | 148 endif |
112 OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) | 149 |
113 ifneq ($(ALT_OBJCOPY),) | |
114 _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") | |
115 # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path | |
116 OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) | |
117 endif | |
118 endif | |
119 endif | |
120 | |
121 ifeq ($(OBJCOPY),) | 150 ifeq ($(OBJCOPY),) |
122 _JUNK_ := $(shell \ | 151 _JUNK_ := $(shell \ |
123 echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") | 152 echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") |
153 ENABLE_FULL_DEBUG_SYMBOLS=0 | |
154 _JUNK_ := $(shell \ | |
155 echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)") | |
124 else | 156 else |
125 _JUNK_ := $(shell \ | 157 _JUNK_ := $(shell \ |
126 echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.") | 158 echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.") |
127 | 159 |
128 # Library stripping policies for .debuginfo configs: | 160 # Library stripping policies for .debuginfo configs: |
129 # all_strip - strips everything from the library | 161 # all_strip - strips everything from the library |
130 # min_strip - strips most stuff from the library; leaves minimum symbols | 162 # min_strip - strips most stuff from the library; leaves minimum symbols |
131 # no_strip - does not strip the library at all | 163 # no_strip - does not strip the library at all |
132 # | 164 # |
133 # Oracle security policy requires "all_strip". A waiver was granted on | 165 # Oracle security policy requires "all_strip". A waiver was granted on |
134 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE. | 166 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE. |
135 # | 167 # |
136 DEF_STRIP_POLICY="min_strip" | 168 # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled. |
137 ifeq ($(ALT_STRIP_POLICY),) | 169 # |
138 STRIP_POLICY=$(DEF_STRIP_POLICY) | 170 STRIP_POLICY ?= min_strip |
139 else | 171 |
140 STRIP_POLICY=$(ALT_STRIP_POLICY) | |
141 endif | |
142 _JUNK_ := $(shell \ | 172 _JUNK_ := $(shell \ |
143 echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)") | 173 echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)") |
174 | |
175 ZIP_DEBUGINFO_FILES ?= 1 | |
176 | |
177 _JUNK_ := $(shell \ | |
178 echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)") | |
144 endif | 179 endif |
145 endif | 180 endif |
146 | 181 |
147 JDK_INCLUDE_SUBDIR=solaris | 182 JDK_INCLUDE_SUBDIR=solaris |
148 | 183 |
154 | 189 |
155 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html | 190 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html |
156 | 191 |
157 # client and server subdirectories have symbolic links to ../libjsig.$(LIBRARY_SUFFIX) | 192 # client and server subdirectories have symbolic links to ../libjsig.$(LIBRARY_SUFFIX) |
158 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX) | 193 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX) |
159 ifneq ($(OBJCOPY),) | 194 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
160 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo | 195 ifeq ($(ZIP_DEBUGINFO_FILES),1) |
196 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz | |
197 else | |
198 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo | |
199 endif | |
161 endif | 200 endif |
162 | 201 |
163 EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar | 202 EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar |
164 | 203 |
165 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server | 204 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server |
172 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX) | 211 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX) |
173 ifeq ($(ARCH_DATA_MODEL),32) | 212 ifeq ($(ARCH_DATA_MODEL),32) |
174 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX) | 213 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX) |
175 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX) | 214 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX) |
176 endif | 215 endif |
177 ifneq ($(OBJCOPY),) | 216 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
178 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo | 217 ifeq ($(ZIP_DEBUGINFO_FILES),1) |
179 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo | 218 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz |
180 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo | 219 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.diz |
220 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.diz | |
221 else | |
222 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo | |
223 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo | |
224 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo | |
225 endif | |
181 endif | 226 endif |
182 endif | 227 endif |
183 ifeq ($(JVM_VARIANT_CLIENT),true) | 228 ifeq ($(JVM_VARIANT_CLIENT),true) |
184 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt | 229 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt |
185 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX) | 230 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX) |
187 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX) | 232 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX) |
188 ifeq ($(ARCH_DATA_MODEL),32) | 233 ifeq ($(ARCH_DATA_MODEL),32) |
189 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX) | 234 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX) |
190 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX) | 235 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX) |
191 endif | 236 endif |
192 ifneq ($(OBJCOPY),) | 237 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
193 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo | 238 ifeq ($(ZIP_DEBUGINFO_FILES),1) |
194 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo | 239 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz |
195 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo | 240 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.diz |
196 ifeq ($(ARCH_DATA_MODEL),32) | 241 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.diz |
197 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo | 242 ifeq ($(ARCH_DATA_MODEL),32) |
198 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo | 243 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.diz |
244 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.diz | |
245 endif | |
246 else | |
247 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo | |
248 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo | |
249 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo | |
250 ifeq ($(ARCH_DATA_MODEL),32) | |
251 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo | |
252 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo | |
253 endif | |
199 endif | 254 endif |
200 endif | 255 endif |
201 endif | 256 endif |
202 | 257 |
203 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) | 258 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) |
204 ifneq ($(OBJCOPY),) | 259 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
205 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo | 260 ifeq ($(ZIP_DEBUGINFO_FILES),1) |
261 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz | |
262 else | |
263 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo | |
264 endif | |
206 endif | 265 endif |
207 EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar | 266 EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar |