< prev index next >

hotspot/make/lib/CompileJvm.gmk

Print this page




 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! :-(
 166     JVM_CFLAGS += -g0
 167   endif
 168 endif
 169 
 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), \
 211     OBJECT_DIR := $(JVM_OUTPUTDIR)/objs, \
 212     MAPFILE := $(JVM_MAPFILE), \
 213     USE_MAPFILE_FOR_SYMBOLS := true, \
 214     STRIP_SYMBOLS := $(JVM_STRIP_SYMBOLS), \
 215     EMBED_MANIFEST := true, \
 216     RC_FLAGS := $(JVM_RCFLAGS), \
 217     VERSIONINFO_RESOURCE := $(HOTSPOT_TOPDIR)/src/os/windows/vm/version.rc, \
 218     PRECOMPILED_HEADER := $(JVM_PRECOMPILED_HEADER), \
 219     PRECOMPILED_HEADER_EXCLUDE := $(JVM_PRECOMPILED_HEADER_EXCLUDE), \
 220 ))












 221 
 222 # AIX warning explanation:
 223 # 1500-010  : (W) WARNING in ...: Infinite loop.  Program may not stop.
 224 #             There are several infinite loops in the vm, so better suppress.
 225 # 1540-0198 : (W) The omitted keyword "private" is assumed for base class "...".
 226 # 1540-0216 : (W) An expression of type .. cannot be converted to type ..
 227 #             In hotspot this fires for functionpointer to pointer conversions
 228 # 1540-1088 : (W) The exception specification is being ignored.
 229 #             In hotspot this is caused by throw() in declaration of new() in nmethod.hpp.
 230 # 1540-1090 : (I) The destructor of "..." might not be called.
 231 # 1540-1639 : (I) The behavior of long type bit fields has changed ...
 232 
 233 # Include mapfile generation. It relies on BUILD_LIBJVM_ALL_OBJS which is only
 234 # defined after the above call to BUILD_LIBJVM. Mapfile will be generated
 235 # after all object files are built, but before the jvm library is linked.
 236 include lib/JvmMapfile.gmk
 237 
 238 TARGETS += $(BUILD_LIBJVM)


 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! :-(
 166     JVM_CFLAGS += -g0
 167   endif
 168 endif
 169 
 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 JVM_OPTIMIZATION ?= HIGHEST_JVM
 178 
 179 ################################################################################
 180 # Now set up the actual compilation of the main hotspot native library
 181 
 182 $(eval $(call SetupNativeCompilation, BUILD_LIBJVM, \
 183     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
 184     LIBRARY := jvm, \
 185     OUTPUT_DIR := $(JVM_LIB_OUTPUTDIR), \
 186     SRC := $(JVM_SRC_DIRS), \
 187     EXCLUDES := $(JVM_EXCLUDES), \
 188     EXCLUDE_FILES := $(JVM_EXCLUDE_FILES), \
 189     EXCLUDE_PATTERNS := $(JVM_EXCLUDE_PATTERNS), \
 190     EXTRA_OBJECT_FILES := $(DTRACE_EXTRA_OBJECT_FILES), \
 191     CFLAGS := $(JVM_CFLAGS), \
 192     CFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
 193     CXXFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
 194     vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
 195     DISABLED_WARNINGS_clang := delete-non-virtual-dtor dynamic-class-memaccess \
 196         empty-body format logical-op-parentheses parentheses \
 197         parentheses-equality switch tautological-compare, \
 198     DISABLED_WARNINGS_xlc := 1540-0216 1540-0198 1540-1090 1540-1639 \
 199         1540-1088 1500-010, \
 200     ASFLAGS := $(JVM_ASFLAGS), \
 201     LDFLAGS := $(JVM_LDFLAGS), \
 202     LIBS := $(JVM_LIBS), \
 203     OPTIMIZATION := $(JVM_OPTIMIZATION), \
 204     OBJECT_DIR := $(JVM_OUTPUTDIR)/objs, \
 205     MAPFILE := $(JVM_MAPFILE), \
 206     USE_MAPFILE_FOR_SYMBOLS := true, \

 207     EMBED_MANIFEST := true, \
 208     RC_FLAGS := $(JVM_RCFLAGS), \
 209     VERSIONINFO_RESOURCE := $(HOTSPOT_TOPDIR)/src/os/windows/vm/version.rc, \
 210     PRECOMPILED_HEADER := $(JVM_PRECOMPILED_HEADER), \
 211     PRECOMPILED_HEADER_EXCLUDE := $(JVM_PRECOMPILED_HEADER_EXCLUDE), \
 212 ))
 213 
 214 ifeq ($(OPENJDK_TARGET_OS), windows)
 215   # It doesn't matter which jvm.lib file gets exported, but we need
 216   # to pick just one.
 217   ifeq ($(JVM_VARIANT), $(firstword $(JVM_VARIANTS)))
 218     $(eval $(call SetupCopyFiles, COPY_JVM_LIB, \
 219         DEST := $(LIB_OUTPUTDIR), \
 220         FILES :=$(JVM_VARIANT_OUTPUTDIR)/libjvm/objs/jvm.lib, \
 221     ))
 222     TARGETS += $(COPY_JVM_LIB)
 223   endif
 224 endif
 225 
 226 # AIX warning explanation:
 227 # 1500-010  : (W) WARNING in ...: Infinite loop.  Program may not stop.
 228 #             There are several infinite loops in the vm, so better suppress.
 229 # 1540-0198 : (W) The omitted keyword "private" is assumed for base class "...".
 230 # 1540-0216 : (W) An expression of type .. cannot be converted to type ..
 231 #             In hotspot this fires for functionpointer to pointer conversions
 232 # 1540-1088 : (W) The exception specification is being ignored.
 233 #             In hotspot this is caused by throw() in declaration of new() in nmethod.hpp.
 234 # 1540-1090 : (I) The destructor of "..." might not be called.
 235 # 1540-1639 : (I) The behavior of long type bit fields has changed ...
 236 
 237 # Include mapfile generation. It relies on BUILD_LIBJVM_ALL_OBJS which is only
 238 # defined after the above call to BUILD_LIBJVM. Mapfile will be generated
 239 # after all object files are built, but before the jvm library is linked.
 240 include lib/JvmMapfile.gmk
 241 
 242 TARGETS += $(BUILD_LIBJVM)
< prev index next >