blob: 9d403b115384dcd7e77a15350ccc4930be56b39f [file] [log] [blame]
duke6e45e102007-12-01 00:00:00 +00001#
dcubed768ddaa2012-03-23 09:27:44 -07002# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
duke6e45e102007-12-01 00:00:00 +00003# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
ohair2283b9d2010-05-25 15:58:33 -07007# published by the Free Software Foundation. Oracle designates this
duke6e45e102007-12-01 00:00:00 +00008# particular file as subject to the "Classpath" exception as provided
ohair2283b9d2010-05-25 15:58:33 -07009# by Oracle in the LICENSE file that accompanied this code.
duke6e45e102007-12-01 00:00:00 +000010#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
ohair2283b9d2010-05-25 15:58:33 -070021# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
duke6e45e102007-12-01 00:00:00 +000024#
25
26#
27# Makefile to specify compiler flags for programs and libraries
28# targeted to Linux. Should not contain any rules.
29#
30# WARNING: This file is shared with other workspaces.
31# So when it includes other files, it must use JDK_TOPDIR.
32#
33
34# Warning: the following variables are overriden by Defs.gmk. Set
35# values will be silently ignored:
36# CFLAGS (set $(OTHER_CFLAGS) instead)
37# CPPFLAGS (set $(OTHER_CPPFLAGS) instead)
38# CXXFLAGS (set $(OTHER_CXXFLAGS) instead)
39# LDFLAGS (set $(OTHER_LDFAGS) instead)
40# LDLIBS (set $(EXTRA_LIBS) instead)
41# LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
42
43# Get shared JDK settings
44include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
45
46# Part of INCREMENTAL_BUILD mechanism.
47# Compiler emits things like: path/file.o: file.h
48# We want something like: relative_path/file.o relative_path/file.d: file.h
49CC_DEPEND = -MM
50CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g'
51
52ifndef PLATFORM_SRC
ohair26e0af62008-03-04 09:52:54 -080053 PLATFORM_SRC = $(BUILDDIR)/../src/solaris
duke6e45e102007-12-01 00:00:00 +000054endif # PLATFORM_SRC
55
kizune43045ca2012-04-04 20:31:50 +040056# Location of the various .properties files specific to Linux platform
57ifndef PLATFORM_PROPERTIES
58 PLATFORM_PROPERTIES = $(BUILDDIR)/../src/solaris/lib
59endif # PLATFORM_SRC
60
duke6e45e102007-12-01 00:00:00 +000061# Platform specific closed sources
62ifndef OPENJDK
63 ifndef CLOSED_PLATFORM_SRC
ohair26e0af62008-03-04 09:52:54 -080064 CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
duke6e45e102007-12-01 00:00:00 +000065 endif
66endif
67
68# platform specific include files
69PLATFORM_INCLUDE_NAME = $(PLATFORM)
70PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
71
72# suffix used for make dependencies files.
73DEPEND_SUFFIX = d
74# The suffix applied to the library name for FDLIBM
75FDDLIBM_SUFFIX = a
76# The suffix applied to scripts (.bat for windows, nothing for unix)
77SCRIPT_SUFFIX =
78# CC compiler object code output directive flag value
79CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
duke6e45e102007-12-01 00:00:00 +000080
dcubedb896fcf2012-04-03 12:57:47 -070081# The Full Debug Symbols (FDS) default for VARIANT == OPT builds is
82# enabled with debug info files ZIP'ed to save space. For VARIANT !=
83# OPT builds, FDS is always enabled, after all a debug build without
84# debug info isn't very useful. The ZIP_DEBUGINFO_FILES option only has
85# meaning when FDS is enabled.
86#
87# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
88# disabled for a VARIANT == OPT build.
89#
90# Note: Use of a different variable name for the FDS override option
91# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
92# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
93# in options via environment variables, use of distinct variables
94# prevents strange behaviours. For example, in a VARIANT != OPT build,
95# the FULL_DEBUG_SYMBOLS environment variable will be 0, but the
96# ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If the same
97# variable name is used, then different values can be picked up by
98# different parts of the build. Just to be clear, we only need two
99# variable names because the incoming option value can be overridden
100# in some situations, e.g., a VARIANT != OPT build.
101
102ifeq ($(VARIANT), OPT)
103 FULL_DEBUG_SYMBOLS ?= 1
104 ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
dcubed46b99222011-09-20 19:16:21 -0700105else
dcubedb896fcf2012-04-03 12:57:47 -0700106 # debug variants always get Full Debug Symbols (if available)
107 ENABLE_FULL_DEBUG_SYMBOLS = 1
dcubed46b99222011-09-20 19:16:21 -0700108endif
dcubedb896fcf2012-04-03 12:57:47 -0700109_JUNK_ := $(shell \
110 echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
dcubed768ddaa2012-03-23 09:27:44 -0700111# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
dcubed46b99222011-09-20 19:16:21 -0700112
dcubed768ddaa2012-03-23 09:27:44 -0700113ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
114 # Default OBJCOPY comes from GNU Binutils on Linux:
115 DEF_OBJCOPY=/usr/bin/objcopy
116 ifdef CROSS_COMPILE_ARCH
117 # don't try to generate .debuginfo files when cross compiling
118 _JUNK_ := $(shell \
119 echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \
120 "skipping .debuginfo generation.")
121 OBJCOPY=
dcubed46b99222011-09-20 19:16:21 -0700122 else
dcubed768ddaa2012-03-23 09:27:44 -0700123 OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
124 ifneq ($(ALT_OBJCOPY),)
125 _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
126 # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
127 OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
128 endif
dcubed46b99222011-09-20 19:16:21 -0700129 endif
130
dcubed768ddaa2012-03-23 09:27:44 -0700131 # Setting ENABLE_FULL_DEBUG_SYMBOLS=1 (and OBJCOPY) above enables the
132 # JDK build to import .debuginfo or .diz files from the HotSpot build.
133 # However, adding FDS support to the JDK build will occur in phases
dcubed7fe35f32012-04-11 07:26:35 -0700134 # so a different make variable (LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
135 # and PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS) is used to indicate that a
136 # particular library or program supports FDS.
dcubed768ddaa2012-03-23 09:27:44 -0700137
138 ifeq ($(OBJCOPY),)
139 _JUNK_ := $(shell \
140 echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
141 ENABLE_FULL_DEBUG_SYMBOLS=0
142 else
143 _JUNK_ := $(shell \
144 echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
145
146 # Library stripping policies for .debuginfo configs:
147 # all_strip - strips everything from the library
148 # min_strip - strips most stuff from the library; leaves minimum symbols
149 # no_strip - does not strip the library at all
150 #
151 # Oracle security policy requires "all_strip". A waiver was granted on
152 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
153 #
154 # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
155 STRIP_POLICY ?= min_strip
156
157 _JUNK_ := $(shell \
158 echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
159
dcubedb896fcf2012-04-03 12:57:47 -0700160 # HACK: disable ZIP_DEBUGINFO_FILES by default until install repo
161 # changes are promoted
162 ZIP_DEBUGINFO_FILES ?= 0
dcubed768ddaa2012-03-23 09:27:44 -0700163
164 _JUNK_ := $(shell \
165 echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
166 endif
dcubed46b99222011-09-20 19:16:21 -0700167endif
168
duke6e45e102007-12-01 00:00:00 +0000169#
duke6e45e102007-12-01 00:00:00 +0000170# Default optimization
171#
duke6e45e102007-12-01 00:00:00 +0000172
ohair850fb252008-07-30 19:40:57 -0700173ifndef OPTIMIZATION_LEVEL
174 ifeq ($(PRODUCT), java)
175 OPTIMIZATION_LEVEL = HIGHER
176 else
177 OPTIMIZATION_LEVEL = LOWER
178 endif
duke6e45e102007-12-01 00:00:00 +0000179endif
ohairb99e3e32009-03-31 16:10:31 -0700180ifndef FASTDEBUG_OPTIMIZATION_LEVEL
181 FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
182endif
duke6e45e102007-12-01 00:00:00 +0000183
ohair850fb252008-07-30 19:40:57 -0700184CC_OPT/NONE =
185CC_OPT/LOWER = -O2
186CC_OPT/HIGHER = -O3
187CC_OPT/HIGHEST = -O3
188
189CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
190
duke6e45e102007-12-01 00:00:00 +0000191# For all platforms, do not omit the frame pointer register usage.
192# We need this frame pointer to make it easy to walk the stacks.
193# This should be the default on X86, but ia64 and amd64 may not have this
194# as the default.
195CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
196CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
197CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
198CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
199LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9
200CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9
201LDFLAGS_COMMON_sparc += -m32 -mcpu=v9
dholmes70a4d1a2011-03-16 18:54:50 -0400202CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN
203CFLAGS_REQUIRED_ppc += -fsigned-char -D_BIG_ENDIAN
gbenson24e3a5d2009-10-15 13:27:59 +0100204ifeq ($(ZERO_BUILD), true)
205 CFLAGS_REQUIRED = $(ZERO_ARCHFLAG)
206 ifeq ($(ZERO_ENDIANNESS), little)
207 CFLAGS_REQUIRED += -D_LITTLE_ENDIAN
208 endif
209 LDFLAGS_COMMON += $(ZERO_ARCHFLAG)
210else
211 CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
212 LDFLAGS_COMMON += $(LDFLAGS_COMMON_$(ARCH))
213endif
duke6e45e102007-12-01 00:00:00 +0000214
ohair8df39292009-01-31 17:31:21 -0800215# If this is a --hash-style=gnu system, use --hash-style=both
216# The gnu .hash section won't work on some Linux systems like SuSE 10.
217_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | $(GREP) -- '--hash-style=gnu')
218ifneq ($(_HAS_HASH_STYLE_GNU),)
219 LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
220endif
221LDFLAGS_COMMON += $(LDFLAGS_HASH_STYLE)
222
duke6e45e102007-12-01 00:00:00 +0000223#
224# Selection of warning messages
225#
226GCC_INHIBIT = -Wno-unused -Wno-parentheses
227GCC_STYLE =
228GCC_WARNINGS = -W -Wall $(GCC_STYLE) $(GCC_INHIBIT)
229
230#
231# Treat compiler warnings as errors, if warnings not allowed
232#
233ifeq ($(COMPILER_WARNINGS_FATAL),true)
234 GCC_WARNINGS += -Werror
235endif
236
237#
238# Misc compiler options
239#
dholmes70a4d1a2011-03-16 18:54:50 -0400240ifneq ($(ARCH),ppc)
duke6e45e102007-12-01 00:00:00 +0000241 CFLAGS_COMMON = -fno-strict-aliasing
dholmes70a4d1a2011-03-16 18:54:50 -0400242endif
duke6e45e102007-12-01 00:00:00 +0000243PIC_CODE_LARGE = -fPIC
244PIC_CODE_SMALL = -fpic
245GLOBAL_KPIC = $(PIC_CODE_LARGE)
ohairab4f1212008-07-27 18:42:57 -0700246CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS)
duke6e45e102007-12-01 00:00:00 +0000247ifeq ($(ARCH), amd64)
ohairab4f1212008-07-27 18:42:57 -0700248 CFLAGS_COMMON += -pipe
duke6e45e102007-12-01 00:00:00 +0000249endif
250
251# Linux 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
252DEBUG_FLAG = -g
253ifeq ($(FASTDEBUG), true)
254 ifeq ($(ARCH_DATA_MODEL), 64)
255 DEBUG_FLAG = -g1
256 endif
257endif
258
aphd46bd762009-04-17 15:56:20 +0100259# DEBUG_BINARIES overrides everything, use full -g debug information
260ifeq ($(DEBUG_BINARIES), true)
261 DEBUG_FLAG = -g
262 CFLAGS_REQUIRED += $(DEBUG_FLAG)
263endif
264
dcubed7fe35f32012-04-11 07:26:35 -0700265# If Full Debug Symbols is enabled, then we want the same debug and
266# optimization flags as used by FASTDEBUG.
267#
268ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
269 ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
270 ifeq ($(VARIANT), OPT)
271 CC_OPT = $(DEBUG_FLAG) $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
272 endif
273 endif
274endif
275
ohair850fb252008-07-30 19:40:57 -0700276CFLAGS_OPT = $(CC_OPT)
duke6e45e102007-12-01 00:00:00 +0000277CFLAGS_DBG = $(DEBUG_FLAG)
278CFLAGS_COMMON += $(CFLAGS_REQUIRED)
279
280CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
ohair850fb252008-07-30 19:40:57 -0700281CXXFLAGS_OPT = $(CC_OPT)
duke6e45e102007-12-01 00:00:00 +0000282CXXFLAGS_DBG = $(DEBUG_FLAG)
283CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
284
285# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java
286ifeq ($(FASTDEBUG), true)
ohairb99e3e32009-03-31 16:10:31 -0700287 CFLAGS_DBG += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
288 CXXFLAGS_DBG += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
duke6e45e102007-12-01 00:00:00 +0000289endif
290
andrew2ed7e052010-06-03 18:49:35 +0100291CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
292
293# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here)
294ifneq ($(ARCH),alpha)
295 CPP_ARCH_FLAGS += -D$(ARCH)
296else
297 CPP_ARCH_FLAGS += -D_$(ARCH)_
298endif
299
300CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \
duke6e45e102007-12-01 00:00:00 +0000301 -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
302
303ifeq ($(ARCH_DATA_MODEL), 64)
304CPPFLAGS_COMMON += -D_LP64=1
305endif
306
ohair5a916662009-07-08 09:11:24 -0700307CPPFLAGS_OPT = -DNDEBUG
duke6e45e102007-12-01 00:00:00 +0000308CPPFLAGS_DBG = -DDEBUG
ohair850fb252008-07-30 19:40:57 -0700309ifneq ($(PRODUCT), java)
310 CPPFLAGS_DBG += -DLOGGING
311endif
duke6e45e102007-12-01 00:00:00 +0000312
313ifdef LIBRARY
314 # Libraries need to locate other libraries at runtime, and you can tell
315 # a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
316 # buried inside the .so. The $ORIGIN says to look relative to where
317 # the library itself is and it can be followed with relative paths from
318 # that. By default we always look in $ORIGIN, optionally we add relative
319 # paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
320 # On Linux we add a flag -z origin, not sure if this is necessary, but
321 # doesn't seem to hurt.
322 # The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
323 # Try: 'readelf -d lib*.so' to see these settings in a library.
324 #
dholmes70a4d1a2011-03-16 18:54:50 -0400325 Z_ORIGIN_FLAG/sparc = -Xlinker -z -Xlinker origin
326 Z_ORIGIN_FLAG/i586 = -Xlinker -z -Xlinker origin
327 Z_ORIGIN_FLAG/amd64 = -Xlinker -z -Xlinker origin
328 Z_ORIGIN_FLAG/ia64 = -Xlinker -z -Xlinker origin
329 Z_ORIGIN_FLAG/arm =
330 Z_ORIGIN_FLAG/ppc =
331 Z_ORIGIN_FLAG/zero = -Xlinker -z -Xlinker origin
332
333 LDFLAG_Z_ORIGIN = $(Z_ORIGIN_FLAG/$(ARCH_FAMILY))
334
335 LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN
336 LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/%)
337
duke6e45e102007-12-01 00:00:00 +0000338endif
339
340EXTRA_LIBS += -lc
341
gbenson24e3a5d2009-10-15 13:27:59 +0100342LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs
duke6e45e102007-12-01 00:00:00 +0000343LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
344
345#
346# -L paths for finding and -ljava
347#
348LDFLAGS_OPT = -Xlinker -O1
349LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
350LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
351
352#
353# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
354# statically link libgcc but will print a warning with the flag. We don't
355# want the warning, so check gcc version first.
356#
ohaire74b8592011-04-21 18:26:04 -0700357ifeq ($(CC_MAJORVER),3)
358 OTHER_LDFLAGS += -static-libgcc
duke6e45e102007-12-01 00:00:00 +0000359endif
360
361# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
362# (See Rules.gmk) The gcc 5 compiler might have an option for this?
363AUTOMATIC_PCH_OPTION =
364
365#
366# Post Processing of libraries/executables
367#
368ifeq ($(VARIANT), OPT)
369 ifneq ($(NO_STRIP), true)
aphd46bd762009-04-17 15:56:20 +0100370 ifneq ($(DEBUG_BINARIES), true)
371 # Debug 'strip -g' leaves local function Elf symbols (better stack
372 # traces)
373 POST_STRIP_PROCESS = $(STRIP) -g
374 endif
duke6e45e102007-12-01 00:00:00 +0000375 endif
376endif
377
378#
379# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o
380#
381LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
382
383#
384# Support for Quantify.
385#
386ifdef QUANTIFY
387QUANTIFY_CMD = quantify
388QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
389LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
390endif
391
392#
393# Path and option to link against the VM, if you have to. Note that
394# there are libraries that link against only -ljava, but they do get
395# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
396# the library itself should not.
397#
398VM_NAME = server
399JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm
400JAVALIB = -ljava $(JVMLIB)
401
402#
403# We want to privatize JVM symbols on Solaris. This is so the user can
404# write a function called FindClass and this should not override the
405# FindClass that is inside the JVM. At this point in time we are not
406# concerned with other JNI libraries because we hope that there will
407# not be as many clashes there.
408#
409PRIVATIZE_JVM_SYMBOLS = false
410
411USE_PTHREADS = true
412override ALT_CODESET_KEY = _NL_CTYPE_CODESET_NAME
413override AWT_RUNPATH =
414override HAVE_ALTZONE = false
415override HAVE_FILIOH = false
416override HAVE_GETHRTIME = false
417override HAVE_GETHRVTIME = false
418override HAVE_SIGIGNORE = true
419override LEX_LIBRARY = -lfl
420ifeq ($(STATIC_CXX),true)
421override LIBCXX = -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic
422else
423override LIBCXX = -lstdc++
424endif
425override LIBPOSIX4 =
426override LIBSOCKET =
martind5089e02010-06-10 15:54:25 -0700427override LIBNSL =
okutsu953b5b22011-10-05 15:13:40 +0900428override LIBSCF =
duke6e45e102007-12-01 00:00:00 +0000429override LIBTHREAD =
michaelm5ac8c152012-03-06 20:34:38 +0000430override LIBDL = -ldl
duke6e45e102007-12-01 00:00:00 +0000431override MOOT_PRIORITIES = true
432override NO_INTERRUPTIBLE_IO = true
duke6e45e102007-12-01 00:00:00 +0000433ifeq ($(ARCH), amd64)
434override OPENWIN_LIB = $(OPENWIN_HOME)/lib64
435else
436override OPENWIN_LIB = $(OPENWIN_HOME)/lib
437endif
438override OTHER_M4FLAGS = -D__GLIBC__ -DGNU_ASSEMBLER
439override SUN_CMM_SUBDIR =
440override THREADS_FLAG = native
441override USE_GNU_M4 = true
442override USING_GNU_TAR = true
443override WRITE_LIBVERSION = false
444
445# USE_EXECNAME forces the launcher to look up argv[0] on $PATH, and put the
446# resulting resolved absolute name of the executable in the environment
447# variable EXECNAME. That executable name is then used that to locate the
448# installation area.
449override USE_EXECNAME = true
450
451# If your platform has DPS, it will have Type1 fonts too, in which case
452# it is best to enable DPS support until such time as 2D's rasteriser
453# can fully handle Type1 fonts in all cases. Default is "yes".
454# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
455# DPS (Displayable PostScript) is available on Solaris machines
456HAVE_DPS = no
457
458#
459# Japanese manpages
460#
461JA_SOURCE_ENCODING = eucJP
ogino55ad4162011-04-26 21:46:20 -0700462JA_TARGET_ENCODINGS = UTF-8
duke6e45e102007-12-01 00:00:00 +0000463
464# Settings for the JDI - Serviceability Agent binding.
465HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
466SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
dcubed46b99222011-09-20 19:16:21 -0700467SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
dcubed768ddaa2012-03-23 09:27:44 -0700468SA_DIZ_NAME = $(LIB_PREFIX)saproc.diz
duke6e45e102007-12-01 00:00:00 +0000469
470# The JDI - Serviceability Agent binding is not currently supported
471# on Linux-ia64.
472ifeq ($(ARCH), ia64)
473 INCLUDE_SA = false
474else
475 INCLUDE_SA = true
476endif
477
dholmes70a4d1a2011-03-16 18:54:50 -0400478ifdef CROSS_COMPILE_ARCH
479 # X11 headers are not under /usr/include
480 OTHER_CFLAGS += -I$(OPENWIN_HOME)/include
481 OTHER_CXXFLAGS += -I$(OPENWIN_HOME)/include
482 OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
483endif