diff --git a/cross-project-tests/CMakeLists.txt b/cross-project-tests/CMakeLists.txt --- a/cross-project-tests/CMakeLists.txt +++ b/cross-project-tests/CMakeLists.txt @@ -52,7 +52,7 @@ endif() # The Windows builder scripts pass -fuse-ld=lld. -if (WIN32) +if (WIN32 OR "lld" IN_LIST LLVM_ENABLE_PROJECTS) list(APPEND CROSS_PROJECT_TEST_DEPS lld) endif() diff --git a/cross-project-tests/lit.cfg.py b/cross-project-tests/lit.cfg.py --- a/cross-project-tests/lit.cfg.py +++ b/cross-project-tests/lit.cfg.py @@ -67,11 +67,14 @@ tools.append(ToolSubst('%cdb', '"%s"' % os.path.join(win_sdk, 'Debuggers', arch, 'cdb.exe'))) -# clang_src_dir is not used by these tests, but is required by -# use_clang(), so set it to "". +# clang_src_dir and lld_src_dir are not used by these tests, but are required by +# use_clang() and use_lld() respectively, so set them to "", if needed. if not hasattr(config, 'clang_src_dir'): config.clang_src_dir = "" llvm_config.use_clang() +if not hasattr(config, 'lld_src_dir'): + config.lld_src_dir = "" +llvm_config.use_lld(required=('lld' in config.llvm_enabled_projects)) if config.llvm_use_sanitizer: # Propagate path to symbolizer for ASan/MSan. diff --git a/cross-project-tests/lit.site.cfg.py.in b/cross-project-tests/lit.site.cfg.py.in --- a/cross-project-tests/lit.site.cfg.py.in +++ b/cross-project-tests/lit.site.cfg.py.in @@ -15,6 +15,7 @@ config.host_triple = "@LLVM_HOST_TRIPLE@" config.target_triple = "@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@"