Mercurial > hg > truffle
comparison make/solaris/makefiles/defs.make @ 6021:744728c16316
7158067: FDS: ENABLE_FULL_DEBUG_SYMBOLS flag should only affect product builds
Summary: Build option FULL_DEBUG_SYMBOLS=0 only affects product builds.
Reviewed-by: ohair, jmelvin, sspitsyn
author | dcubed |
---|---|
date | Tue, 03 Apr 2012 09:48:34 -0700 |
parents | d652a62d6e03 |
children | 74c359c4a9e5 9c1709c4c80c |
comparison
equal
deleted
inserted
replaced
6020:d652a62d6e03 | 6021:744728c16316 |
---|---|
73 endif | 73 endif |
74 endif | 74 endif |
75 | 75 |
76 ifeq ($(JDK6_OR_EARLIER),0) | 76 ifeq ($(JDK6_OR_EARLIER),0) |
77 # Full Debug Symbols is supported on JDK7 or newer. | 77 # Full Debug Symbols is supported on JDK7 or newer. |
78 # Default is enabled with .debuginfo files ZIP'ed to save space. | 78 # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product |
79 | 79 # builds is enabled with debug info files ZIP'ed to save space. For |
80 ENABLE_FULL_DEBUG_SYMBOLS ?= 1 | 80 # BUILD_FLAVOR != product builds, FDS is always enabled, after all a |
81 # debug build without debug info isn't very useful. | |
82 # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled. | |
83 # | |
84 # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be | |
85 # disabled for a BUILD_FLAVOR == product build. | |
86 # | |
87 # Note: Use of a different variable name for the FDS override option | |
88 # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS | |
89 # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass | |
90 # in options via environment variables, use of distinct variables | |
91 # prevents strange behaviours. For example, in a BUILD_FLAVOR != | |
92 # product build, the FULL_DEBUG_SYMBOLS environment variable will be | |
93 # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If | |
94 # the same variable name is used, then different values can be picked | |
95 # up by different parts of the build. Just to be clear, we only need | |
96 # two variable names because the incoming option value can be | |
97 # overridden in some situations, e.g., a BUILD_FLAVOR != product | |
98 # build. | |
99 | |
100 ifeq ($(BUILD_FLAVOR), product) | |
101 FULL_DEBUG_SYMBOLS ?= 1 | |
102 ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS) | |
103 else | |
104 # debug variants always get Full Debug Symbols (if available) | |
105 ENABLE_FULL_DEBUG_SYMBOLS = 1 | |
106 endif | |
107 _JUNK_ := $(shell \ | |
108 echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)") | |
81 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later | 109 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later |
82 | 110 |
83 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) | 111 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
84 # Default OBJCOPY comes from the SUNWbinutils package: | 112 # Default OBJCOPY comes from the SUNWbinutils package: |
85 DEF_OBJCOPY=/usr/sfw/bin/gobjcopy | 113 DEF_OBJCOPY=/usr/sfw/bin/gobjcopy |
109 | 137 |
110 ifeq ($(OBJCOPY),) | 138 ifeq ($(OBJCOPY),) |
111 _JUNK_ := $(shell \ | 139 _JUNK_ := $(shell \ |
112 echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") | 140 echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") |
113 ENABLE_FULL_DEBUG_SYMBOLS=0 | 141 ENABLE_FULL_DEBUG_SYMBOLS=0 |
142 _JUNK_ := $(shell \ | |
143 echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)") | |
114 else | 144 else |
115 _JUNK_ := $(shell \ | 145 _JUNK_ := $(shell \ |
116 echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.") | 146 echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.") |
117 | 147 |
118 # Library stripping policies for .debuginfo configs: | 148 # Library stripping policies for .debuginfo configs: |