# HG changeset patch # User Gilles Duboscq # Date 1329486477 -3600 # Node ID b1b78a46b9079b55ea32953eec7971486dfecaa3 # Parent ef0ff914c10ffd2ed71d4ffa6aa26db250f96283# Parent ee87cfe2f8f9a19ae0660aae92a0486fd08d95a0 Merge diff -r ef0ff914c10f -r b1b78a46b907 make/bsd/Makefile --- a/make/bsd/Makefile Fri Feb 17 14:47:48 2012 +0100 +++ b/make/bsd/Makefile Fri Feb 17 14:47:57 2012 +0100 @@ -199,6 +199,7 @@ SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS)) SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS)) SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS)) +SUBDIRS_GRAAL = $(addprefix $(OSNAME)_$(BUILDARCH)_graal/,$(TARGETS)) TARGETS_C2 = $(TARGETS) TARGETS_C1 = $(addsuffix 1,$(TARGETS)) @@ -206,6 +207,7 @@ TARGETS_CORE = $(addsuffix core,$(TARGETS)) TARGETS_ZERO = $(addsuffix zero,$(TARGETS)) TARGETS_SHARK = $(addsuffix shark,$(TARGETS)) +TARGETS_GRAAL = $(addsuffix graal,$(TARGETS)) BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) @@ -223,6 +225,7 @@ @echo " $(TARGETS_CORE)" @echo " $(TARGETS_ZERO)" @echo " $(TARGETS_SHARK)" + @echo " $(TARGETS_GRAAL)" checks: check_os_version check_j2se_version @@ -281,6 +284,10 @@ $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks $(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH) +$(SUBDIRS_GRAAL): $(BUILDTREE_MAKE) + $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks + $(BUILDTREE) VARIANT=graal + platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in $(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@ @@ -328,12 +335,19 @@ cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install endif +$(TARGETS_GRAAL): $(SUBDIRS_GRAAL) + cd $(OSNAME)_$(BUILDARCH)_graal/$(patsubst %graal,%,$@) && $(MAKE) $(MFLAGS) +ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_graal/$(patsubst %graal,%,$@) && $(MAKE) $(MFLAGS) install +endif + # Just build the tree, and nothing else: tree: $(SUBDIRS_C2) tree1: $(SUBDIRS_C1) treecore: $(SUBDIRS_CORE) treezero: $(SUBDIRS_ZERO) treeshark: $(SUBDIRS_SHARK) +treegraal: $(SUBDIRS_GRAAL) # Doc target. This is the same for all build options. # Hence create a docs directory beside ...$(ARCH)_[...] @@ -364,8 +378,8 @@ #------------------------------------------------------------------------------- -.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK) -.PHONY: tree tree1 treecore treezero treeshark -.PHONY: all compiler1 compiler2 core zero shark -.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs +.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK) $(TARGETS_GRAAL) +.PHONY: tree tree1 treecore treezero treeshark treegraal +.PHONY: all compiler1 compiler2 core zero shark graal +.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs clean_graal .PHONY: checks check_os_version check_j2se_version diff -r ef0ff914c10f -r b1b78a46b907 make/bsd/makefiles/vm.make --- a/make/bsd/makefiles/vm.make Fri Feb 17 14:47:48 2012 +0100 +++ b/make/bsd/makefiles/vm.make Fri Feb 17 14:47:57 2012 +0100 @@ -118,7 +118,7 @@ # By default, link the *.o into the library, not the executable. LINK_INTO$(LINK_INTO) = LIBJVM -JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH) +JDK_LIBDIR = $(JAVA_HOME)/jre/lib #---------------------------------------------------------------------- # jvm_db & dtrace @@ -137,7 +137,7 @@ LIBJVM_G = lib$(JVM)$(G_SUFFIX).so endif -SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt +SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt graal SOURCE_PATHS=\ $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \ @@ -161,6 +161,11 @@ SHARK_PATHS := $(GAMMADIR)/src/share/vm/shark +GRAAL_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1) +GRAAL_PATHS += $(HS_COMMON_SRC)/share/vm/c1 +GRAAL_PATHS += $(call altsrc,$(HS_COMMON_SRC)/share/vm/graal) +GRAAL_PATHS += $(HS_COMMON_SRC)/share/vm/graal + # Include dirs per type. Src_Dirs/CORE := $(CORE_PATHS) Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS) @@ -168,12 +173,14 @@ Src_Dirs/TIERED := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS) Src_Dirs/ZERO := $(CORE_PATHS) Src_Dirs/SHARK := $(CORE_PATHS) $(SHARK_PATHS) +Src_Dirs/GRAAL := $(CORE_PATHS) $(GRAAL_PATHS) Src_Dirs := $(Src_Dirs/$(TYPE)) COMPILER2_SPECIFIC_FILES := opto libadt bcEscapeAnalyzer.cpp chaitin\* c2_\* runtime_\* COMPILER1_SPECIFIC_FILES := c1_\* SHARK_SPECIFIC_FILES := shark ZERO_SPECIFIC_FILES := zero +GRAAL_SPECIFIC_FILES := graal # Always exclude these. Src_Files_EXCLUDE := jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp @@ -185,6 +192,7 @@ Src_Files_EXCLUDE/TIERED := $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) Src_Files_EXCLUDE/ZERO := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp Src_Files_EXCLUDE/SHARK := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) +Src_Files_EXCLUDE/GRAAL := $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp Src_Files_EXCLUDE += $(Src_Files_EXCLUDE/$(TYPE)) diff -r ef0ff914c10f -r b1b78a46b907 mx/commands.py --- a/mx/commands.py Fri Feb 17 14:47:48 2012 +0100 +++ b/mx/commands.py Fri Feb 17 14:47:57 2012 +0100 @@ -270,6 +270,15 @@ if len(failed) != 0: mx.abort('Scala DaCapo failures: ' + str(failed)) +def _vmLibDirInJdk(jdk): + """ + Get the directory within a JDK where jvm.cfg file and the server + and client subdirectories are located. + """ + if platform.system() == 'Darwin': + return join(jdk, 'jre', 'lib') + return join(jdk, 'jre', 'lib', 'amd64') + def _jdk(build='product', create=False): """ Get the JDK into which Graal is installed, creating it first if necessary. @@ -292,7 +301,7 @@ # Make a copy of the default VM so that this JDK can be # reliably used as the bootstrap for a HotSpot build. - jvmCfg = join(jdk, 'jre', 'lib', 'amd64', 'jvm.cfg') + jvmCfg = join(_vmLibDirInJdk(jdk), 'jvm.cfg') if not exists(jvmCfg): mx.abort(jvmCfg + ' does not exist') @@ -309,7 +318,7 @@ lines.append(line) assert defaultVM is not None, 'Could not find default VM in ' + jvmCfg - shutil.copytree(join(jdk, 'jre', 'lib', 'amd64', defaultVM), join(jdk, 'jre', 'lib', 'amd64', defaultVM + '0')) + shutil.copytree(join(_vmLibDirInJdk(jdk), defaultVM), join(_vmLibDirInJdk(jdk), defaultVM + '0')) with open(jvmCfg, 'w') as f: for line in lines: @@ -390,7 +399,7 @@ for build in builds: jdk = _jdk(build, create=True) - vmDir = join(jdk, 'jre', 'lib', 'amd64', vm) + vmDir = join(_vmLibDirInJdk(jdk), vm) if not exists(vmDir): mx.log('Creating VM directory in JDK7: ' + vmDir) os.makedirs(vmDir) @@ -434,7 +443,7 @@ mx.run([mx.gmake_cmd(), build + buildSuffix], cwd=join(_graal_home, 'make'), err=filterXusage) - jvmCfg = join(jdk, 'jre', 'lib', 'amd64', 'jvm.cfg') + jvmCfg = join(_vmLibDirInJdk(jdk), 'jvm.cfg') found = False if not exists(jvmCfg): mx.abort(jvmCfg + ' does not exist') @@ -797,7 +806,7 @@ flavor = 'att' build = _vmbuild if _vmSourcesAvailable else 'product' lib = mx.lib_suffix('hsdis-amd64') - path = join(_jdk(build), 'jre', 'lib', 'amd64', lib) + path = join(_vmLibDirInJdk(_jdk(build)), lib) mx.download(path, ['http://lafo.ssw.uni-linz.ac.at/hsdis/' + flavor + "/" + lib]) def mx_init():