Esempio n. 1
0
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))
Esempio n. 2
0
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',
Esempio n. 3
0
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'
Esempio n. 4
0
    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=[],