Mercurial > hg > truffle
annotate make/linux/makefiles/defs.make @ 6004:0f701f572aed
Merge
author | coleenp |
---|---|
date | Fri, 13 Apr 2012 08:11:36 -0700 |
parents | 3d7ea1dbe0de |
children | 74c359c4a9e5 |
rev | line source |
---|---|
0 | 1 # |
5915 | 2 # Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
0 | 3 # 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 | |
7 # published by the Free Software Foundation. | |
8 # | |
9 # This code is distributed in the hope that it will be useful, but WITHOUT | |
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 # version 2 for more details (a copy is included in the LICENSE file that | |
13 # accompanied this code). | |
14 # | |
15 # You should have received a copy of the GNU General Public License version | |
16 # 2 along with this work; if not, write to the Free Software Foundation, | |
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
18 # | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1015
diff
changeset
|
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1015
diff
changeset
|
20 # or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1015
diff
changeset
|
21 # questions. |
0 | 22 # |
23 # | |
24 | |
25 # The common definitions for hotspot linux builds. | |
26 # Include the top level defs.make under make directory instead of this one. | |
27 # This file is included into make/defs.make. | |
28 | |
29 SLASH_JAVA ?= /java | |
30 | |
31 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name | |
32 ARCH:=$(shell uname -m) | |
33 PATH_SEP = : | |
34 ifeq ($(LP64), 1) | |
35 ARCH_DATA_MODEL ?= 64 | |
36 else | |
37 ARCH_DATA_MODEL ?= 32 | |
38 endif | |
39 | |
1010 | 40 # zero |
5946
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
41 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true) |
1010 | 42 ifeq ($(ARCH_DATA_MODEL), 64) |
43 MAKE_ARGS += LP64=1 | |
44 endif | |
45 PLATFORM = linux-zero | |
46 VM_PLATFORM = linux_$(subst i386,i486,$(ZERO_LIBARCH)) | |
47 HS_ARCH = zero | |
48 ARCH = zero | |
49 endif | |
50 | |
0 | 51 # ia64 |
52 ifeq ($(ARCH), ia64) | |
53 ARCH_DATA_MODEL = 64 | |
54 MAKE_ARGS += LP64=1 | |
55 PLATFORM = linux-ia64 | |
56 VM_PLATFORM = linux_ia64 | |
57 HS_ARCH = ia64 | |
58 endif | |
59 | |
60 # sparc | |
61 ifeq ($(ARCH), sparc64) | |
62 ifeq ($(ARCH_DATA_MODEL), 64) | |
63 ARCH_DATA_MODEL = 64 | |
64 MAKE_ARGS += LP64=1 | |
65 PLATFORM = linux-sparcv9 | |
66 VM_PLATFORM = linux_sparcv9 | |
67 else | |
68 ARCH_DATA_MODEL = 32 | |
69 PLATFORM = linux-sparc | |
70 VM_PLATFORM = linux_sparc | |
71 endif | |
72 HS_ARCH = sparc | |
73 endif | |
74 | |
75 # x86_64 | |
76 ifeq ($(ARCH), x86_64) | |
77 ifeq ($(ARCH_DATA_MODEL), 64) | |
78 ARCH_DATA_MODEL = 64 | |
79 MAKE_ARGS += LP64=1 | |
80 PLATFORM = linux-amd64 | |
81 VM_PLATFORM = linux_amd64 | |
82 HS_ARCH = x86 | |
83 else | |
84 ARCH_DATA_MODEL = 32 | |
85 PLATFORM = linux-i586 | |
86 VM_PLATFORM = linux_i486 | |
87 HS_ARCH = x86 | |
88 # We have to reset ARCH to i686 since SRCARCH relies on it | |
89 ARCH = i686 | |
90 endif | |
91 endif | |
92 | |
93 # i686 | |
94 ifeq ($(ARCH), i686) | |
95 ARCH_DATA_MODEL = 32 | |
96 PLATFORM = linux-i586 | |
97 VM_PLATFORM = linux_i486 | |
98 HS_ARCH = x86 | |
99 endif | |
100 | |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
101 # ARM |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
102 ifeq ($(ARCH), arm) |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
103 ARCH_DATA_MODEL = 32 |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
104 PLATFORM = linux-arm |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
105 VM_PLATFORM = linux_arm |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
106 HS_ARCH = arm |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
107 endif |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
108 |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
109 # PPC |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
110 ifeq ($(ARCH), ppc) |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
111 ARCH_DATA_MODEL = 32 |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
112 PLATFORM = linux-ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
113 VM_PLATFORM = linux_ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
114 HS_ARCH = ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
115 endif |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
116 |
5946
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
117 # On 32 bit linux we build server and client, on 64 bit just server. |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
118 ifeq ($(JVM_VARIANTS),) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
119 ifeq ($(ARCH_DATA_MODEL), 32) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
120 JVM_VARIANTS:=client,server |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
121 JVM_VARIANT_CLIENT:=true |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
122 JVM_VARIANT_SERVER:=true |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
123 else |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
124 JVM_VARIANTS:=server |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
125 JVM_VARIANT_SERVER:=true |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
126 endif |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
127 endif |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
128 |
3954 | 129 # determine if HotSpot is being built in JDK6 or earlier version |
130 JDK6_OR_EARLIER=0 | |
131 ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1" | |
132 # if the longer variable names (newer build style) are set, then check those | |
133 ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1" | |
134 JDK6_OR_EARLIER=1 | |
135 endif | |
136 else | |
137 # the longer variables aren't set so check the shorter variable names | |
138 ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1" | |
139 JDK6_OR_EARLIER=1 | |
140 endif | |
141 endif | |
142 | |
143 ifeq ($(JDK6_OR_EARLIER),0) | |
144 # Full Debug Symbols is supported on JDK7 or newer | |
145 | |
146 # Default OBJCOPY comes from GNU Binutils on Linux: | |
147 DEF_OBJCOPY=/usr/bin/objcopy | |
148 ifdef CROSS_COMPILE_ARCH | |
149 # don't try to generate .debuginfo files when cross compiling | |
150 _JUNK_ := $(shell \ | |
151 echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \ | |
152 "skipping .debuginfo generation.") | |
153 OBJCOPY= | |
154 else | |
155 OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) | |
156 ifneq ($(ALT_OBJCOPY),) | |
157 _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") | |
158 # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path | |
159 OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) | |
160 endif | |
161 endif | |
162 | |
163 ifeq ($(OBJCOPY),) | |
164 _JUNK_ := $(shell \ | |
165 echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") | |
166 else | |
167 _JUNK_ := $(shell \ | |
168 echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.") | |
169 | |
170 # Library stripping policies for .debuginfo configs: | |
171 # all_strip - strips everything from the library | |
172 # min_strip - strips most stuff from the library; leaves minimum symbols | |
173 # no_strip - does not strip the library at all | |
174 # | |
175 # Oracle security policy requires "all_strip". A waiver was granted on | |
176 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE. | |
177 # | |
178 DEF_STRIP_POLICY="min_strip" | |
179 ifeq ($(ALT_STRIP_POLICY),) | |
180 STRIP_POLICY=$(DEF_STRIP_POLICY) | |
181 else | |
182 STRIP_POLICY=$(ALT_STRIP_POLICY) | |
183 endif | |
184 | |
185 _JUNK_ := $(shell \ | |
186 echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)") | |
187 endif | |
188 endif | |
189 | |
0 | 190 JDK_INCLUDE_SUBDIR=linux |
191 | |
3960 | 192 # Library suffix |
193 LIBRARY_SUFFIX=so | |
194 | |
0 | 195 # FIXUP: The subdirectory for a debug build is NOT the same on all platforms |
196 VM_DEBUG=jvmg | |
197 | |
198 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html | |
1015
23862fc517bb
6722084: JPRT make file doesn't create required symbolic link to libjvm.so
kvn
parents:
1010
diff
changeset
|
199 |
23862fc517bb
6722084: JPRT make file doesn't create required symbolic link to libjvm.so
kvn
parents:
1010
diff
changeset
|
200 # client and server subdirectories have symbolic links to ../libjsig.so |
3960 | 201 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX) |
3954 | 202 ifneq ($(OBJCOPY),) |
203 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo | |
204 endif | |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
205 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server |
3846 | 206 EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client |
1015
23862fc517bb
6722084: JPRT make file doesn't create required symbolic link to libjvm.so
kvn
parents:
1010
diff
changeset
|
207 |
5915 | 208 EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar |
209 | |
5946
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
210 ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
211 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
212 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX) |
3954 | 213 ifneq ($(OBJCOPY),) |
214 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo | |
215 endif | |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
216 endif |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
217 |
5946
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
218 ifeq ($(JVM_VARIANT_CLIENT),true) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
219 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
220 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
221 ifneq ($(OBJCOPY),) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
222 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5915
diff
changeset
|
223 endif |
0 | 224 endif |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
225 |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
226 # Serviceability Binaries |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
227 # No SA Support for PPC, IA64, ARM or zero |
3960 | 228 ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
229 $(EXPORT_LIB_DIR)/sa-jdi.jar |
3960 | 230 ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
231 $(EXPORT_LIB_DIR)/sa-jdi.jar |
3954 | 232 ifneq ($(OBJCOPY),) |
233 ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo | |
234 ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo | |
235 endif | |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
236 ADD_SA_BINARIES/ppc = |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
237 ADD_SA_BINARIES/ia64 = |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
238 ADD_SA_BINARIES/arm = |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
239 ADD_SA_BINARIES/zero = |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
240 |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
241 EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH)) |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
242 |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
243 |