| import("//bolt/test/bolt_lit_site_cfg_files.gni") |
| import("//clang-tools-extra/clangd/test/clangd_lit_site_cfg_files.gni") |
| import("//clang-tools-extra/pseudo/test/clang_pseudo_lit_site_cfg_files.gni") |
| import("//clang-tools-extra/test/clang_tools_extra_lit_site_cfg_files.gni") |
| import("//clang/test/clang_lit_site_cfg_files.gni") |
| import("//lld/test/lld_lit_site_cfg_files.gni") |
| import("//lldb/test/lldb_lit_site_cfg_files.gni") |
| import("//llvm/test/llvm_lit_site_cfg_files.gni") |
| import("//llvm/utils/gn/build/write_cmake_config.gni") |
| import("//llvm/utils/llvm-lit/lit_path_function.gni") |
| |
| write_cmake_config("llvm-lit") { |
| input = "llvm-lit.in" |
| output = "$root_out_dir/bin/llvm-lit" |
| |
| if (host_os == "win") { |
| # llvm-lit needs suffix.py for multiprocess to find a main module. |
| output = "${output}.py" |
| } |
| |
| # lit's lit/llvm/config.py shells out to llvm-config. |
| deps = [ "//llvm/tools/llvm-config" ] |
| |
| deps += [ |
| "//clang-tools-extra/clangd/test:lit_site_cfg", |
| "//clang-tools-extra/clangd/test:lit_unit_site_cfg", |
| "//clang-tools-extra/pseudo/test:lit_site_cfg", |
| "//clang-tools-extra/pseudo/test:lit_unit_site_cfg", |
| "//clang-tools-extra/test:lit_site_cfg", |
| "//clang-tools-extra/test:lit_unit_site_cfg", |
| "//clang/test:lit_site_cfg", |
| "//clang/test:lit_unit_site_cfg", |
| "//lld/test:lit_site_cfg", |
| "//lld/test:lit_unit_site_cfg", |
| "//lldb/test:lit_api_site_cfg", |
| "//lldb/test:lit_shell_site_cfg", |
| "//lldb/test:lit_site_cfg", |
| "//lldb/test:lit_unit_site_cfg", |
| "//llvm/test:lit_site_cfg", |
| "//llvm/test:lit_unit_site_cfg", |
| ] |
| |
| entries = [ |
| [ |
| "//bolt/test/lit.cfg.py", |
| bolt_lit_site_cfg_file, |
| ], |
| [ |
| "//bolt/test/Unit/lit.cfg.py", |
| bolt_lit_unit_site_cfg_file, |
| ], |
| [ |
| "//clang-tools-extra/test/lit.cfg.py", |
| clang_tools_extra_lit_site_cfg_file, |
| ], |
| [ |
| "//clang-tools-extra/test/Unit/lit.cfg.py", |
| clang_tools_extra_lit_unit_site_cfg_file, |
| ], |
| [ |
| "//clang-tools-extra/clangd/test/lit.cfg.py", |
| clangd_lit_site_cfg_file, |
| ], |
| [ |
| "//clang-tools-extra/clangd/unittests/lit.cfg.py", |
| clangd_lit_unit_site_cfg_file, |
| ], |
| [ |
| "//clang-tools-extra/pseudo/test/lit.cfg.py", |
| clang_pseudo_lit_site_cfg_file, |
| ], |
| [ |
| "//clang-tools-extra/pseudo/test/Unit/lit.cfg.py", |
| clang_pseudo_lit_unit_site_cfg_file, |
| ], |
| [ |
| "//clang/test/lit.cfg.py", |
| clang_lit_site_cfg_file, |
| ], |
| [ |
| "//clang/test/Unit/lit.cfg.py", |
| clang_lit_unit_site_cfg_file, |
| ], |
| [ |
| "//lld/test/lit.cfg.py", |
| lld_lit_site_cfg_file, |
| ], |
| [ |
| "//lld/test/Unit/lit.cfg.py", |
| lld_lit_unit_site_cfg_file, |
| ], |
| [ |
| "//lldb/test/lit.cfg.py", |
| lldb_lit_site_cfg_file, |
| ], |
| [ |
| "//lldb/test/API/lit.cfg.py", |
| lldb_lit_api_site_cfg_file, |
| ], |
| [ |
| "//lldb/test/Shell/lit.cfg.py", |
| lldb_lit_shell_site_cfg_file, |
| ], |
| [ |
| "//lldb/test/Unit/lit.cfg.py", |
| lldb_lit_unit_site_cfg_file, |
| ], |
| [ |
| "//llvm/test/lit.cfg.py", |
| llvm_lit_site_cfg_file, |
| ], |
| [ |
| "//llvm/test/Unit/lit.cfg.py", |
| llvm_lit_unit_site_cfg_file, |
| ], |
| ] |
| |
| # Generate LLVM_LIT_CONFIG_MAP parameter. |
| # llvm-lit contains a mapping from each lit.cfg.py file to the corresponding |
| # generated llvm.site.cfg.py file, so llvm-lit depends on all the targets to |
| # generate the site.cfg.py file. |
| # Note: \n is converted to a newline by write_cmake_config.py, not by gn. |
| config_map = lit_path_function + "\n" |
| dir = get_path_info(output, "dir") |
| foreach(entry, entries) { |
| config_map += "\nmap_config(\n path(r'" + rebase_path(entry[0], dir) + |
| "'),\n path(r'" + rebase_path(entry[1], dir) + "'))" |
| } |
| |
| values = [ |
| "LLVM_SOURCE_DIR=" + rebase_path("//llvm", dir), |
| "Python3_EXECUTABLE=/usr/bin/env $python_path", |
| "BUILD_MODE=.", |
| "LLVM_LIT_CONFIG_MAP=" + config_map, |
| ] |
| } |