< prev index next >

hotspot/make/lib/CompileJvm.gmk

Print this page




 126     $(VERSION_CFLAGS) \
 127     -DHOTSPOT_VERSION_STRING='"$(VERSION_STRING)"' \
 128     -DDEBUG_LEVEL='"$(DEBUG_LEVEL)"' \
 129     -DHOTSPOT_BUILD_USER='"$(USERNAME)"' \
 130     -DHOTSPOT_VM_DISTRO='"$(HOTSPOT_VM_DISTRO)"' \
 131     -DCPU='"$(OPENJDK_TARGET_CPU_VM_VERSION)"' \
 132     #
 133 
 134 # -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
 135 ifeq ($(USE_PRECOMPILED_HEADER), 0)
 136   JVM_CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
 137 endif
 138 
 139 ################################################################################
 140 # Platform specific setup
 141 
 142 ifneq ($(filter $(OPENJDK_TARGET_OS), linux macosx windows), )
 143   JVM_PRECOMPILED_HEADER := $(HOTSPOT_TOPDIR)/src/share/vm/precompiled/precompiled.hpp
 144 endif
 145 
 146 ifneq ($(filter $(OPENJDK_TARGET_OS), macosx aix solaris), )
 147   # On macosx, aix and solaris we have to link with the C++ compiler
 148   JVM_TOOLCHAIN := TOOLCHAIN_LINK_CXX
 149 else
 150   JVM_TOOLCHAIN := TOOLCHAIN_DEFAULT
 151 endif
 152 
 153 ifeq ($(OPENJDK_TARGET_CPU), x86)
 154   JVM_EXCLUDE_PATTERNS += x86_64
 155 else ifeq ($(OPENJDK_TARGET_CPU), x86_64)
 156   JVM_EXCLUDE_PATTERNS += x86_32
 157 endif
 158 
 159 # Inline assembly for solaris
 160 ifeq ($(OPENJDK_TARGET_OS), solaris)
 161   ifeq ($(OPENJDK_TARGET_CPU), x86_64)
 162     JVM_CFLAGS += $(HOTSPOT_TOPDIR)/src/os_cpu/solaris_x86/vm/solaris_x86_64.il
 163   else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
 164     JVM_CFLAGS += $(HOTSPOT_TOPDIR)/src/os_cpu/solaris_sparc/vm/solaris_sparc.il
 165   endif
 166 endif
 167 
 168 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
 169   ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), false)
 170     # NOTE: In the old build, we weirdly enough set -g/-g0 always, regardless
 171     # of if debug symbols were needed. Without it, compilation fails on
 172     # sparc! :-(


 177 ifeq ($(OPENJDK_TARGET_OS), windows)
 178   ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
 179     RC_DESC := 64-Bit$(SPACE)
 180   endif
 181   JVM_RCFLAGS += -D"HS_FILEDESC=$(HOTSPOT_VM_DISTRO) $(RC_DESC)$(JVM_VARIANT) VM"
 182 endif
 183 
 184 ifeq ($(OPENJDK_TARGET_OS), macosx)
 185   # NOTE: The old build did not strip binaries on macosx.
 186   JVM_STRIP_SYMBOLS := false
 187 else
 188   JVM_STRIP_SYMBOLS := true
 189 endif
 190 
 191 JVM_OPTIMIZATION ?= HIGHEST_JVM
 192 
 193 ################################################################################
 194 # Now set up the actual compilation of the main hotspot native library
 195 
 196 $(eval $(call SetupNativeCompilation, BUILD_LIBJVM, \
 197     TOOLCHAIN := $(JVM_TOOLCHAIN), \
 198     LIBRARY := jvm, \
 199     OUTPUT_DIR := $(JVM_OUTPUTDIR), \
 200     SRC := $(JVM_SRC_DIRS), \
 201     EXCLUDES := $(JVM_EXCLUDES), \
 202     EXCLUDE_FILES := $(JVM_EXCLUDE_FILES), \
 203     EXCLUDE_PATTERNS := $(JVM_EXCLUDE_PATTERNS), \
 204     EXTRA_OBJECT_FILES := $(DTRACE_EXTRA_OBJECT_FILES), \
 205     CFLAGS := $(JVM_CFLAGS), \
 206     CFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
 207     CXXFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
 208     vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
 209     DISABLED_WARNINGS_clang := delete-non-virtual-dtor dynamic-class-memaccess \
 210         empty-body format logical-op-parentheses parentheses \
 211         parentheses-equality switch tautological-compare, \
 212     DISABLED_WARNINGS_xlc := 1540-0216 1540-0198 1540-1090 1540-1639 \
 213         1540-1088 1500-010, \
 214     ASFLAGS := $(JVM_ASFLAGS), \
 215     LDFLAGS := $(JVM_LDFLAGS), \
 216     LIBS := $(JVM_LIBS), \
 217     OPTIMIZATION := $(JVM_OPTIMIZATION), \




 126     $(VERSION_CFLAGS) \
 127     -DHOTSPOT_VERSION_STRING='"$(VERSION_STRING)"' \
 128     -DDEBUG_LEVEL='"$(DEBUG_LEVEL)"' \
 129     -DHOTSPOT_BUILD_USER='"$(USERNAME)"' \
 130     -DHOTSPOT_VM_DISTRO='"$(HOTSPOT_VM_DISTRO)"' \
 131     -DCPU='"$(OPENJDK_TARGET_CPU_VM_VERSION)"' \
 132     #
 133 
 134 # -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
 135 ifeq ($(USE_PRECOMPILED_HEADER), 0)
 136   JVM_CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
 137 endif
 138 
 139 ################################################################################
 140 # Platform specific setup
 141 
 142 ifneq ($(filter $(OPENJDK_TARGET_OS), linux macosx windows), )
 143   JVM_PRECOMPILED_HEADER := $(HOTSPOT_TOPDIR)/src/share/vm/precompiled/precompiled.hpp
 144 endif
 145 







 146 ifeq ($(OPENJDK_TARGET_CPU), x86)
 147   JVM_EXCLUDE_PATTERNS += x86_64
 148 else ifeq ($(OPENJDK_TARGET_CPU), x86_64)
 149   JVM_EXCLUDE_PATTERNS += x86_32
 150 endif
 151 
 152 # Inline assembly for solaris
 153 ifeq ($(OPENJDK_TARGET_OS), solaris)
 154   ifeq ($(OPENJDK_TARGET_CPU), x86_64)
 155     JVM_CFLAGS += $(HOTSPOT_TOPDIR)/src/os_cpu/solaris_x86/vm/solaris_x86_64.il
 156   else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
 157     JVM_CFLAGS += $(HOTSPOT_TOPDIR)/src/os_cpu/solaris_sparc/vm/solaris_sparc.il
 158   endif
 159 endif
 160 
 161 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
 162   ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), false)
 163     # NOTE: In the old build, we weirdly enough set -g/-g0 always, regardless
 164     # of if debug symbols were needed. Without it, compilation fails on
 165     # sparc! :-(


 170 ifeq ($(OPENJDK_TARGET_OS), windows)
 171   ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
 172     RC_DESC := 64-Bit$(SPACE)
 173   endif
 174   JVM_RCFLAGS += -D"HS_FILEDESC=$(HOTSPOT_VM_DISTRO) $(RC_DESC)$(JVM_VARIANT) VM"
 175 endif
 176 
 177 ifeq ($(OPENJDK_TARGET_OS), macosx)
 178   # NOTE: The old build did not strip binaries on macosx.
 179   JVM_STRIP_SYMBOLS := false
 180 else
 181   JVM_STRIP_SYMBOLS := true
 182 endif
 183 
 184 JVM_OPTIMIZATION ?= HIGHEST_JVM
 185 
 186 ################################################################################
 187 # Now set up the actual compilation of the main hotspot native library
 188 
 189 $(eval $(call SetupNativeCompilation, BUILD_LIBJVM, \
 190     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
 191     LIBRARY := jvm, \
 192     OUTPUT_DIR := $(JVM_OUTPUTDIR), \
 193     SRC := $(JVM_SRC_DIRS), \
 194     EXCLUDES := $(JVM_EXCLUDES), \
 195     EXCLUDE_FILES := $(JVM_EXCLUDE_FILES), \
 196     EXCLUDE_PATTERNS := $(JVM_EXCLUDE_PATTERNS), \
 197     EXTRA_OBJECT_FILES := $(DTRACE_EXTRA_OBJECT_FILES), \
 198     CFLAGS := $(JVM_CFLAGS), \
 199     CFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
 200     CXXFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
 201     vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
 202     DISABLED_WARNINGS_clang := delete-non-virtual-dtor dynamic-class-memaccess \
 203         empty-body format logical-op-parentheses parentheses \
 204         parentheses-equality switch tautological-compare, \
 205     DISABLED_WARNINGS_xlc := 1540-0216 1540-0198 1540-1090 1540-1639 \
 206         1540-1088 1500-010, \
 207     ASFLAGS := $(JVM_ASFLAGS), \
 208     LDFLAGS := $(JVM_LDFLAGS), \
 209     LIBS := $(JVM_LIBS), \
 210     OPTIMIZATION := $(JVM_OPTIMIZATION), \


< prev index next >