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