blob: a0bfc3cc8d3ffabe88bea430df78dbeb479893a8 [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
dcubedf8ed32e2012-04-17 09:02:57 -0700160 ZIP_DEBUGINFO_FILES ?= 1
dcubed768ddaa2012-03-23 09:27:44 -0700161
162 _JUNK_ := $(shell \
163 echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
164 endif
dcubed46b99222011-09-20 19:16:21 -0700165endif
166
duke6e45e102007-12-01 00:00:00 +0000167#
duke6e45e102007-12-01 00:00:00 +0000168# Default optimization
169#
duke6e45e102007-12-01 00:00:00 +0000170
ohair850fb252008-07-30 19:40:57 -0700171ifndef OPTIMIZATION_LEVEL
172 ifeq ($(PRODUCT), java)
173 OPTIMIZATION_LEVEL = HIGHER
174 else
175 OPTIMIZATION_LEVEL = LOWER
176 endif
duke6e45e102007-12-01 00:00:00 +0000177endif
ohairb99e3e32009-03-31 16:10:31 -0700178ifndef FASTDEBUG_OPTIMIZATION_LEVEL
179 FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
180endif
duke6e45e102007-12-01 00:00:00 +0000181
ohair850fb252008-07-30 19:40:57 -0700182CC_OPT/NONE =
183CC_OPT/LOWER = -O2
184CC_OPT/HIGHER = -O3
185CC_OPT/HIGHEST = -O3
186
187CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
188
duke6e45e102007-12-01 00:00:00 +0000189# For all platforms, do not omit the frame pointer register usage.
190# We need this frame pointer to make it easy to walk the stacks.
191# This should be the default on X86, but ia64 and amd64 may not have this
192# as the default.
193CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
194CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
195CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
196CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
197LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9
198CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9
199LDFLAGS_COMMON_sparc += -m32 -mcpu=v9
dholmes70a4d1a2011-03-16 18:54:50 -0400200CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN
201CFLAGS_REQUIRED_ppc += -fsigned-char -D_BIG_ENDIAN
gbenson24e3a5d2009-10-15 13:27:59 +0100202ifeq ($(ZERO_BUILD), true)
203 CFLAGS_REQUIRED = $(ZERO_ARCHFLAG)
204 ifeq ($(ZERO_ENDIANNESS), little)
205 CFLAGS_REQUIRED += -D_LITTLE_ENDIAN
206 endif
207 LDFLAGS_COMMON += $(ZERO_ARCHFLAG)
208else
209 CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
210 LDFLAGS_COMMON += $(LDFLAGS_COMMON_$(ARCH))
211endif
duke6e45e102007-12-01 00:00:00 +0000212
ohair8df39292009-01-31 17:31:21 -0800213# If this is a --hash-style=gnu system, use --hash-style=both
214# The gnu .hash section won't work on some Linux systems like SuSE 10.
215_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | $(GREP) -- '--hash-style=gnu')
216ifneq ($(_HAS_HASH_STYLE_GNU),)
217 LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
218endif
219LDFLAGS_COMMON += $(LDFLAGS_HASH_STYLE)
220
duke6e45e102007-12-01 00:00:00 +0000221#
222# Selection of warning messages
223#
224GCC_INHIBIT = -Wno-unused -Wno-parentheses
225GCC_STYLE =
226GCC_WARNINGS = -W -Wall $(GCC_STYLE) $(GCC_INHIBIT)
227
228#
229# Treat compiler warnings as errors, if warnings not allowed
230#
231ifeq ($(COMPILER_WARNINGS_FATAL),true)
232 GCC_WARNINGS += -Werror
233endif
234
235#
236# Misc compiler options
237#
dholmes70a4d1a2011-03-16 18:54:50 -0400238ifneq ($(ARCH),ppc)
duke6e45e102007-12-01 00:00:00 +0000239 CFLAGS_COMMON = -fno-strict-aliasing
dholmes70a4d1a2011-03-16 18:54:50 -0400240endif
duke6e45e102007-12-01 00:00:00 +0000241PIC_CODE_LARGE = -fPIC
242PIC_CODE_SMALL = -fpic
243GLOBAL_KPIC = $(PIC_CODE_LARGE)
ohairab4f1212008-07-27 18:42:57 -0700244CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS)
duke6e45e102007-12-01 00:00:00 +0000245ifeq ($(ARCH), amd64)
ohairab4f1212008-07-27 18:42:57 -0700246 CFLAGS_COMMON += -pipe
duke6e45e102007-12-01 00:00:00 +0000247endif
248
249# Linux 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
250DEBUG_FLAG = -g
251ifeq ($(FASTDEBUG), true)
252 ifeq ($(ARCH_DATA_MODEL), 64)
253 DEBUG_FLAG = -g1
254 endif
255endif
256
aphd46bd762009-04-17 15:56:20 +0100257# DEBUG_BINARIES overrides everything, use full -g debug information
258ifeq ($(DEBUG_BINARIES), true)
259 DEBUG_FLAG = -g
260 CFLAGS_REQUIRED += $(DEBUG_FLAG)
261endif
262
dcubed7fe35f32012-04-11 07:26:35 -0700263# If Full Debug Symbols is enabled, then we want the same debug and
264# optimization flags as used by FASTDEBUG.
265#
266ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
267 ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
268 ifeq ($(VARIANT), OPT)
269 CC_OPT = $(DEBUG_FLAG) $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
270 endif
271 endif
272endif
273
ohair850fb252008-07-30 19:40:57 -0700274CFLAGS_OPT = $(CC_OPT)
duke6e45e102007-12-01 00:00:00 +0000275CFLAGS_DBG = $(DEBUG_FLAG)
276CFLAGS_COMMON += $(CFLAGS_REQUIRED)
277
278CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
ohair850fb252008-07-30 19:40:57 -0700279CXXFLAGS_OPT = $(CC_OPT)
duke6e45e102007-12-01 00:00:00 +0000280CXXFLAGS_DBG = $(DEBUG_FLAG)
281CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
282
283# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java
284ifeq ($(FASTDEBUG), true)
ohairb99e3e32009-03-31 16:10:31 -0700285 CFLAGS_DBG += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
286 CXXFLAGS_DBG += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
duke6e45e102007-12-01 00:00:00 +0000287endif
288
andrew2ed7e052010-06-03 18:49:35 +0100289CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
290
291# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here)
292ifneq ($(ARCH),alpha)
293 CPP_ARCH_FLAGS += -D$(ARCH)
294else
295 CPP_ARCH_FLAGS += -D_$(ARCH)_
296endif
297
298CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \
duke6e45e102007-12-01 00:00:00 +0000299 -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
300
301ifeq ($(ARCH_DATA_MODEL), 64)
302CPPFLAGS_COMMON += -D_LP64=1
303endif
304
ohair5a916662009-07-08 09:11:24 -0700305CPPFLAGS_OPT = -DNDEBUG
duke6e45e102007-12-01 00:00:00 +0000306CPPFLAGS_DBG = -DDEBUG
ohair850fb252008-07-30 19:40:57 -0700307ifneq ($(PRODUCT), java)
308 CPPFLAGS_DBG += -DLOGGING
309endif
duke6e45e102007-12-01 00:00:00 +0000310
311ifdef LIBRARY
312 # Libraries need to locate other libraries at runtime, and you can tell
313 # a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
314 # buried inside the .so. The $ORIGIN says to look relative to where
315 # the library itself is and it can be followed with relative paths from
316 # that. By default we always look in $ORIGIN, optionally we add relative
317 # paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
318 # On Linux we add a flag -z origin, not sure if this is necessary, but
319 # doesn't seem to hurt.
320 # The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
321 # Try: 'readelf -d lib*.so' to see these settings in a library.
322 #
dholmes70a4d1a2011-03-16 18:54:50 -0400323 Z_ORIGIN_FLAG/sparc = -Xlinker -z -Xlinker origin
324 Z_ORIGIN_FLAG/i586 = -Xlinker -z -Xlinker origin
325 Z_ORIGIN_FLAG/amd64 = -Xlinker -z -Xlinker origin
326 Z_ORIGIN_FLAG/ia64 = -Xlinker -z -Xlinker origin
327 Z_ORIGIN_FLAG/arm =
328 Z_ORIGIN_FLAG/ppc =
329 Z_ORIGIN_FLAG/zero = -Xlinker -z -Xlinker origin
330
331 LDFLAG_Z_ORIGIN = $(Z_ORIGIN_FLAG/$(ARCH_FAMILY))
332
333 LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN
334 LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/%)
335
duke6e45e102007-12-01 00:00:00 +0000336endif
337
338EXTRA_LIBS += -lc
339
gbenson24e3a5d2009-10-15 13:27:59 +0100340LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs
duke6e45e102007-12-01 00:00:00 +0000341LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
342
343#
344# -L paths for finding and -ljava
345#
346LDFLAGS_OPT = -Xlinker -O1
347LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
348LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
349
350#
351# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
352# statically link libgcc but will print a warning with the flag. We don't
353# want the warning, so check gcc version first.
354#
ohaire74b8592011-04-21 18:26:04 -0700355ifeq ($(CC_MAJORVER),3)
356 OTHER_LDFLAGS += -static-libgcc
duke6e45e102007-12-01 00:00:00 +0000357endif
358
359# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
360# (See Rules.gmk) The gcc 5 compiler might have an option for this?
361AUTOMATIC_PCH_OPTION =
362
363#
364# Post Processing of libraries/executables
365#
366ifeq ($(VARIANT), OPT)
367 ifneq ($(NO_STRIP), true)
aphd46bd762009-04-17 15:56:20 +0100368 ifneq ($(DEBUG_BINARIES), true)
369 # Debug 'strip -g' leaves local function Elf symbols (better stack
370 # traces)
371 POST_STRIP_PROCESS = $(STRIP) -g
372 endif
duke6e45e102007-12-01 00:00:00 +0000373 endif
374endif
375
376#
377# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o
378#
379LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
380
381#
382# Support for Quantify.
383#
384ifdef QUANTIFY
385QUANTIFY_CMD = quantify
386QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
387LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
388endif
389
390#
391# Path and option to link against the VM, if you have to. Note that
392# there are libraries that link against only -ljava, but they do get
393# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
394# the library itself should not.
395#
396VM_NAME = server
397JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm
398JAVALIB = -ljava $(JVMLIB)
399
400#
401# We want to privatize JVM symbols on Solaris. This is so the user can
402# write a function called FindClass and this should not override the
403# FindClass that is inside the JVM. At this point in time we are not
404# concerned with other JNI libraries because we hope that there will
405# not be as many clashes there.
406#
407PRIVATIZE_JVM_SYMBOLS = false
408
409USE_PTHREADS = true
410override ALT_CODESET_KEY = _NL_CTYPE_CODESET_NAME
411override AWT_RUNPATH =
412override HAVE_ALTZONE = false
413override HAVE_FILIOH = false
414override HAVE_GETHRTIME = false
415override HAVE_GETHRVTIME = false
416override HAVE_SIGIGNORE = true
417override LEX_LIBRARY = -lfl
418ifeq ($(STATIC_CXX),true)
419override LIBCXX = -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic
420else
421override LIBCXX = -lstdc++
422endif
423override LIBPOSIX4 =
424override LIBSOCKET =
martind5089e02010-06-10 15:54:25 -0700425override LIBNSL =
okutsu953b5b22011-10-05 15:13:40 +0900426override LIBSCF =
duke6e45e102007-12-01 00:00:00 +0000427override LIBTHREAD =
michaelm5ac8c152012-03-06 20:34:38 +0000428override LIBDL = -ldl
duke6e45e102007-12-01 00:00:00 +0000429override MOOT_PRIORITIES = true
430override NO_INTERRUPTIBLE_IO = true
duke6e45e102007-12-01 00:00:00 +0000431ifeq ($(ARCH), amd64)
432override OPENWIN_LIB = $(OPENWIN_HOME)/lib64
433else
434override OPENWIN_LIB = $(OPENWIN_HOME)/lib
435endif
436override OTHER_M4FLAGS = -D__GLIBC__ -DGNU_ASSEMBLER
437override SUN_CMM_SUBDIR =
438override THREADS_FLAG = native
439override USE_GNU_M4 = true
440override USING_GNU_TAR = true
441override WRITE_LIBVERSION = false
442
443# USE_EXECNAME forces the launcher to look up argv[0] on $PATH, and put the
444# resulting resolved absolute name of the executable in the environment
445# variable EXECNAME. That executable name is then used that to locate the
446# installation area.
447override USE_EXECNAME = true
448
449# If your platform has DPS, it will have Type1 fonts too, in which case
450# it is best to enable DPS support until such time as 2D's rasteriser
451# can fully handle Type1 fonts in all cases. Default is "yes".
452# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
453# DPS (Displayable PostScript) is available on Solaris machines
454HAVE_DPS = no
455
456#
457# Japanese manpages
458#
459JA_SOURCE_ENCODING = eucJP
ogino55ad4162011-04-26 21:46:20 -0700460JA_TARGET_ENCODINGS = UTF-8
duke6e45e102007-12-01 00:00:00 +0000461
462# Settings for the JDI - Serviceability Agent binding.
463HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
464SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
dcubed46b99222011-09-20 19:16:21 -0700465SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
dcubed768ddaa2012-03-23 09:27:44 -0700466SA_DIZ_NAME = $(LIB_PREFIX)saproc.diz
duke6e45e102007-12-01 00:00:00 +0000467
468# The JDI - Serviceability Agent binding is not currently supported
469# on Linux-ia64.
470ifeq ($(ARCH), ia64)
471 INCLUDE_SA = false
472else
473 INCLUDE_SA = true
474endif
475
dholmes70a4d1a2011-03-16 18:54:50 -0400476ifdef CROSS_COMPILE_ARCH
477 # X11 headers are not under /usr/include
478 OTHER_CFLAGS += -I$(OPENWIN_HOME)/include
479 OTHER_CXXFLAGS += -I$(OPENWIN_HOME)/include
480 OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
481endif