# HG changeset patch # User Stefan Anzinger # Date 1433491206 -7200 # Node ID 6c3c21d9b5efe5eb076fe42a54d722785d16bf4f # Parent 73809f97c2814bab4d9ff78ba00621d832c29197 Add -m switch to mx build, which builds/exports JVMCI with the make/jvmci.make file diff -r 73809f97c281 -r 6c3c21d9b5ef make/Makefile --- a/make/Makefile Fri Jun 05 07:06:56 2015 +0200 +++ b/make/Makefile Fri Jun 05 10:00:06 2015 +0200 @@ -309,21 +309,25 @@ $(MAKE_ARGS) $(VM_TARGET) - -ifeq (, $(shell python2.7 --version 2>/dev/null && echo ok)) - ifeq (, $(shell python2.6 --version 2>/dev/null && echo ok)) - PYTHON=python +ifeq ($(JVMCI_USE_MAKE),) + ifeq (, $(shell python2.7 --version 2>/dev/null && echo ok)) + ifeq (, $(shell python2.6 --version 2>/dev/null && echo ok)) + PYTHON=python + else + PYTHON=python2.6 + endif else - PYTHON=python2.6 + PYTHON=python2.7 endif + + # Builds code that can be shared among different build flavors +buildshared: + $(PYTHON) -u $(GAMMADIR)/mxtool/mx.py build --no-native --export-dir $(SHARED_DIR) else - PYTHON=python2.7 +buildshared: + cd .. && $(MAKE) -f make/jvmci.make TARGET=build/make MX_TARGET=. HS_COMMON_SRC=$(HS_COMMON_SRC) JDK=$(ABS_BOOTDIR) EXPORT_DIR=$(SHARED_DIR) VERBOSE=0 export endif -# Builds code that can be shared among different build flavors -buildshared: - $(PYTHON) -u $(GAMMADIR)/mxtool/mx.py build --no-native --export-dir $(SHARED_DIR) - #cd .. && $(MAKE) -f make/jvmci.make TARGET=build/make MX_TARGET=. HS_COMMON_SRC=$(HS_COMMON_SRC) JDK=$(ABS_BOOTDIR) EXPORT_DIR=$(SHARED_DIR) VERBOSE=0 export # Export file rule generic_export: $(EXPORT_LIST) diff -r 73809f97c281 -r 6c3c21d9b5ef make/defs.make --- a/make/defs.make Fri Jun 05 07:06:56 2015 +0200 +++ b/make/defs.make Fri Jun 05 10:00:06 2015 +0200 @@ -360,20 +360,29 @@ EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/jvmci-service.jar -EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/truffle.jar -EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_DIR)/graal.jar -EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_DIR)/graal-truffle.jar EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_DIR)/jvmci-api.jar EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_DIR)/jvmci-hotspot.jar EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.jvmci.hotspot.HotSpotJVMCIBackendFactory -EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.jvmci.hotspot.HotSpotVMEventListener -EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.jvmci.debug.DebugInitializationPropertyProvider ifneq ("$(wildcard $(SHARED_DIR)/services/com.oracle.jvmci.hotspot.events.EventProvider)","") EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.jvmci.hotspot.events.EventProvider endif +EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.jvmci.hotspot.HotSpotConstantReflectionProvider +EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.jvmci.hotspot.HotSpotJVMCIRuntime +EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.jvmci.hotspot.HotSpotResolvedJavaFieldImpl +EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.jvmci.hotspot.HotSpotResolvedJavaMethodImpl + +ifeq ($(JVMCI_USE_MAKE),) +EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/truffle.jar +EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_DIR)/graal.jar +EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_DIR)/graal-truffle.jar + +EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.jvmci.hotspot.HotSpotVMEventListener + +EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.jvmci.debug.DebugInitializationPropertyProvider + EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.graal.api.runtime.GraalRuntimeAccess EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.graal.code.DisassemblerProvider EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.graal.compiler.match.MatchStatementSet @@ -387,11 +396,6 @@ EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.truffle.api.TruffleRuntimeAccess EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.nfi.api.NativeFunctionInterfaceAccess -EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.jvmci.hotspot.HotSpotConstantReflectionProvider -EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.jvmci.hotspot.HotSpotJVMCIRuntime -EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.jvmci.hotspot.HotSpotResolvedJavaFieldImpl -EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.jvmci.hotspot.HotSpotResolvedJavaMethodImpl - EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.graal.compiler.common.GraalOptions EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.graal.compiler.GraalCompiler EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.graal.compiler.GraalDebugConfig @@ -425,6 +429,7 @@ EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.graal.virtual.phases.ea.PartialEscapePhase EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.graal.lir.asm.CompilationResultBuilder EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/com.oracle.graal.java.BytecodeParser +endif .PHONY: $(HS_ALT_MAKE)/defs.make diff -r 73809f97c281 -r 6c3c21d9b5ef make/jvmci.make --- a/make/jvmci.make Fri Jun 05 07:06:56 2015 +0200 +++ b/make/jvmci.make Fri Jun 05 10:00:06 2015 +0200 @@ -1,4 +1,4 @@ -[?1034hVERBOSE= +VERBOSE= TARGET=. JDK= @@ -27,7 +27,7 @@ $(eval services=$(1)/$(SERVICES_INF)) $(eval options=$(1)/$(OPTIONS_INF)) test -d $(services) || mkdir -p $(services) - test ! -d $(providers) || (cd $(providers) && for i in $$(ls $(providers)); do c=$$(cat $$i); echo $$i >> $(services)$$c; rm $$i; done) + test ! -d $(providers) || (cd $(providers) && for i in $$(ls); do c=$$(cat $$i); echo $$i >> $(abspath $(services))/$$c; rm $$i; done) # We're building all projects together with one javac call; thus we cannot determine, from which project the generated file is thus we hardcode it for now $(eval vmconfig=$(1)/hotspot/HotSpotVMConfig.inline.hpp) @@ -36,8 +36,8 @@ endef define extract = - $(eval TMP := $(shell mktemp -d)) - mkdir -p $(2); + $(eval TMP := $(shell mktemp -d $(1)_XXXXX)) + mkdir -p $(2) cd $(TMP) && $(JAR) xf $(abspath $(1)) && ((test ! -d .$(SERVICES_INF) || cp -r .$(SERVICES_INF) $(abspath $(2))) && (test ! -d .$(OPTIONS_INF) || cp -r .$(OPTIONS_INF) $(abspath $(2)))) rm -r $(TMP) cp $(1) $(2) @@ -53,12 +53,6 @@ -EXPORTED_FILES += $(MX_TARGET)/build/truffle.jar - -EXPORTED_FILES += $(MX_TARGET)/build/graal.jar - -EXPORTED_FILES += $(MX_TARGET)/build/graal-truffle.jar - JDK_BOOTCLASSPATH = $(JDK)/jre/lib/resources.jar:$(JDK)/jre/lib/rt.jar:$(JDK)/jre/lib/jsse.jar:$(JDK)/jre/lib/jce.jar:$(JDK)/jre/lib/charsets.jar:$(JDK)/jre/lib/jfr.jar COM_ORACLE_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC = $(shell find graal/com.oracle.jvmci.hotspotvmconfig/src -type f -name *.java 2> /dev/null) @@ -78,18 +72,26 @@ COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_JAR = $(TARGET)/graal/com.oracle.jvmci.options.processor/ap/com.oracle.jvmci.options.processor.jar -JVMCI_UTIL_SRC = $(shell find graal/com.oracle.jvmci.bytecode/src -type f -name *.java 2> /dev/null) -JVMCI_UTIL_SRC += $(shell find graal/com.oracle.jvmci.asm/src -type f -name *.java 2> /dev/null) -JVMCI_UTIL_SRC += $(shell find graal/com.oracle.jvmci.amd64/src -type f -name *.java 2> /dev/null) -JVMCI_UTIL_SRC += $(shell find graal/com.oracle.jvmci.asm.amd64/src -type f -name *.java 2> /dev/null) -JVMCI_UTIL_SRC += $(shell find graal/com.oracle.jvmci.sparc/src -type f -name *.java 2> /dev/null) -JVMCI_UTIL_SRC += $(shell find graal/com.oracle.jvmci.asm.sparc/src -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC = $(shell find graal/com.oracle.jvmci.hotspotvmconfig/src -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspotvmconfig/graal/com.oracle.jvmci.hotspotvmconfig/src_gen -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.amd64/src -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.amd64/graal/com.oracle.jvmci.amd64/src_gen -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot/src -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot/graal/com.oracle.jvmci.hotspot/src_gen -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.amd64/src -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.amd64/graal/com.oracle.jvmci.hotspot.amd64/src_gen -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.sparc/src -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.sparc/graal/com.oracle.jvmci.sparc/src_gen -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.sparc/src -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.sparc/graal/com.oracle.jvmci.hotspot.sparc/src_gen -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.jfr/src -type f -name *.java 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.jfr/graal/com.oracle.jvmci.hotspot.jfr/src_gen -type f -name *.java 2> /dev/null) -JVMCI_UTIL_JAR = $(TARGET)/build/jvmci-util.jar +JVMCI_HOTSPOT_JAR = $(TARGET)/build/jvmci-hotspot.jar -JVMCI_UTIL_DEP_JARS = $(TARGET)/build/jvmci-service.jar $(TARGET)/build/jvmci-api.jar +JVMCI_HOTSPOT_DEP_JARS = $(TARGET)/build/jvmci-service.jar $(TARGET)/build/jvmci-api.jar graal/findbugs-SuppressFBWarnings.jar -EXPORTED_FILES += $(JVMCI_UTIL_JAR) +EXPORTED_FILES += $(JVMCI_HOTSPOT_JAR) JVMCI_SERVICE_SRC = $(shell find graal/com.oracle.jvmci.service/src -type f -name *.java 2> /dev/null) @@ -99,23 +101,6 @@ EXPORTED_FILES += $(JVMCI_SERVICE_JAR) -JVMCI_HOTSPOT_SRC = $(shell find graal/com.oracle.jvmci.hotspotvmconfig/src -type f -name *.java 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspotvmconfig/graal/com.oracle.jvmci.hotspotvmconfig/src_gen -type f -name *.java 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot/src -type f -name *.java 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot/graal/com.oracle.jvmci.hotspot/src_gen -type f -name *.java 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.amd64/src -type f -name *.java 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.amd64/graal/com.oracle.jvmci.hotspot.amd64/src_gen -type f -name *.java 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.sparc/src -type f -name *.java 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.sparc/graal/com.oracle.jvmci.hotspot.sparc/src_gen -type f -name *.java 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.jfr/src -type f -name *.java 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find graal/com.oracle.jvmci.hotspot.jfr/graal/com.oracle.jvmci.hotspot.jfr/src_gen -type f -name *.java 2> /dev/null) - -JVMCI_HOTSPOT_JAR = $(TARGET)/build/jvmci-hotspot.jar - -JVMCI_HOTSPOT_DEP_JARS = $(TARGET)/build/jvmci-util.jar $(TARGET)/build/jvmci-service.jar $(TARGET)/build/jvmci-api.jar graal/findbugs-SuppressFBWarnings.jar - -EXPORTED_FILES += $(JVMCI_HOTSPOT_JAR) - JVMCI_API_SRC = $(shell find graal/com.oracle.jvmci.meta/src -type f -name *.java 2> /dev/null) JVMCI_API_SRC += $(shell find graal/com.oracle.jvmci.code/src -type f -name *.java 2> /dev/null) JVMCI_API_SRC += $(shell find graal/com.oracle.jvmci.runtime/src -type f -name *.java 2> /dev/null) @@ -130,7 +115,7 @@ EXPORTED_FILES += $(JVMCI_API_JAR) $(COM_ORACLE_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR): $(COM_ORACLE_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC) - $(eval TMP := $(shell mktemp -d)) + $(eval TMP := $(shell mktemp -d COM_ORACLE_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_XXXXX)) $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) $(COM_ORACLE_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC) cp -r graal/com.oracle.jvmci.hotspotvmconfig.processor/src/META-INF $(TMP) $(call process_options,$(TMP),False) @@ -139,7 +124,7 @@ rm -r $(TMP) $(COM_ORACLE_JVMCI_SERVICE_PROCESSOR_JAR): $(COM_ORACLE_JVMCI_SERVICE_PROCESSOR_SRC) - $(eval TMP := $(shell mktemp -d)) + $(eval TMP := $(shell mktemp -d COM_ORACLE_JVMCI_SERVICE_PROCESSOR_XXXXX)) $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) $(COM_ORACLE_JVMCI_SERVICE_PROCESSOR_SRC) cp -r graal/com.oracle.jvmci.service.processor/src/META-INF $(TMP) $(call process_options,$(TMP),False) @@ -148,7 +133,7 @@ rm -r $(TMP) $(COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_JAR): $(COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_SRC) - $(eval TMP := $(shell mktemp -d)) + $(eval TMP := $(shell mktemp -d COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_XXXXX)) $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) $(COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_SRC) cp -r graal/com.oracle.jvmci.options.processor/src/META-INF $(TMP) $(call process_options,$(TMP),False) @@ -156,17 +141,17 @@ $(JAR) cf $(COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_JAR) -C $(TMP) . rm -r $(TMP) -$(JVMCI_UTIL_JAR): $(JVMCI_UTIL_SRC) $(JVMCI_UTIL_DEP_JARS) - $(eval TMP := $(shell mktemp -d)) - $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) -cp $(TARGET)/build/jvmci-service.jar:$(TARGET)/build/jvmci-api.jar $(JVMCI_UTIL_SRC) +$(JVMCI_HOTSPOT_JAR): $(JVMCI_HOTSPOT_SRC) $(COM_ORACLE_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR) $(COM_ORACLE_JVMCI_SERVICE_PROCESSOR_JAR) $(COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_JAR) $(JVMCI_HOTSPOT_DEP_JARS) + $(eval TMP := $(shell mktemp -d JVMCI_HOTSPOT_XXXXX)) + $(JAVAC) -d $(TMP) -processorpath $(COM_ORACLE_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR):$(COM_ORACLE_JVMCI_SERVICE_PROCESSOR_JAR):$(COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_JAR) -bootclasspath $(JDK_BOOTCLASSPATH) -cp $(TARGET)/build/jvmci-service.jar:$(TARGET)/build/jvmci-api.jar:graal/findbugs-SuppressFBWarnings.jar $(JVMCI_HOTSPOT_SRC) $(call process_options,$(TMP),True) - mkdir -p $$(dirname $(JVMCI_UTIL_JAR)) - $(JAR) cf $(JVMCI_UTIL_JAR) -C $(TMP) . + mkdir -p $$(dirname $(JVMCI_HOTSPOT_JAR)) + $(JAR) cf $(JVMCI_HOTSPOT_JAR) -C $(TMP) . rm -r $(TMP) $(JVMCI_SERVICE_JAR): $(JVMCI_SERVICE_SRC) $(JVMCI_SERVICE_DEP_JARS) - $(eval TMP := $(shell mktemp -d)) + $(eval TMP := $(shell mktemp -d JVMCI_SERVICE_XXXXX)) $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) -cp graal/findbugs-SuppressFBWarnings.jar $(JVMCI_SERVICE_SRC) $(call process_options,$(TMP),True) @@ -174,17 +159,8 @@ $(JAR) cf $(JVMCI_SERVICE_JAR) -C $(TMP) . rm -r $(TMP) -$(JVMCI_HOTSPOT_JAR): $(JVMCI_HOTSPOT_SRC) $(COM_ORACLE_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR) $(COM_ORACLE_JVMCI_SERVICE_PROCESSOR_JAR) $(COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_JAR) $(JVMCI_HOTSPOT_DEP_JARS) - $(eval TMP := $(shell mktemp -d)) - $(JAVAC) -d $(TMP) -processorpath $(COM_ORACLE_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR):$(COM_ORACLE_JVMCI_SERVICE_PROCESSOR_JAR):$(COM_ORACLE_JVMCI_OPTIONS_PROCESSOR_JAR) -bootclasspath $(JDK_BOOTCLASSPATH) -cp $(TARGET)/build/jvmci-util.jar:$(TARGET)/build/jvmci-service.jar:$(TARGET)/build/jvmci-api.jar:graal/findbugs-SuppressFBWarnings.jar $(JVMCI_HOTSPOT_SRC) - - $(call process_options,$(TMP),True) - mkdir -p $$(dirname $(JVMCI_HOTSPOT_JAR)) - $(JAR) cf $(JVMCI_HOTSPOT_JAR) -C $(TMP) . - rm -r $(TMP) - $(JVMCI_API_JAR): $(JVMCI_API_SRC) $(JVMCI_API_DEP_JARS) - $(eval TMP := $(shell mktemp -d)) + $(eval TMP := $(shell mktemp -d JVMCI_API_XXXXX)) $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) -cp $(TARGET)/build/jvmci-service.jar:graal/findbugs-SuppressFBWarnings.jar $(JVMCI_API_SRC) $(call process_options,$(TMP),True) @@ -192,5 +168,5 @@ $(JAR) cf $(JVMCI_API_JAR) -C $(TMP) . rm -r $(TMP) -default: $(JVMCI_UTIL_JAR) $(JVMCI_SERVICE_JAR) $(JVMCI_HOTSPOT_JAR) $(JVMCI_API_JAR) -.PHONY: default +default: $(JVMCI_HOTSPOT_JAR) $(JVMCI_SERVICE_JAR) $(JVMCI_API_JAR) +.PHONY: default \ No newline at end of file diff -r 73809f97c281 -r 6c3c21d9b5ef make/solaris/makefiles/defs.make --- a/make/solaris/makefiles/defs.make Fri Jun 05 07:06:56 2015 +0200 +++ b/make/solaris/makefiles/defs.make Fri Jun 05 10:00:06 2015 +0200 @@ -304,4 +304,3 @@ endif endif EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar -EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/com.oracle.jvmci.debug.DebugInitializationPropertyProvider diff -r 73809f97c281 -r 6c3c21d9b5ef mx/mx_graal.py --- a/mx/mx_graal.py Fri Jun 05 07:06:56 2015 +0200 +++ b/mx/mx_graal.py Fri Jun 05 10:00:06 2015 +0200 @@ -90,16 +90,17 @@ _untilVersion = None class JDKDeployedDist: - def __init__(self, name, isExtension=False, usesJVMCIClassLoader=False): + def __init__(self, name, isExtension=False, usesJVMCIClassLoader=False, partOfHotSpot=False): self.name = name self.isExtension = isExtension self.usesJVMCIClassLoader = usesJVMCIClassLoader + self.partOfHotSpot = partOfHotSpot # true when this distribution is delivered with HotSpot _jdkDeployedDists = [ JDKDeployedDist('TRUFFLE'), - JDKDeployedDist('JVMCI_SERVICE'), - JDKDeployedDist('JVMCI_API', usesJVMCIClassLoader=True), - JDKDeployedDist('JVMCI_HOTSPOT', usesJVMCIClassLoader=True), + JDKDeployedDist('JVMCI_SERVICE', partOfHotSpot=True), + JDKDeployedDist('JVMCI_API', usesJVMCIClassLoader=True, partOfHotSpot=True), + JDKDeployedDist('JVMCI_HOTSPOT', usesJVMCIClassLoader=True, partOfHotSpot=True), JDKDeployedDist('GRAAL', usesJVMCIClassLoader=True), JDKDeployedDist('GRAAL_TRUFFLE', usesJVMCIClassLoader=True) ] @@ -856,6 +857,7 @@ parser = AP() parser.add_argument('--export-dir', help='directory to which JVMCI and Graal jars and jvmci.options will be copied', metavar='') parser.add_argument('-D', action='append', help='set a HotSpot build variable (run \'mx buildvars\' to list variables)', metavar='name=value') + parser.add_argument('-m', '--use-make', action='store_true', help='Use the jvmci.make file to build and export JVMCI') opts2 = mx.build(['--source', '1.7'] + args, parser=parser) assert len(opts2.remainder) == 0 @@ -872,27 +874,33 @@ jdkJars = [] for jdkDist in _jdkDeployedDists: dist = mx.distribution(jdkDist.name) - jdkJars.append(join(_graal_home, dist.path)) + exportedByMx = not(opts2.use_make and jdkDist.partOfHotSpot) + if exportedByMx: + jdkJars.append(join(_graal_home, dist.path)) defLine = 'EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/' + basename(dist.path) if jdkDist.isExtension: defLine = 'EXPORT_LIST += $(EXPORT_JRE_LIB_EXT_DIR)/' + basename(dist.path) elif jdkDist.usesJVMCIClassLoader: defLine = 'EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_DIR)/' + basename(dist.path) - jvmciJars.append(dist.path) + if exportedByMx: + jvmciJars.append(dist.path) else: defLine = 'EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/' + basename(dist.path) if defLine not in defs: mx.abort('Missing following line in ' + defsPath + '\n' + defLine) - shutil.copy(dist.path, opts2.export_dir) + if exportedByMx: + shutil.copy(dist.path, opts2.export_dir) + services, optionsFiles = _extractJVMCIFiles(jdkJars, jvmciJars, join(opts2.export_dir, 'services'), join(opts2.export_dir, 'options')) - for service in services: - defLine = 'EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/' + service - if defLine not in defs: - mx.abort('Missing following line in ' + defsPath + ' for service from ' + dist.name + '\n' + defLine) - for optionsFile in optionsFiles: - defLine = 'EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/' + optionsFile - if defLine not in defs: - mx.abort('Missing following line in ' + defsPath + ' for options from ' + dist.name + '\n' + defLine) + if not opts2.use_make: + for service in services: + defLine = 'EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_SERVICES_DIR)/' + service + if defLine not in defs: + mx.abort('Missing following line in ' + defsPath + ' for service from ' + dist.name + '\n' + defLine) + for optionsFile in optionsFiles: + defLine = 'EXPORT_LIST += $(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/' + optionsFile + if defLine not in defs: + mx.abort('Missing following line in ' + defsPath + ' for options from ' + dist.name + '\n' + defLine) jvmciOptions = join(_graal_home, 'jvmci.options') if exists(jvmciOptions): shutil.copy(jvmciOptions, opts2.export_dir) @@ -1019,6 +1027,7 @@ setMakeVar('ARCH_DATA_MODEL', '64', env=env) setMakeVar('HOTSPOT_BUILD_JOBS', str(cpus), env=env) setMakeVar('ALT_BOOTDIR', mx.java().jdk, env=env) + setMakeVar("EXPORT_PATH", jdk) setMakeVar('MAKE_VERBOSE', 'y' if mx._opts.verbose else '') if vm.endswith('nojvmci'): @@ -1044,7 +1053,8 @@ setMakeVar('STRIP_POLICY', 'no_strip') # This removes the need to unzip the *.diz files before debugging in gdb setMakeVar('ZIP_DEBUGINFO_FILES', '0', env=env) - + if opts2.use_make: + setMakeVar('JVMCI_USE_MAKE', '1') # Clear this variable as having it set can cause very confusing build problems env.pop('CLASSPATH', None) @@ -1055,8 +1065,8 @@ envPrefix = ' '.join([key + '=' + env[key] for key in env.iterkeys() if not os.environ.has_key(key) or env[key] != os.environ[key]]) if len(envPrefix): mx.log('env ' + envPrefix + ' \\') - - runCmd.append(build + buildSuffix) + makeTarget = "all_" + build + buildSuffix if opts2.use_make else build + buildSuffix + runCmd.append(makeTarget) if not mx._opts.verbose: mx.log(' '.join(runCmd)) diff -r 73809f97c281 -r 6c3c21d9b5ef mx/mx_graal_makefile.py --- a/mx/mx_graal_makefile.py Fri Jun 05 07:06:56 2015 +0200 +++ b/mx/mx_graal_makefile.py Fri Jun 05 10:00:06 2015 +0200 @@ -51,8 +51,7 @@ args = parser.parse_args(args) if args.selectedDists == None or len(args.selectedDists) == 0: - parser.print_help() - return + args.selectedDists = [d.name for d in mx_graal._jdkDeployedDists if d.partOfHotSpot] mf = Makefile() if do_build_makefile(mf, args.selectedDists): contents = mf.generate() @@ -190,7 +189,7 @@ $(eval services=$(1)/$(SERVICES_INF)) $(eval options=$(1)/$(OPTIONS_INF)) test -d $(services) || mkdir -p $(services) - test ! -d $(providers) || (cd $(providers) && for i in $$(ls $(providers)); do c=$$(cat $$i); echo $$i >> $(services)$$c; rm $$i; done) + test ! -d $(providers) || (cd $(providers) && for i in $$(ls); do c=$$(cat $$i); echo $$i >> $(abspath $(services))/$$c; rm $$i; done) # We're building all projects together with one javac call; thus we cannot determine, from which project the generated file is thus we hardcode it for now $(eval vmconfig=$(1)/hotspot/HotSpotVMConfig.inline.hpp) @@ -200,7 +199,7 @@ define extract = $(eval TMP := $(shell mktemp -d $(1)_XXXXX)) - mkdir -p $(2); + mkdir -p $(2) cd $(TMP) && $(JAR) xf $(abspath $(1)) && \ ((test ! -d .$(SERVICES_INF) || cp -r .$(SERVICES_INF) $(abspath $(2))) && (test ! -d .$(OPTIONS_INF) || cp -r .$(OPTIONS_INF) $(abspath $(2)))) rm -r $(TMP) @@ -224,6 +223,7 @@ if d.name in selectedDists: dists.update(d.get_dist_deps(True, True)) projects.update(d.sorted_deps(includeLibs=False, transitive=True)) + for p in projects: deps = p.all_deps([], False, includeSelf=True, includeJreLibs=False, includeAnnotationProcessors=True) for d in deps: @@ -231,11 +231,6 @@ apd = d.definedAnnotationProcessorsDist ap.add(apd) - for d in mx_graal._jdkDeployedDists: - dist = mx.distribution(d.name) - if dist not in dists: # this sould go away - mf.add_definition("EXPORTED_FILES += $(MX_TARGET)/{}".format(os.path.relpath(dist.path, dist.suite.dir))) - if len(dists) > 0: mf.add_definition(jdkBootClassPathVariableName + " = " + bootClassPath) bootClassPathVarAccess = "$(" + jdkBootClassPathVariableName + ")"