| @LIT_SITE_CFG_IN_HEADER@ |
| |
| import shutil, sys, os, uuid |
| import lit.util |
| from pathlib import Path |
| |
| config.targets_to_build = "@TARGETS_TO_BUILD@".split() |
| config.llvm_src_root = "@LLVM_SOURCE_DIR@" |
| config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@") |
| config.llvm_libs_dir = "@LLVM_LIBS_DIR@" |
| config.llvm_shlib_dir = lit_config.substitute("@SHLIBDIR@") |
| config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@" |
| config.llvm_plugin_ext = "@LLVM_PLUGIN_EXT@" |
| config.cross_project_tests_obj_root = "@CROSS_PROJECT_TESTS_BINARY_DIR@" |
| config.cross_project_tests_src_root = "@CROSS_PROJECT_TESTS_SOURCE_DIR@" |
| config.host_triple = "@LLVM_HOST_TRIPLE@" |
| config.target_triple = "@LLVM_TARGET_TRIPLE@" |
| config.is_msvc = lit.util.pythonize_bool("@MSVC@") |
| config.llvm_enabled_projects = "@LLVM_ENABLE_PROJECTS@".split(";") |
| |
| config.mlir_src_root = "@MLIR_SOURCE_DIR@" |
| |
| config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@" |
| |
| import lit.llvm |
| |
| lit.llvm.initialize(lit_config, config) |
| |
| # Let the main config do the real work. |
| lit_config.load_config(config, "@CROSS_PROJECT_TESTS_SOURCE_DIR@/lit.cfg.py") |
| |
| def are_short_names_enabled(path): |
| d = Path(path) / str(uuid.uuid4()) / "verylongdir" |
| d.mkdir(parents=True) |
| try: |
| return (d.parent / "verylo~1").exists() |
| finally: |
| shutil.rmtree(d.parent) |
| |
| if os.name == "nt" and are_short_names_enabled(config.environment.get("TEMP")): |
| config.available_features.add("tempshortpaths") |