Ericson2314 created this revision. Ericson2314 added a reviewer: sebastian-ne. Herald added a subscriber: mgorny. Herald added a project: All. Ericson2314 requested review of this revision. Herald added subscribers: llvm-commits, lldb-commits, cfe-commits, MaskRay. Herald added projects: clang, LLDB, LLVM.
Use this instead of `*_LIBDIR_SUFFIX`, from which it is computed. This gets us ready for D130586 <https://reviews.llvm.org/D130586>, in which `*_LIBDIR_SUFFIX` is deprecated. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D132300 Files: clang/CMakeLists.txt clang/include/clang/Config/config.h.cmake clang/lib/Driver/Driver.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Cuda.cpp lldb/cmake/modules/LLDBGenerateConfig.cmake lldb/include/lldb/Host/Config.h.cmake lldb/source/Host/linux/HostInfoLinux.cpp lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp lldb/unittests/Expression/ClangParserTest.cpp llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h
Index: utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h =================================================================== --- utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h +++ utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h @@ -67,8 +67,8 @@ /* Default architecture for SystemZ. */ #define CLANG_SYSTEMZ_DEFAULT_ARCH "z10" -/* Multilib suffix for libdir. */ -#define CLANG_LIBDIR_SUFFIX "" +/* Multilib basename for libdir. */ +#define CLANG_INSTALL_LIBDIR_BASENAME "lib" /* Relative directory for resource files */ #define CLANG_RESOURCE_DIR "" Index: llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn =================================================================== --- llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn +++ llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn @@ -21,6 +21,7 @@ "LLDB_ENABLE_PYTHON=", "LLDB_ENABLE_FBSDVMCORE=", "LLDB_EMBED_PYTHON_HOME=", + "LLDB_INSTALL_LIBDIR_BASENAME=lib", "LLDB_GLOBAL_INIT_DIRECTORY=", "LLDB_PYTHON_HOME=", Index: llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn =================================================================== --- llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn +++ llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn @@ -18,6 +18,7 @@ "CLANG_DEFAULT_OBJCOPY=objcopy", "CLANG_DEFAULT_OPENMP_RUNTIME=libomp", "CLANG_DEFAULT_UNWINDLIB=", + "CLANG_INSTALL_LIBDIR_BASENAME=lib", "CLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_35", "CLANG_LIBDIR_SUFFIX=", "CLANG_RESOURCE_DIR=", Index: lldb/unittests/Expression/ClangParserTest.cpp =================================================================== --- lldb/unittests/Expression/ClangParserTest.cpp +++ lldb/unittests/Expression/ClangParserTest.cpp @@ -37,7 +37,8 @@ TEST_F(ClangHostTest, ComputeClangResourceDirectory) { #if !defined(_WIN32) std::string path_to_liblldb = "/foo/bar/lib/"; - std::string path_to_clang_dir = "/foo/bar/lib" LLDB_LIBDIR_SUFFIX "/clang/" CLANG_VERSION_STRING; + std::string path_to_clang_dir = + "/foo/bar/" LLDB_INSTALL_LIBDIR_BASENAME "/clang/" CLANG_VERSION_STRING; #else std::string path_to_liblldb = "C:\\foo\\bar\\lib"; std::string path_to_clang_dir = "C:\\foo\\bar\\lib\\clang\\" CLANG_VERSION_STRING; Index: lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp =================================================================== --- lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp +++ lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp @@ -55,11 +55,11 @@ static const llvm::StringRef kResourceDirSuffixes[] = { // LLVM.org's build of LLDB uses the clang resource directory placed // in $install_dir/lib{,64}/clang/$clang_version. - "lib" CLANG_LIBDIR_SUFFIX "/clang/" CLANG_VERSION_STRING, + CLANG_INSTALL_LIBDIR_BASENAME "/clang/" CLANG_VERSION_STRING, // swift-lldb uses the clang resource directory copied from swift, which // by default is placed in $install_dir/lib{,64}/lldb/clang. LLDB places - // it there, so we use LLDB_LIBDIR_SUFFIX. - "lib" LLDB_LIBDIR_SUFFIX "/lldb/clang", + // it there, so we use LLDB_INSTALL_LIBDIR_BASENAME. + LLDB_INSTALL_LIBDIR_BASENAME "/lldb/clang", }; for (const auto &Suffix : kResourceDirSuffixes) { Index: lldb/source/Host/linux/HostInfoLinux.cpp =================================================================== --- lldb/source/Host/linux/HostInfoLinux.cpp +++ lldb/source/Host/linux/HostInfoLinux.cpp @@ -175,7 +175,7 @@ } bool HostInfoLinux::ComputeSystemPluginsDirectory(FileSpec &file_spec) { - FileSpec temp_file("/usr/lib" LLDB_LIBDIR_SUFFIX "/lldb/plugins"); + FileSpec temp_file("/usr/" LLDB_INSTALL_LIBDIR_BASENAME "/lldb/plugins"); FileSystem::Instance().Resolve(temp_file); file_spec.SetDirectory(temp_file.GetPath()); return true; Index: lldb/include/lldb/Host/Config.h.cmake =================================================================== --- lldb/include/lldb/Host/Config.h.cmake +++ lldb/include/lldb/Host/Config.h.cmake @@ -51,7 +51,7 @@ #cmakedefine LLDB_PYTHON_HOME R"(${LLDB_PYTHON_HOME})" -#define LLDB_LIBDIR_SUFFIX "${LLVM_LIBDIR_SUFFIX}" +#define LLDB_INSTALL_LIBDIR_BASENAME "${LLDB_INSTALL_LIBDIR_BASENAME}" #cmakedefine LLDB_GLOBAL_INIT_DIRECTORY R"(${LLDB_GLOBAL_INIT_DIRECTORY})" Index: lldb/cmake/modules/LLDBGenerateConfig.cmake =================================================================== --- lldb/cmake/modules/LLDBGenerateConfig.cmake +++ lldb/cmake/modules/LLDBGenerateConfig.cmake @@ -19,6 +19,8 @@ check_library_exists(compression compression_encode_buffer "" HAVE_LIBCOMPRESSION) +set(LLDB_INSTALL_LIBDIR_BASENAME "lib${LLDB_LIBDIR_SUFFIX}") + # These checks exist in LLVM's configuration, so I want to match the LLVM names # so that the check isn't duplicated, but we translate them into the LLDB names # so that I don't have to change all the uses at the moment. Index: clang/lib/Driver/ToolChains/Cuda.cpp =================================================================== --- clang/lib/Driver/ToolChains/Cuda.cpp +++ clang/lib/Driver/ToolChains/Cuda.cpp @@ -592,7 +592,7 @@ // Add paths for the default clang library path. SmallString<256> DefaultLibPath = llvm::sys::path::parent_path(TC.getDriver().Dir); - llvm::sys::path::append(DefaultLibPath, "lib" CLANG_LIBDIR_SUFFIX); + llvm::sys::path::append(DefaultLibPath, CLANG_INSTALL_LIBDIR_BASENAME); CmdArgs.push_back(Args.MakeArgString(Twine("-L") + DefaultLibPath)); for (const auto &II : Inputs) { Index: clang/lib/Driver/ToolChains/CommonArgs.cpp =================================================================== --- clang/lib/Driver/ToolChains/CommonArgs.cpp +++ clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -502,7 +502,8 @@ SmallString<1024> Plugin; llvm::sys::path::native( - Twine(D.Dir) + "/../lib" CLANG_LIBDIR_SUFFIX "/LLVMgold" + Suffix, + Twine(D.Dir) + "/../" CLANG_INSTALL_LIBDIR_BASENAME "/LLVMgold" + + Suffix, Plugin); CmdArgs.push_back(Args.MakeArgString(Plugin)); } @@ -658,7 +659,7 @@ // runtime SmallString<256> DefaultLibPath = llvm::sys::path::parent_path(TC.getDriver().Dir); - llvm::sys::path::append(DefaultLibPath, Twine("lib") + CLANG_LIBDIR_SUFFIX); + llvm::sys::path::append(DefaultLibPath, CLANG_INSTALL_LIBDIR_BASENAME); CmdArgs.push_back("-rpath"); CmdArgs.push_back(Args.MakeArgString(DefaultLibPath)); } @@ -671,7 +672,7 @@ // runtime. SmallString<256> DefaultLibPath = llvm::sys::path::parent_path(TC.getDriver().Dir); - llvm::sys::path::append(DefaultLibPath, Twine("lib") + CLANG_LIBDIR_SUFFIX); + llvm::sys::path::append(DefaultLibPath, CLANG_INSTALL_LIBDIR_BASENAME); CmdArgs.push_back(Args.MakeArgString("-L" + DefaultLibPath)); } @@ -1947,7 +1948,7 @@ // Add path to lib-debug folders SmallString<256> DefaultLibPath = llvm::sys::path::parent_path(D.Dir); - llvm::sys::path::append(DefaultLibPath, Twine("lib") + CLANG_LIBDIR_SUFFIX); + llvm::sys::path::append(DefaultLibPath, CLANG_INSTALL_LIBDIR_BASENAME); LibraryPaths.emplace_back(DefaultLibPath.c_str()); // Build list of Static Device Libraries SDLs specified by -l option @@ -2076,7 +2077,7 @@ // Add path to clang lib / lib64 folder. SmallString<256> DefaultLibPath = llvm::sys::path::parent_path(D.Dir); - llvm::sys::path::append(DefaultLibPath, Twine("lib") + CLANG_LIBDIR_SUFFIX); + llvm::sys::path::append(DefaultLibPath, CLANG_INSTALL_LIBDIR_BASENAME); LibraryPaths.emplace_back(DefaultLibPath.c_str()); // Add user defined library paths from LIBRARY_PATH. Index: clang/lib/Driver/Driver.cpp =================================================================== --- clang/lib/Driver/Driver.cpp +++ clang/lib/Driver/Driver.cpp @@ -180,7 +180,7 @@ // path of the embedding binary, which for LLVM binaries will be in bin/. // ../lib gets us to lib/ in both cases. P = llvm::sys::path::parent_path(Dir); - llvm::sys::path::append(P, Twine("lib") + CLANG_LIBDIR_SUFFIX, "clang", + llvm::sys::path::append(P, CLANG_INSTALL_LIBDIR_BASENAME, "clang", CLANG_VERSION_STRING); } Index: clang/include/clang/Config/config.h.cmake =================================================================== --- clang/include/clang/Config/config.h.cmake +++ clang/include/clang/Config/config.h.cmake @@ -53,8 +53,8 @@ /* Default architecture for SystemZ. */ #define CLANG_SYSTEMZ_DEFAULT_ARCH "${CLANG_SYSTEMZ_DEFAULT_ARCH}" -/* Multilib suffix for libdir. */ -#define CLANG_LIBDIR_SUFFIX "${CLANG_LIBDIR_SUFFIX}" +/* Multilib basename for libdir. */ +#define CLANG_INSTALL_LIBDIR_BASENAME "${CLANG_INSTALL_LIBDIR_BASENAME}" /* Relative directory for resource files */ #define CLANG_RESOURCE_DIR "${CLANG_RESOURCE_DIR}" Index: clang/CMakeLists.txt =================================================================== --- clang/CMakeLists.txt +++ clang/CMakeLists.txt @@ -871,6 +871,8 @@ process_llvm_pass_plugins() endif() +set(CLANG_INSTALL_LIBDIR_BASENAME "lib${CLANG_LIBDIR_SUFFIX}") + configure_file( ${CLANG_SOURCE_DIR}/include/clang/Config/config.h.cmake ${CLANG_BINARY_DIR}/include/clang/Config/config.h)
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits