def gate_sulong(tasks): with Task('Run SulongSuite tests as native-image', tasks, tags=[VmGateTasks.sulong]) as t: if t: lli = join(mx_sdk_vm_impl.graalvm_output(), 'bin', 'lli') sulong = mx.suite('sulong') sulong.extensions.testLLVMImage(lli, libPath=False, unittestArgs=['--enable-timing']) with Task('Run Sulong interop tests as native-image', tasks, tags=[VmGateTasks.sulong]) as t: if t: sulong = mx.suite('sulong') native_image_context, svm = graalvm_svm() with native_image_context( svm.IMAGE_ASSERTION_FLAGS) as native_image: # TODO Use mx_sdk_vm_impl.get_final_graalvm_distribution().find_single_source_location to rewire SULONG_HOME sulong_libs = join( mx_sdk_vm_impl.graalvm_output(), 'jre' if mx_sdk_vm.base_jdk_version() == 8 else '', 'languages', 'llvm') def distribution_paths(dname): path_substitutions = {'SULONG_HOME': sulong_libs} return path_substitutions.get( dname, mx._get_dependency_path(dname)) mx_subst.path_substitutions.register_with_arg( 'path', distribution_paths) sulong.extensions.runLLVMUnittests( functools.partial(svm._native_unittest, native_image))
class EspressoDefaultTags: jackpot = 'jackpot' def _espresso_gate_runner(args, tasks): # Jackpot configuration is inherited from Truffle. with Task('Jackpot', tasks, tags=[EspressoDefaultTags.jackpot]) as t: if t: jackpot(['--fail-on-warnings'], suite=None, nonZeroIsFatal=True) # REGISTER MX GATE RUNNER ######################### add_gate_runner(_suite, _espresso_gate_runner) if mx_sdk_vm.base_jdk_version() > 8: if mx.is_windows(): lib_espresso_cp = '%GRAALVM_HOME%\\lib\\graalvm\\lib-espresso.jar' else: lib_espresso_cp = '${GRAALVM_HOME}/lib/graalvm/lib-espresso.jar' else: if mx.is_windows(): lib_espresso_cp = '%GRAALVM_HOME%\\jre\\lib\\graalvm\\lib-espresso.jar' else: lib_espresso_cp = '${GRAALVM_HOME}/jre/lib/graalvm/lib-espresso.jar' mx_sdk_vm.register_graalvm_component( mx_sdk_vm.GraalVmLanguage( suite=_suite, name='Java on Truffle', short_name='java',
import os import pipes from os.path import join, exists, basename import shutil import mx import mx_gate import mx_sdk_vm import mx_subst import mx_spotbugs # Fail early and clearly when trying to build with a too old JDK jdk = mx.get_jdk(mx.JavaCompliance('11+'), 'building TruffleRuby which requires JDK 11 or newer') if mx_sdk_vm.base_jdk_version() < 11: mx.abort('Building TruffleRuby requires JDK 11 or newer') if 'RUBY_BENCHMARKS' in os.environ: import mx_truffleruby_benchmark # pylint: disable=unused-import _suite = mx.suite('truffleruby') root = _suite.dir def add_ext_suffix(name): """ Adds the platform specific C extension suffix to a name """ if mx.is_darwin(): return name + '.bundle'
lib_javavm_cp = '%GRAALVM_HOME%\\lib\\graalvm\\lib-javavm.jar' else: lib_javavm_cp = '${GRAALVM_HOME}/lib/graalvm/lib-javavm.jar' espresso_library_config = mx_sdk_vm.LanguageLibraryConfig( language='java', jar_distributions=['espresso:LIB_JAVAVM'], build_args=[ '-H:-JNIExportSymbols', '-R:+EnableSignalHandling', '-R:+InstallSegfaultHandler', '--features=com.oracle.truffle.espresso.ref.FinalizationFeature', ], ) if mx_sdk_vm.base_jdk_version() not in (11, 17): _espresso_stability = "experimental" elif mx.get_os() != "linux" or mx.get_arch() != "amd64": _espresso_stability = "experimental" else: _espresso_stability = "supported" mx_sdk_vm.register_graalvm_component( mx_sdk_vm.GraalVmLanguage( suite=_suite, name='Java on Truffle', short_name='java', installable_id='espresso', installable=True, license_files=['LICENSE_JAVAONTRUFFLE'], third_party_license_files=[],