Mercurial > hg > graal-jvmci-8
comparison make/linux/makefiles/vm.make @ 10408:836a62f43af9
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 19 Jun 2013 10:45:56 +0200 |
parents | 147162b27799 f2110083203d |
children | d55f24eac4b1 |
comparison
equal
deleted
inserted
replaced
10086:e0fb8a213650 | 10408:836a62f43af9 |
---|---|
1 # | 1 # |
2 # Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. | 2 # Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. |
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 # | 4 # |
5 # This code is free software; you can redistribute it and/or modify it | 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 | 6 # under the terms of the GNU General Public License version 2 only, as |
7 # published by the Free Software Foundation. | 7 # published by the Free Software Foundation. |
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
18 # | 18 # |
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | 19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
20 # or visit www.oracle.com if you need additional information or have any | 20 # or visit www.oracle.com if you need additional information or have any |
21 # questions. | 21 # questions. |
22 # | 22 # |
23 # | 23 # |
24 | 24 |
25 # Rules to build JVM and related libraries, included from vm.make in the build | 25 # Rules to build JVM and related libraries, included from vm.make in the build |
26 # directory. | 26 # directory. |
27 | 27 |
50 | 50 |
51 # set VPATH so make knows where to look for source files | 51 # set VPATH so make knows where to look for source files |
52 # Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm | 52 # Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm |
53 # The adfiles directory contains ad_<arch>.[ch]pp. | 53 # The adfiles directory contains ad_<arch>.[ch]pp. |
54 # The jvmtifiles directory contains jvmti*.[ch]pp | 54 # The jvmtifiles directory contains jvmti*.[ch]pp |
55 Src_Dirs_V += $(GENERATED)/adfiles $(GENERATED)/jvmtifiles | 55 Src_Dirs_V += $(GENERATED)/adfiles $(GENERATED)/jvmtifiles $(GENERATED)/tracefiles |
56 VPATH += $(Src_Dirs_V:%=%:) | 56 VPATH += $(Src_Dirs_V:%=%:) |
57 | 57 |
58 # set INCLUDES for C preprocessor. | 58 # set INCLUDES for C preprocessor. |
59 Src_Dirs_I += $(GENERATED) | 59 Src_Dirs_I += $(GENERATED) |
60 # The order is important for the precompiled headers to work. | 60 # The order is important for the precompiled headers to work. |
70 else | 70 else |
71 SYMFLAG = | 71 SYMFLAG = |
72 endif | 72 endif |
73 endif | 73 endif |
74 | 74 |
75 # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined | 75 # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined |
76 # in $(GAMMADIR)/make/defs.make | 76 # in $(GAMMADIR)/make/defs.make |
77 ifeq ($(HOTSPOT_BUILD_VERSION),) | 77 ifeq ($(HOTSPOT_BUILD_VERSION),) |
78 BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)\"" | 78 BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)\"" |
79 else | 79 else |
80 BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)\"" | 80 BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)\"" |
97 ${HS_LIB_ARCH} \ | 97 ${HS_LIB_ARCH} \ |
98 ${VM_DISTRO} | 98 ${VM_DISTRO} |
99 | 99 |
100 # This is VERY important! The version define must only be supplied to vm_version.o | 100 # This is VERY important! The version define must only be supplied to vm_version.o |
101 # If not, ccache will not re-use the cache at all, since the version string might contain | 101 # If not, ccache will not re-use the cache at all, since the version string might contain |
102 # a time and date. | 102 # a time and date. |
103 CXXFLAGS/vm_version.o += ${JRE_VERSION} | 103 CXXFLAGS/vm_version.o += ${JRE_VERSION} |
104 | 104 |
105 CXXFLAGS/BYFILE = $(CXXFLAGS/$@) | 105 CXXFLAGS/BYFILE = $(CXXFLAGS/$@) |
106 | 106 |
107 # File specific flags | 107 # File specific flags |
108 CXXFLAGS += $(CXXFLAGS/BYFILE) | 108 CXXFLAGS += $(CXXFLAGS/BYFILE) |
109 | 109 |
110 | |
111 ifndef JAVASE_EMBEDDED | |
112 ifneq (${ARCH},arm) | |
113 CFLAGS += -DINCLUDE_TRACE | |
114 endif | |
115 endif | |
116 | 110 |
117 # CFLAGS_WARN holds compiler options to suppress/enable warnings. | 111 # CFLAGS_WARN holds compiler options to suppress/enable warnings. |
118 CFLAGS += $(CFLAGS_WARN/BYFILE) | 112 CFLAGS += $(CFLAGS_WARN/BYFILE) |
119 | 113 |
120 # Do not use C++ exception handling | 114 # Do not use C++ exception handling |
157 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm | 151 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm |
158 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm | 152 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm |
159 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm | 153 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm |
160 SOURCE_PATHS+=$(HS_COMMON_SRC)/gpu/ptx | 154 SOURCE_PATHS+=$(HS_COMMON_SRC)/gpu/ptx |
161 | 155 |
162 ifndef JAVASE_EMBEDDED | 156 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path)) |
163 ifneq (${ARCH},arm) | 157 CORE_PATHS+=$(GENERATED)/jvmtifiles $(GENERATED)/tracefiles |
164 SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \ | 158 |
159 ifneq ($(INCLUDE_TRACE), false) | |
160 CORE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \ | |
165 find $(HS_ALT_SRC)/share/vm/jfr -type d; \ | 161 find $(HS_ALT_SRC)/share/vm/jfr -type d; \ |
166 fi) | 162 fi) |
167 endif | 163 endif |
168 endif | |
169 | |
170 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path)) | |
171 CORE_PATHS+=$(GENERATED)/jvmtifiles | |
172 | 164 |
173 COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1) | 165 COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1) |
174 COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1 | 166 COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1 |
175 | 167 |
176 COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto) | 168 COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto) |
194 Src_Dirs/ZERO := $(CORE_PATHS) | 186 Src_Dirs/ZERO := $(CORE_PATHS) |
195 Src_Dirs/SHARK := $(CORE_PATHS) $(SHARK_PATHS) | 187 Src_Dirs/SHARK := $(CORE_PATHS) $(SHARK_PATHS) |
196 Src_Dirs/GRAAL := $(CORE_PATHS) $(GRAAL_PATHS) | 188 Src_Dirs/GRAAL := $(CORE_PATHS) $(GRAAL_PATHS) |
197 Src_Dirs := $(Src_Dirs/$(TYPE)) | 189 Src_Dirs := $(Src_Dirs/$(TYPE)) |
198 | 190 |
199 COMPILER2_SPECIFIC_FILES := opto libadt bcEscapeAnalyzer.cpp chaitin\* c2_\* runtime_\* | 191 COMPILER2_SPECIFIC_FILES := opto libadt bcEscapeAnalyzer.cpp c2_\* runtime_\* |
200 COMPILER1_SPECIFIC_FILES := c1_\* | 192 COMPILER1_SPECIFIC_FILES := c1_\* |
201 SHARK_SPECIFIC_FILES := shark | 193 SHARK_SPECIFIC_FILES := shark |
202 ZERO_SPECIFIC_FILES := zero | 194 ZERO_SPECIFIC_FILES := zero |
203 | 195 |
204 ifneq ($(INCLUDE_GRAAL), true) | 196 ifneq ($(INCLUDE_GRAAL), true) |
328 endif | 320 endif |
329 | 321 |
330 # With more recent Redhat releases (or the cutting edge version Fedora), if | 322 # With more recent Redhat releases (or the cutting edge version Fedora), if |
331 # SELinux is configured to be enabled, the runtime linker will fail to apply | 323 # SELinux is configured to be enabled, the runtime linker will fail to apply |
332 # the text relocation to libjvm.so considering that it is built as a non-PIC | 324 # the text relocation to libjvm.so considering that it is built as a non-PIC |
333 # DSO. To workaround that, we run chcon to libjvm.so after it is built. See | 325 # DSO. To workaround that, we run chcon to libjvm.so after it is built. See |
334 # details in bug 6538311. | 326 # details in bug 6538311. |
335 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT) | 327 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT) |
336 $(QUIETLY) { \ | 328 $(QUIETLY) { \ |
337 echo Linking vm...; \ | 329 echo Linking vm...; \ |
338 $(LINK_LIB.CXX/PRE_HOOK) \ | 330 $(LINK_LIB.CXX/PRE_HOOK) \ |
384 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" | 376 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" |
385 | 377 |
386 #---------------------------------------------------------------------- | 378 #---------------------------------------------------------------------- |
387 # Other files | 379 # Other files |
388 | 380 |
389 # Gamma launcher | |
390 include $(MAKEFILES_DIR)/launcher.make | |
391 | |
392 # Signal interposition library | 381 # Signal interposition library |
393 include $(MAKEFILES_DIR)/jsig.make | 382 include $(MAKEFILES_DIR)/jsig.make |
394 | 383 |
395 # Serviceability agent | 384 # Serviceability agent |
396 include $(MAKEFILES_DIR)/saproc.make | 385 include $(MAKEFILES_DIR)/saproc.make |