110 # Keep temporary files (.ii, .s)
111 ifdef NEED_ASM
112 CFLAGS += -save-temps
113 else
114 CFLAGS += -pipe
115 endif
116
117
118 # Compiler warnings are treated as errors
119 WARNINGS_ARE_ERRORS = -Werror
120
121 # Enable these warnings. See 'info gcc' about details on these options
122 WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef -Wformat=2
123 CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(WARNING_FLAGS)
124
125 # Special cases
126 CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
127
128 # optimization control flags (Used by fastdebug and release variants)
129 OPT_CFLAGS/NOOPT=-O0
130 ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 8 \) \))" "1"
131 # Allow basic optimizations which don't distrupt debugging. (Principally dead code elimination)
132 OPT_CFLAGS/DEBUG=-Og
133 +else
134 # Allow no optimizations.
135 OPT_CFLAGS/DEBUG=-O0
136 endif
137 OPT_CFLAGS/SIZE=-Os
138 OPT_CFLAGS/SPEED=-O3
139
140 OPT_CFLAGS_DEFAULT ?= SPEED
141
142 # Hotspot uses very unstrict aliasing turn this optimization off
143 # This option is added to CFLAGS rather than OPT_CFLAGS
144 # so that OPT_CFLAGS overrides get this option too.
145 CFLAGS += -fno-strict-aliasing
146
147 ifdef OPT_CFLAGS
148 ifneq ("$(origin OPT_CFLAGS)", "command line")
149 $(error " Use OPT_EXTRAS instead of OPT_CFLAGS to add extra flags to OPT_CFLAGS.")
150 endif
151 endif
152
153 OPT_CFLAGS = $(OPT_CFLAGS/$(OPT_CFLAGS_DEFAULT)) $(OPT_EXTRAS)
154
155 # The gcc compiler segv's on ia64 when compiling bytecodeInterpreter.cpp
156 # if we use expensive-optimizations
212 # Note: all ia64 setting reflect the ones for linux
213 # No actual testing was performed: there is no Solaris on ia64 presently
214 LFLAGS += -Wl,-relax
215 endif
216
217 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
218 MAPFLAG = -Xlinker --version-script=FILENAME
219 else
220 MAPFLAG = -Xlinker -M -Xlinker FILENAME
221 endif
222
223 # Use $(SONAMEFLAG:SONAME=soname) to specify the intrinsic name of a shared obj
224 SONAMEFLAG = -Xlinker -soname=SONAME
225
226 # Build shared library
227 SHARED_FLAG = -shared
228
229 #------------------------------------------------------------------------
230 # Debug flags
231
232 ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 8 \) \))" "1"
233 # Allow basic optimizations which don't distrupt debugging. (Principally dead code elimination)
234 DEBUG_CFLAGS=-Og
235 else
236 # Allow no optimizations.
237 DEBUG_CFLAGS=-O0
238 endif
239
240
241 # Use the stabs format for debugging information (this is the default
242 # on gcc-2.91). It's good enough, has all the information about line
243 # numbers and local variables, and libjvm.so is only about 16M.
244 # Change this back to "-g" if you want the most expressive format.
245 # (warning: that could easily inflate libjvm.so to 150M!)
246 # Note: The Itanium gcc compiler crashes when using -gstabs.
247 DEBUG_CFLAGS/ia64 = -g
248 DEBUG_CFLAGS/amd64 = -g
249 DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
250 ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
251 DEBUG_CFLAGS += -gstabs
252 endif
253
254 # Enable bounds checking.
255 # _FORTIFY_SOURCE appears in GCC 4.0+
256 ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) )" "1"
257 # compile time size bounds checks
258 FASTDEBUG_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
259
|
110 # Keep temporary files (.ii, .s)
111 ifdef NEED_ASM
112 CFLAGS += -save-temps
113 else
114 CFLAGS += -pipe
115 endif
116
117
118 # Compiler warnings are treated as errors
119 WARNINGS_ARE_ERRORS = -Werror
120
121 # Enable these warnings. See 'info gcc' about details on these options
122 WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef -Wformat=2
123 CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(WARNING_FLAGS)
124
125 # Special cases
126 CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
127
128 # optimization control flags (Used by fastdebug and release variants)
129 OPT_CFLAGS/NOOPT=-O0
130 OPT_CFLAGS/DEBUG=-O0
131 OPT_CFLAGS/SIZE=-Os
132 OPT_CFLAGS/SPEED=-O3
133
134 OPT_CFLAGS_DEFAULT ?= SPEED
135
136 # Hotspot uses very unstrict aliasing turn this optimization off
137 # This option is added to CFLAGS rather than OPT_CFLAGS
138 # so that OPT_CFLAGS overrides get this option too.
139 CFLAGS += -fno-strict-aliasing
140
141 ifdef OPT_CFLAGS
142 ifneq ("$(origin OPT_CFLAGS)", "command line")
143 $(error " Use OPT_EXTRAS instead of OPT_CFLAGS to add extra flags to OPT_CFLAGS.")
144 endif
145 endif
146
147 OPT_CFLAGS = $(OPT_CFLAGS/$(OPT_CFLAGS_DEFAULT)) $(OPT_EXTRAS)
148
149 # The gcc compiler segv's on ia64 when compiling bytecodeInterpreter.cpp
150 # if we use expensive-optimizations
206 # Note: all ia64 setting reflect the ones for linux
207 # No actual testing was performed: there is no Solaris on ia64 presently
208 LFLAGS += -Wl,-relax
209 endif
210
211 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
212 MAPFLAG = -Xlinker --version-script=FILENAME
213 else
214 MAPFLAG = -Xlinker -M -Xlinker FILENAME
215 endif
216
217 # Use $(SONAMEFLAG:SONAME=soname) to specify the intrinsic name of a shared obj
218 SONAMEFLAG = -Xlinker -soname=SONAME
219
220 # Build shared library
221 SHARED_FLAG = -shared
222
223 #------------------------------------------------------------------------
224 # Debug flags
225
226 # Allow no optimizations.
227 DEBUG_CFLAGS=-O0
228
229 # Use the stabs format for debugging information (this is the default
230 # on gcc-2.91). It's good enough, has all the information about line
231 # numbers and local variables, and libjvm.so is only about 16M.
232 # Change this back to "-g" if you want the most expressive format.
233 # (warning: that could easily inflate libjvm.so to 150M!)
234 # Note: The Itanium gcc compiler crashes when using -gstabs.
235 DEBUG_CFLAGS/ia64 = -g
236 DEBUG_CFLAGS/amd64 = -g
237 DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
238 ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
239 DEBUG_CFLAGS += -gstabs
240 endif
241
242 # Enable bounds checking.
243 # _FORTIFY_SOURCE appears in GCC 4.0+
244 ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) )" "1"
245 # compile time size bounds checks
246 FASTDEBUG_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
247
|