jt('test', 'cexts') def verify_ci(args): """Verify CI configuration""" mx.verify_ci(args, mx.suite('truffle'), _suite, 'common.json') mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='TruffleRuby license files', short_name='rbyl', dir_name='ruby', license_files=['LICENSE_TRUFFLERUBY.txt'], third_party_license_files=['3rd_party_licenses_truffleruby.txt'], dependencies=[], truffle_jars=[], support_distributions=[ 'truffleruby:TRUFFLERUBY_GRAALVM_LICENSES', ], priority=5, )) mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='TruffleRuby', short_name='rby', dir_name='ruby', standalone_dir_name='truffleruby-<version>-<graalvm_os>-<arch>', license_files=[],
mx_sdk.register_graalvm_component( mx_sdk.GraalVMSvmMacro( suite=_suite, name='Truffle', short_name='tfl', dir_name='truffle', license_files=[], third_party_license_files=[], support_distributions=['truffle:TRUFFLE_GRAALVM_SUPPORT'])) mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='Truffle NFI', short_name='nfi', dir_name='nfi', license_files=[], third_party_license_files=[], truffle_jars=['truffle:TRUFFLE_NFI'], support_distributions=['truffle:TRUFFLE_NFI_GRAALVM_SUPPORT'])) mx.update_commands( _suite, { 'check-filename-length': [check_filename_length, ""], 'create-dsl-parser': [create_dsl_parser, "create the DSL expression parser using antlr"], 'create-sl-parser': [create_sl_parser, "create the SimpleLanguage parser using antlr"], })
% (active_branch, primary_branch)) return 0 mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='Graal.js', short_name='js', license_files=[], third_party_license_files=[], truffle_jars=[ 'graal-js:GRAALJS', 'graal-js:ICU4J', 'mx:ASM_DEBUG_ALL', ], support_distributions=[ 'graal-js:GRAALJS_GRAALVM_SUPPORT', 'graal-js:ICU4J-DIST' ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/<exe:js>', jar_distributions=['graal-js:GRAALJS_LAUNCHER'], main_class='com.oracle.truffle.js.shell.JSLauncher', build_args=['--language:js']) ], boot_jars=['graal-js:GRAALJS_SCRIPTENGINE'])) mx.update_commands( _suite, { 'deploy-binary-if-master': [deploy_binary_if_master, ''], 'js': [js, '[JS args|VM options]'],
"LICENSE_FASTR" : "file:LICENSE", "3rd_party_licenses_fastr.txt" : "file:3rd_party_licenses.txt", "README_FASTR": "extracted-dependency:fastr:FASTR_GRAALVM_RELEASE{rffi}/README.md".format(rffi=rffi), "bin/Rscript": "file:com.oracle.truffle.r.release/src/Rscript_legacy", "bin/exec/R": "file:com.oracle.truffle.r.release/src/R_legacy", "native-image.properties": "file:mx.fastr/native-image.properties", "legacy/": "dependency:fastr:FASTR_LEGACY_LAUNCHER", }, path=None, platformDependent=True, theLicense=None ) fastr_graalvm_release_support.description = "FastR support distribution for the GraalVM" register_distribution(fastr_graalvm_release_support) mx_sdk.register_graalvm_component(mx_sdk.GraalVmLanguage( suite=_fastr_suite, name='FastR', short_name='R', license_files=['LICENSE_FASTR'], third_party_license_files=['3rd_party_licenses_fastr.txt'], truffle_jars=['fastr:FASTR'], support_distributions=['fastr:FASTR_GRAALVM_SUPPORT'], provided_executables=[ 'bin/Rscript', 'bin/R', ], include_in_polyglot=False, ))
mx_sdk.GraalVmLanguage( suite=_suite, name='TruffleRuby', short_name='rby', dir_name='ruby', standalone_dir_name='truffleruby-<version>-<graalvm_os>-<arch>', license_files=['LICENSE_TRUFFLERUBY.md'], third_party_license_files=['3rd_party_licenses_truffleruby.txt'], truffle_jars=[ 'truffleruby:TRUFFLERUBY', 'truffleruby:TRUFFLERUBY-SHARED', 'truffleruby:TRUFFLERUBY-ANNOTATIONS' ], boot_jars=['truffleruby:TRUFFLERUBY-SERVICES'], support_distributions=[ 'truffleruby:TRUFFLERUBY_GRAALVM_SUPPORT', ], provided_executables=[ 'bin/bundle', 'bin/bundler', 'bin/gem', 'bin/irb', 'bin/rake', 'bin/rdoc', 'bin/ri', ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/<exe:truffleruby>', jar_distributions=['truffleruby:TRUFFLERUBY-LAUNCHER'], main_class='org.truffleruby.launcher.RubyLauncher', build_args=[ '--language:llvm', '--language:ruby', ], links=['bin/<exe:ruby>'], ) ], post_install_msg=""" IMPORTANT NOTE: --------------- The Ruby openssl C extension needs to be recompiled on your system to work with the installed libssl. First, make sure TruffleRuby's dependencies are installed, which are described at: https://github.com/oracle/truffleruby/blob/master/README.md#dependencies Then run the following command: ${graalvm_home}/jre/languages/ruby/lib/truffle/post_install_hook.sh""", ))
import mx import mx_sdk from mx_unittest import unittest from mx_gate import Task, add_gate_runner _suite = mx.suite('regex') def _tregex_tests_gate_runner(args, tasks): with Task('UnitTests', tasks, tags=['default', 'all']) as t: if t: unittest([ '--enable-timing', '--very-verbose', 'com.oracle.truffle.regex' ]) mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='TRegex', short_name='rgx', dir_name='regex', license_files=[], third_party_license_files=[], dependencies=['Truffle'], truffle_jars=['regex:TREGEX'], support_distributions=['regex:TREGEX_GRAALVM_SUPPORT'], )) add_gate_runner(_suite, _tregex_tests_gate_runner)
mx_sdk.register_graalvm_component(mx_sdk.GraalVmLanguage( suite=_suite, name='Graal.js', short_name='js', standalone_dir_name='graaljs-<version>-<graalvm_os>-<arch>', standalone_dependencies={ 'GraalVM license files': ('', ['GRAALVM-README.md']), }, license_files=['LICENSE_GRAALJS.txt'], third_party_license_files=['THIRD_PARTY_LICENSE_GRAALJS.txt'], dependencies=[ 'Truffle', 'TRegex', 'ICU4J', ], truffle_jars=[ 'graal-js:GRAALJS', ], support_distributions=[ 'graal-js:GRAALJS_GRAALVM_SUPPORT', ], library_configs=[ mx_sdk.LanguageLibraryConfig( launchers=['bin/<exe:js>'], jar_distributions=['graal-js:GRAALJS_LAUNCHER'], main_class='com.oracle.truffle.js.shell.JSLauncher', build_args=['-H:+TruffleCheckBlockListMethods'], build_args_enterprise=[ '-H:+AuxiliaryEngineCache', '-H:ReservedAuxiliaryImageBytes=2145482548', ] if not mx.is_windows() else [], language='js', ) ], boot_jars=['graal-js:GRAALJS_SCRIPTENGINE'], installable=True, stability="supported", ))
mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='TruffleSqueak', short_name='st', dir_name=LANGUAGE_ID, license_files=[], # already included in `TRUFFLESQUEAK_GRAALVM_SUPPORT`. third_party_license_files=[], truffle_jars=[ 'trufflesqueak:TRUFFLESQUEAK', 'trufflesqueak:TRUFFLESQUEAK_SHARED', ], support_distributions=[ 'trufflesqueak:TRUFFLESQUEAK_GRAALVM_SUPPORT', ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( language=LANGUAGE_ID, destination='bin/<exe:trufflesqueak>', jar_distributions=['trufflesqueak:TRUFFLESQUEAK_LAUNCHER'], main_class='%s.launcher.TruffleSqueakLauncher' % PACKAGE_NAME, extra_jvm_args=BASE_VM_ARGS, build_args=[ # '--pgo-instrument', # (uncomment to enable profiling) # '--pgo', # (uncomment to recompile with profiling info) ], ) ], post_install_msg=None, ))
}, suite=_suite) mx_sdk.register_graalvm_component(mx_sdk.GraalVmLanguage( suite=_suite, name='Sulong', short_name='slg', dir_name='llvm', license_files=[], third_party_license_files=[], dependencies=['Truffle', 'Truffle NFI', 'LLVM.org toolchain'], truffle_jars=['sulong:SULONG', 'sulong:SULONG_API'], support_distributions=[ 'sulong:SULONG_HOME', 'sulong:SULONG_GRAALVM_DOCS', ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/<exe:lli>', jar_distributions=['sulong:SULONG_LAUNCHER'], main_class='com.oracle.truffle.llvm.launcher.LLVMLauncher', build_args=[], language='llvm', ), ] + _suite.toolchain.get_launcher_configs() )) mx_sdk.register_graalvm_component(mx_sdk.GraalVmJreComponent( suite=_suite, name='LLVM.org toolchain',
mx_sdk.GraalVmLanguage( suite=_suite, name='Graal.js', short_name='js', license_files=[], third_party_license_files=[], dependencies=['Truffle', 'TRegex'], truffle_jars=[ 'graal-js:GRAALJS', 'graal-js:ICU4J', 'graal-js:ASM-7.1', 'graal-js:ASM_TREE-7.1', 'graal-js:ASM_ANALYSIS-7.1', 'graal-js:ASM_COMMONS-7.1', 'graal-js:ASM_UTIL-7.1', ], support_distributions=[ 'graal-js:GRAALJS_GRAALVM_SUPPORT', ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/<exe:js>', jar_distributions=['graal-js:GRAALJS_LAUNCHER'], main_class='com.oracle.truffle.js.shell.JSLauncher', build_args=[], language='js', ) ], boot_jars=['graal-js:GRAALJS_SCRIPTENGINE'], installable=False, ))
mx_unittest.add_config_participant(_unittest_config_participant) mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='trufflex86', short_name='vmx86', dir_name='amd64', license_files=[], third_party_license_files=[], truffle_jars=[ 'trufflex86:VM', 'trufflex86:VM_MEMORY_SVM', 'trufflex86:CORE', 'trufflex86:POSIX' ], support_distributions=['trufflex86:VMX86_GRAALVM_SUPPORT'], polyglot_lib_build_args=[ '-H:CLibraryPath=<path:VMX86_GRAALVM_SUPPORT>/clibraries/<os>-<arch>' ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/<exe:vmx86>', jar_distributions=['trufflex86:VMX86_LAUNCHER'], main_class='org.graalvm.vm.x86.launcher.AMD64Launcher', build_args=[ '-H:CLibraryPath=<path:VMX86_GRAALVM_SUPPORT>/clibraries/<os>-<arch>' ], language='amd64') ], )) mx.update_commands( _suite, {
mx_sdk.GraalVmLanguage( suite=_suite, name='Graal.nodejs', short_name='njs', dir_name='nodejs', license_files=['LICENSE_GRAALNODEJS.txt'], third_party_license_files=['THIRD_PARTY_LICENSE_GRAALNODEJS.txt'], dependencies=['Graal.js'], truffle_jars=['graal-nodejs:TRUFFLENODE'], support_distributions=['graal-nodejs:TRUFFLENODE_GRAALVM_SUPPORT'], provided_executables=[ 'bin/<exe:node>', 'bin/<cmd:npm>', 'bin/<cmd:npx>', ], polyglot_lib_build_args=['--language:nodejs'], polyglot_lib_jar_dependencies=['graal-nodejs:TRUFFLENODE'], library_configs=[ mx_sdk_vm.LibraryConfig( destination='lib/<lib:graal-nodejs>', jar_distributions=['graal-nodejs:TRUFFLENODE'], build_args=[ '--tool:all', '--language:nodejs', '-Dgraalvm.libpolyglot=true', # `lib:graal-nodejs` should be initialized like `lib:polyglot` (GR-10038) ], home_finder=True, ), ], has_polyglot_lib_entrypoints=True, installable=True, stability="supported", ))
suite=_suite, name='Truffle Macro', short_name='tflm', dir_name='truffle', license_files=[], third_party_license_files=[], dependencies=['Truffle'], support_distributions=['truffle:TRUFFLE_GRAALVM_SUPPORT'] )) mx_sdk.register_graalvm_component(mx_sdk.GraalVmLanguage( suite=_suite, name='Truffle NFI', short_name='nfi', dir_name='nfi', license_files=[], third_party_license_files=[], dependencies=['Truffle'], truffle_jars=['truffle:TRUFFLE_NFI'], support_distributions=['truffle:TRUFFLE_NFI_GRAALVM_SUPPORT'], support_headers_distributions=['truffle:TRUFFLE_NFI_GRAALVM_HEADERS_SUPPORT'] )) mx.update_commands(_suite, { 'check-filename-length' : [check_filename_length, ""], 'create-dsl-parser' : [create_dsl_parser, "create the DSL expression parser using antlr"], 'create-sl-parser' : [create_sl_parser, "create the SimpleLanguage parser using antlr"], })
mx_sdk.GraalVmLanguage( suite=_fastr_suite, name='FastR', short_name='R', license_files=['LICENSE_FASTR'], third_party_license_files=['3rd_party_licenses_fastr.txt'], dependencies=['Truffle', 'LLVM Runtime Native', 'LLVM.org toolchain'], truffle_jars=['fastr:FASTR'], support_distributions=['fastr:FASTR_GRAALVM_SUPPORT'], provided_executables=[ 'bin/Rscript', 'bin/R', ], include_in_polyglot=False, launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/RMain', jar_distributions=['fastr:FASTR_LAUNCHER'], main_class='com.oracle.truffle.r.launcher.RMain', build_args=[], language='R', is_main_launcher=False, default_symlinks=False, ) ], stability="experimental", post_install_msg="NOTES:\n---------------\n" + "FastR should work out of the box on most Linux distributions and recent MacOS versions. " + "Run the following script to check FastR requirements and create a personal R packages library directory: \n" + " ${graalvm_languages_dir}/R/bin/configure_fastr\n\n" + "The R component comes without native image by default. If you wish to build the native image, " + "which provides faster startup, but slightly slower peak performance, then run the following:\n" + " gu rebuild-images R\n\n" + "The native image is then used by default. Pass '--jvm' flag to the R or Rscript launcher to " + "use JVM instead of the native image. Note that the native image is not stable yet and is intended for evaluation " + "and experiments for curious users. Some features may not work in the native image mode. " + "Most notably, the --polyglot switch works only in JVM mode (when --jvm is used).\n\n" + "See http://www.graalvm.org/docs/reference-manual/languages/r for more." ))
mx_sdk.GraalVmLanguage( suite=_suite, name='TruffleSqueak', short_name='st', dir_name=LANGUAGE_ID, license_files=[], # already included in `TRUFFLESQUEAK_HOME`. third_party_license_files=[], dependencies=['Truffle'], truffle_jars=[ 'trufflesqueak:TRUFFLESQUEAK', 'trufflesqueak:TRUFFLESQUEAK_SHARED', ], support_distributions=[ 'trufflesqueak:TRUFFLESQUEAK_HOME', ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( language=LANGUAGE_ID, destination='bin/<exe:trufflesqueak>', jar_distributions=['trufflesqueak:TRUFFLESQUEAK_LAUNCHER'], main_class='%s.launcher.TruffleSqueakLauncher' % PACKAGE_NAME, extra_jvm_args=BASE_VM_ARGS, build_args=[ # '--pgo-instrument', # (uncomment to enable profiling) # '--pgo', # (uncomment to recompile with profiling info) ], ) ], post_install_msg= (None if not _svm else "\nNOTES:\n---------------\n" + "TruffleSqueak (SVM) requires SDL2 to be installed on your system:\n" + "- On Debian/Ubuntu, you can install SDL2 via `sudo apt-get install libsdl2-2.0`.\n" + "- On macOS, you can install SDL2 with Homebrew: `brew install sdl2`.\n\n" + "The pre-compiled native image is used by default and does not include other languages. " + "Run TruffleSqueak in JVM mode (via `trufflesqueak --jvm`) for polyglot access." ), ))
def mx_post_parse_cmd_line(args): mx_graal_nodejs_benchmark.register_nodejs_vms() mx_sdk.register_graalvm_component(mx_sdk.GraalVmLanguage( suite=_suite, name='Graal.nodejs', short_name='njs', dir_name='js', license_files=[], third_party_license_files=[], truffle_jars=['graal-nodejs:TRUFFLENODE'], support_distributions=['graal-nodejs:TRUFFLENODE_GRAALVM_SUPPORT'], provided_executables=[ join('bin', 'node'), join('bin', 'npm'), ], polyglot_lib_build_args=[ "-H:+ReportExceptionStackTraces", "-H:JNIConfigurationResources=svmnodejs.jniconfig,svmnodejs_jdkspecific.jniconfig", "-H:ReflectionConfigurationResources=svmnodejs.reflectconfig", ], polyglot_lib_jar_dependencies=[ "graal-nodejs:TRUFFLENODE" ], has_polyglot_lib_entrypoints=True, installable=False, )) mx.update_commands(_suite, { 'node' : [node, ''],
mx_sdk.GraalVmLanguage( suite=_fastr_suite, name='FastR', short_name='R', license_files=['LICENSE_FASTR'], third_party_license_files=['3rd_party_licenses_fastr.txt'], truffle_jars=['fastr:FASTR'], support_distributions=['fastr:FASTR_GRAALVM_SUPPORT'], provided_executables=[ 'bin/Rscript', 'bin/R', ], include_in_polyglot=False, post_install_msg="NOTES:\n---------------\n" + "Some R packages need a system-dependent configuration before they can be installed. " + "A generic configuration that works out of the box in most cases is provided by default. " + "If you wish to fine-tune the configuration to your system or should you encounter any " + "issues during R package installation, try running the following script that adjusts " + "the configuration to your system: \n" + " ${graalvm_home}/jre/languages/R/bin/configure_fastr\n\n" + "The R component comes without native image by default. If you wish to build the native image, " + "which provides faster startup, but slightly slower peak performance, then run the following:\n" + " ${graalvm_home}/jre/languages/R/bin/install_r_native_image\n\n" + "The native image is then used by default. Pass '--jvm' flag to the R or Rscript launcher to " + "use JVM instead of the native image. Note that the native image is not stable yet and is intended for evaluation " + "purposes and experiments. Some features may not work when the native image is installed, most notably the --polyglot switch. " + "The native image can be uninstalled using the installation script with 'uninstall' argument.\n\n" + "See http://www.graalvm.org/docs/reference-manual/languages/r for more." ))
# register as a GraalVM language # # ---------------------------------------------------------------------------------------------------------------------- mx_sdk.register_graalvm_component(mx_sdk.GraalVmLanguage( suite=_suite, name='Graal.Python', short_name='pyn', dir_name='python', license_files=['LICENSE_GRAALPYTHON'], third_party_license_files=['3rd_party_licenses_graalpython.txt'], truffle_jars=[ 'graalpython:GRAALPYTHON', ], support_distributions=[ 'graalpython:GRAALPYTHON_GRAALVM_SUPPORT', 'graalpython:GRAALPYTHON_GRAALVM_DOCS', ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/<exe:graalpython>', jar_distributions=['graalpython:GRAALPYTHON-LAUNCHER'], main_class='com.oracle.graal.python.shell.GraalPythonMain', build_args=[ '--language:python', '--language:llvm', ] ) ], )) # ----------------------------------------------------------------------------------------------------------------------
# # ---------------------------------------------------------------------------------------------------------------------- mx_sdk.register_graalvm_component(mx_sdk.GraalVmLanguage( name='Graal.Python', short_name='pyn', dir_name='python', documentation_files=['link:<support>/README_GRAALPYTHON.md'], license_files=['link:<support>/GraalCE_Python_license_3rd_party_license.txt'], third_party_license_files=[], truffle_jars=[ 'dependency:graalpython:GRAALPYTHON', 'dependency:graalpython:GRAALPYTHON-ENV', ], support_distributions=[ 'extracted-dependency:graalpython:GRAALPYTHON_GRAALVM_SUPPORT', 'extracted-dependency:graalpython:GRAALPYTHON_GRAALVM_DOCS', ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/<exe:graalpython>', jar_distributions=['dependency:graalpython:GRAALPYTHON-LAUNCHER'], main_class='com.oracle.graal.python.shell.GraalPythonMain', build_args=[ '--language:python', '--language:llvm', ] ) ], ), _suite)
mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='Graal.js', short_name='js', standalone_dir_name='graaljs-<version>-<graalvm_os>-<arch>', standalone_dependencies={ 'GraalVM license files': ('', ['GRAALVM-README.md']), }, license_files=[], third_party_license_files=[], dependencies=['Truffle', 'TRegex'], truffle_jars=[ 'graal-js:GRAALJS', 'graal-js:ICU4J', ], support_distributions=[ 'graal-js:GRAALJS_GRAALVM_SUPPORT', ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/<exe:js>', jar_distributions=['graal-js:GRAALJS_LAUNCHER'], main_class='com.oracle.truffle.js.shell.JSLauncher', build_args=['-H:+TruffleCheckBlackListedMethods'], language='js', ) ], boot_jars=['graal-js:GRAALJS_SCRIPTENGINE'], ))
def mx_post_parse_cmd_line(args): mx_graal_nodejs_benchmark.register_nodejs_vms() mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='Graal.nodejs', short_name='njs', dir_name='js', license_files=[], third_party_license_files=[], truffle_jars=['graal-nodejs:TRUFFLENODE'], support_distributions=['graal-nodejs:TRUFFLENODE_GRAALVM_SUPPORT'], provided_executables=[ join('bin', 'node'), join('bin', 'npm'), ], polyglot_lib_build_args=[ "-H:JNIConfigurationResources=svmnodejs.jniconfig", ], polyglot_lib_jar_dependencies=["graal-nodejs:TRUFFLENODE"], has_polyglot_lib_entrypoints=True, )) mx.update_commands( _suite, { 'node': [node, ''], 'npm': [npm, ''], 'node-gyp': [node_gyp, ''],
map(str, ci_files)))) mx.verify_ci(args, base_suite, dest_suite, common_file=ci_files) # ---------------------------------------------------------------------------------------------------------------------- # # register as a GraalVM language # # ---------------------------------------------------------------------------------------------------------------------- mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=SUITE, name='Graal.Python license files', short_name='pynl', dir_name='python', license_files=['LICENSE_GRAALPYTHON.txt'], third_party_license_files=['3rd_party_licenses_graalpython.txt'], truffle_jars=[], support_distributions=[ 'graalpython:GRAALPYTHON_GRAALVM_LICENSES', ], priority=5)) mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=SUITE, name='Graal.Python', short_name='pyn', dir_name='python', license_files=[], third_party_license_files=[], truffle_jars=[
mx_sdk.GraalVmLanguage( suite=_fastr_suite, name='FastR', short_name='R', license_files=['LICENSE_FASTR'], third_party_license_files=['3rd_party_licenses_fastr.txt'], dependencies=['Truffle', 'Sulong', 'LLVM.org toolchain'], truffle_jars=['fastr:FASTR'], support_distributions=['fastr:FASTR_GRAALVM_SUPPORT'], provided_executables=[ 'bin/Rscript', 'bin/R', ], include_in_polyglot=False, post_install_msg="NOTES:\n---------------\n" + "FastR needs a system-dependent configuration because it links with some system libraries. " + "A generic configuration that works out of the box on most Linux distributions with GCC and gfortran installed is provided by default. " + "If you are on another system (e.g., MacOS), wish to fine-tune the configuration to your system, or should you encounter any " + "issues when running FastR or during R packages installation, try running the following script that adjusts " + "the configuration to your system: \n" + " ${graalvm_languages_dir}/R/bin/configure_fastr\n\n" + "The user specific library directory was not created automatically. " + "You can either create the directory manually or edit file ${graalvm_languages_dir}/R/etc/Renviron to change it to any desired location. " + "Without the user specific library directory, users will need write permission for the GraalVM home directory in order to install R packages. " + "\n\n" + "The R component comes without native image by default. If you wish to build the native image, " + "which provides faster startup, but slightly slower peak performance, then run the following:\n" + " ${graalvm_languages_dir}/R/bin/install_r_native_image\n\n" + "The native image is then used by default. Pass '--jvm' flag to the R or Rscript launcher to " + "use JVM instead of the native image. Note that the native image is not stable yet and is intended for evaluation " + "purposes and experiments. Some features may not work in the native image mode, most notably some Rcpp based packages. " + "The native image can be uninstalled using the installation script with 'uninstall' argument.\n\n" + "See http://www.graalvm.org/docs/reference-manual/languages/r for more." ))
mx_benchmark.add_bm_suite(mx_sulong_benchmarks.SulongBenchmarkSuite()) mx_sdk.register_graalvm_component( mx_sdk.GraalVmLanguage( suite=_suite, name='Sulong', short_name='slg', dir_name='llvm', license_files=[], third_party_license_files=[], truffle_jars=['sulong:SULONG'], support_distributions=[ 'sulong:SULONG_HOME', 'sulong:SULONG_GRAALVM_DOCS', ], launcher_configs=[ mx_sdk.LanguageLauncherConfig( destination='bin/<exe:lli>', jar_distributions=['sulong:SULONG_LAUNCHER'], main_class='com.oracle.truffle.llvm.launcher.LLVMLauncher', build_args=[], language='llvm', ) ], )) COPYRIGHT_HEADER_BSD = """\ /* * Copyright (c) 2016, 2018, Oracle and/or its affiliates. *
mx_sdk.GraalVmLanguage( suite=_SUITE, name='TruffleSqueak', short_name='st', dir_name=LANGUAGE_ID, license_files=[], # already included in `TRUFFLESQUEAK_HOME`. third_party_license_files=[], dependencies=['Truffle'], truffle_jars=[ 'trufflesqueak:TRUFFLESQUEAK', 'trufflesqueak:TRUFFLESQUEAK_SHARED', ], support_distributions=['trufflesqueak:TRUFFLESQUEAK_HOME'], provided_executables=[ 'bin/<cmd:trufflesqueak>', ], library_configs=[ mx_sdk.LanguageLibraryConfig( language=LANGUAGE_ID, destination='lib/<lib:%svm>' % LANGUAGE_ID, launchers=['bin/<exe:trufflesqueak-launcher>'], jar_distributions=['trufflesqueak:TRUFFLESQUEAK_LAUNCHER'], main_class='%s.launcher.TruffleSqueakLauncher' % PACKAGE_NAME, build_args=[ '-H:+ReportExceptionStackTraces', '-H:+DumpThreadStacksOnSignal', '-H:+DetectUserDirectoriesInImageHeap', '-H:+TruffleCheckBlockListMethods', ] + [] if _SUITE.is_release() else ['-Ob'], # use quick build mode for development ) ], stability="experimental", post_install_msg= (None if not _SVM else "\nTRUFFLESQUEAK NOTE:\n-------------------\n" + "By default, TruffleSqueak runs in JVM mode (`trufflesqueak --jvm ...`). " + "Running it in native mode (`trufflesqueak --native` ...) requires SDL2 to be installed on your system:\n" + "- On Debian/Ubuntu, you can install SDL2 via `sudo apt-get install libsdl2-2.0`.\n" + "- On macOS, you can install SDL2 with Homebrew: `brew install sdl2`." ), ))