changeset 22561:ba4ef98ae535

Add mx_jvmci API to prepend ClasspathDependencies to the bootclasspath of the jvmci JDK
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Tue, 15 Sep 2015 18:01:46 +0200
parents 9665bbd976c8
children 28fe5850735e
files mx.jvmci/mx_jvmci.py
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mx.jvmci/mx_jvmci.py	Mon Sep 14 09:43:01 2015 -0700
+++ b/mx.jvmci/mx_jvmci.py	Tue Sep 15 18:01:46 2015 +0200
@@ -1736,6 +1736,12 @@
         _jvmci_bootstrap_jdk = mx.get_jdk(_versionCheck, versionDescription=versionDesc, tag='default')
     return _jvmci_bootstrap_jdk
 
+_jvmci_bootclasspath_prepends = []
+
+def add_bootclasspath_prepend(dep):
+    assert isinstance(dep, mx.ClasspathDependency)
+    _jvmci_bootclasspath_prepends.append(dep)
+
 class JVMCIJDKConfig(mx.JDKConfig):
     def __init__(self, vmbuild):
         # Ignore the deployable distributions here - they are only deployed during building.
@@ -1768,6 +1774,8 @@
                 mx.abort('defining jvmci.option property is incompatible with defining one or more -G: options: ' + existingJvmciOptionsProperty)
             args = ['-Djvmci.options=' + ' '.join(jvmciArgs)] + nonJvmciArgs
 
+        args = ['-Xbootclasspath/p:' + dep.classpath_repr() for dep in _jvmci_bootclasspath_prepends] + args
+
         if '-version' in args:
             ignoredArgs = args[args.index('-version') + 1:]
             if  len(ignoredArgs) > 0: