changeset 13538:b26ce93265d8

Merge.
author Christian Humer <christian.humer@gmail.com>
date Tue, 07 Jan 2014 22:36:23 +0100
parents 93068303f856 (current diff) 8602fcb6ceb3 (diff)
children 504d3d12a939
files
diffstat 1 files changed, 23 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/mx/mx_graal.py	Tue Jan 07 22:27:04 2014 +0100
+++ b/mx/mx_graal.py	Tue Jan 07 22:36:23 2014 +0100
@@ -295,20 +295,9 @@
     jdk = join(_jdksDir(), build)
     if create:
         srcJdk = mx.java().jdk
-        jdkContents = ['bin', 'include', 'jre', 'lib']
-        if exists(join(srcJdk, 'db')):
-            jdkContents.append('db')
-        if mx.get_os() != 'windows' and exists(join(srcJdk, 'man')):
-            jdkContents.append('man')
         if not exists(jdk):
             mx.log('Creating ' + jdk + ' from ' + srcJdk)
-            os.makedirs(jdk)
-            for d in jdkContents:
-                src = join(srcJdk, d)
-                dst = join(jdk, d)
-                if not exists(src):
-                    mx.abort('Host JDK directory is missing: ' + src)
-                shutil.copytree(src, dst)
+            shutil.copytree(srcJdk, jdk)
 
             # Make a copy of the default VM so that this JDK can be
             # reliably used as the bootstrap for a HotSpot build.
@@ -343,6 +332,28 @@
                 for line in jvmCfgLines:
                     fp.write(line)
 
+            # patch 'release' file (append graalvm revision)
+            releaseFile = join(jdk, 'release')
+            if exists(releaseFile):
+                releaseFileLines = []
+                with open(releaseFile) as f:
+                    for line in f:
+                        releaseFileLines.append(line)
+
+                with open(releaseFile, 'w') as fp:
+                    for line in releaseFileLines:
+                        if line.startswith("SOURCE="):
+                            try:
+                                sourceLine = line[0:-2] # remove last char
+                                hgcfg = mx.HgConfig()
+                                hgcfg.check()
+                                revision = hgcfg.tip('.')[:12] # take first 12 chars
+                                fp.write(sourceLine + ' graal:' + revision + '\"\n')
+                            except:
+                                fp.write(line)
+                        else:
+                            fp.write(line)
+
             # Install a copy of the disassembler library
             try:
                 hsdis([], copyToDir=_vmLibDirInJdk(jdk))