29
29
30
30
from mx_espresso import _espresso_stability , _has_native_espresso_standalone , _send_sigquit , get_java_home_dep , _jdk_lib_dir , jvm_standalone_with_llvm
31
31
from mx_sdk_vm_ng import _find_native_image_command , ThinLauncherProject # pylint: disable=unused-import
32
- from mx_sdk_vm_impl import get_final_graalvm_distribution , has_component
32
+ from mx_sdk_vm_impl import get_final_graalvm_distribution , has_component , graalvm_skip_archive
33
33
34
34
_suite = mx .suite ('espresso-compiler-stub' )
35
35
@@ -57,14 +57,14 @@ def create_ni_standalone(base_standalone_name, register_distribution):
57
57
layout = deepcopy (base_standalone .layout )
58
58
if '_NATIVE_' in base_standalone_name :
59
59
# avoid dependency on project, copy from base standalone
60
- idx = layout ['<jdk_lib_dir>/truffle/' ].index ('dependency:espresso:com.oracle.truffle.espresso.mokapot/<lib:jvm>' )
60
+ idx = layout ['<jdk_lib_dir>/truffle/' ].index ('dependency:espresso:com.oracle.truffle.espresso.mokapot/*/<multitarget_libc_selection>/ <lib:jvm>' )
61
61
layout ['<jdk_lib_dir>/truffle/' ][idx ] = f'dependency:espresso:{ base_standalone_name } /{ _jdk_lib_dir ()} /truffle/<lib:jvm>'
62
62
assert len (layout ['languages/java/lib/' ]) == 1
63
63
layout ['languages/java/lib/' ] = [
64
64
f'dependency:espresso:{ base_standalone_name } /languages/java/lib/<lib:javavm>'
65
65
]
66
66
else :
67
- idx = layout ['languages/java/lib/' ].index ('dependency:espresso:com.oracle.truffle.espresso.mokapot/<lib:jvm>' )
67
+ idx = layout ['languages/java/lib/' ].index ('dependency:espresso:com.oracle.truffle.espresso.mokapot/*/<multitarget_libc_selection>/ <lib:jvm>' )
68
68
layout ['languages/java/lib/' ][idx ] = f'dependency:espresso:{ base_standalone_name } /languages/java/lib/<lib:jvm>'
69
69
idx = layout ['bin/' ].index ('dependency:espresso:espresso' )
70
70
del layout ['bin/' ][idx ]
@@ -80,6 +80,9 @@ def create_ni_standalone(base_standalone_name, register_distribution):
80
80
# ESPRESSO_JAVA_HOME has native-image, keep that
81
81
pass
82
82
elif has_component ('ni' ) and espresso_java_home .java_home == mx_sdk_vm .base_jdk ().home :
83
+ if graalvm_skip_archive ():
84
+ mx .abort ("Cannot build NI standalones with GRAALVM_SKIP_ARCHIVE enabled" )
85
+
83
86
# substratevm is available and ESPRESSO_JAVA_HOME is JAVA_HOME, use GraalVM
84
87
layout ['./' ][0 ]['source_type' ] = 'extracted-dependency'
85
88
layout ['./' ][0 ]['dependency' ] = get_final_graalvm_distribution ().qualifiedName ()
0 commit comments