diff --git a/0001-lldb-cmake-Support-linking-against-clang-cpp-dylib.patch b/0001-lldb-cmake-Support-linking-against-clang-cpp-dylib.patch new file mode 100644 index 0000000..31e8548 --- /dev/null +++ b/0001-lldb-cmake-Support-linking-against-clang-cpp-dylib.patch @@ -0,0 +1,321 @@ +From 8f442727f2e8d6d426ae9cef42434ef538d1ed13 Mon Sep 17 00:00:00 2001 +From: Michal Gorny +Date: Fri, 4 Oct 2019 12:03:03 +0000 +Subject: [PATCH] [lldb] [cmake] Support linking against clang-cpp dylib + +Link against clang-cpp dylib rather than split libs when +CLANG_LINK_CLANG_DYLIB is enabled. + +Differential Revision: https://reviews.llvm.org/D68456 + +llvm-svn: 373734 +--- + lldb/cmake/modules/AddLLDB.cmake | 15 +++++++++++++-- + lldb/source/Core/CMakeLists.txt | 4 +++- + .../Plugins/ExpressionParser/Clang/CMakeLists.txt | 19 ++++++++++--------- + lldb/source/Plugins/Language/ObjC/CMakeLists.txt | 3 ++- + .../ObjC/AppleObjCRuntime/CMakeLists.txt | 3 ++- + .../RenderScript/RenderScriptRuntime/CMakeLists.txt | 3 ++- + lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt | 3 ++- + lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt | 5 +++-- + .../Plugins/SymbolFile/NativePDB/CMakeLists.txt | 5 +++-- + lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt | 7 ++++--- + lldb/source/Symbol/CMakeLists.txt | 8 +++++--- + lldb/tools/lldb-instr/CMakeLists.txt | 2 +- + 12 files changed, 50 insertions(+), 27 deletions(-) + +diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake +index 4c99278..35a8097 100644 +--- a/lldb/cmake/modules/AddLLDB.cmake ++++ b/lldb/cmake/modules/AddLLDB.cmake +@@ -37,7 +37,7 @@ function(add_lldb_library name) + cmake_parse_arguments(PARAM + "MODULE;SHARED;STATIC;OBJECT;PLUGIN" + "INSTALL_PREFIX;ENTITLEMENTS" +- "EXTRA_CXXFLAGS;DEPENDS;LINK_LIBS;LINK_COMPONENTS" ++ "EXTRA_CXXFLAGS;DEPENDS;LINK_LIBS;LINK_COMPONENTS;CLANG_LIBS" + ${ARGN}) + llvm_process_sources(srcs ${PARAM_UNPARSED_ARGUMENTS}) + list(APPEND LLVM_LINK_COMPONENTS ${PARAM_LINK_COMPONENTS}) +@@ -91,6 +91,12 @@ function(add_lldb_library name) + ${pass_ENTITLEMENTS} + ${pass_NO_INSTALL_RPATH} + ) ++ ++ if(CLANG_LINK_CLANG_DYLIB) ++ target_link_libraries(${name} PRIVATE clang-cpp) ++ else() ++ target_link_libraries(${name} PRIVATE ${PARAM_CLANG_LIBS}) ++ endif() + endif() + + if(PARAM_SHARED) +@@ -132,7 +138,7 @@ function(add_lldb_executable name) + cmake_parse_arguments(ARG + "GENERATE_INSTALL" + "INSTALL_PREFIX;ENTITLEMENTS" +- "LINK_LIBS;LINK_COMPONENTS" ++ "LINK_LIBS;CLANG_LIBS;LINK_COMPONENTS" + ${ARGN} + ) + +@@ -152,6 +158,11 @@ function(add_lldb_executable name) + ) + + target_link_libraries(${name} PRIVATE ${ARG_LINK_LIBS}) ++ if(CLANG_LINK_CLANG_DYLIB) ++ target_link_libraries(${name} PRIVATE clang-cpp) ++ else() ++ target_link_libraries(${name} PRIVATE ${ARG_CLANG_LIBS}) ++ endif() + set_target_properties(${name} PROPERTIES FOLDER "lldb executables") + + if(ARG_GENERATE_INSTALL) +diff --git a/lldb/source/Core/CMakeLists.txt b/lldb/source/Core/CMakeLists.txt +index 7ca37f9..2e05fa3 100644 +--- a/lldb/source/Core/CMakeLists.txt ++++ b/lldb/source/Core/CMakeLists.txt +@@ -58,7 +58,6 @@ add_lldb_library(lldbCore + ValueObjectVariable.cpp + + LINK_LIBS +- clangAST + lldbBreakpoint + lldbDataFormatters + lldbExpression +@@ -71,6 +70,9 @@ add_lldb_library(lldbCore + lldbPluginObjCLanguage + ${LLDB_CURSES_LIBS} + ++ CLANG_LIBS ++ clangDriver ++ + LINK_COMPONENTS + Support + Demangle +diff --git a/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt b/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt +index 950dae6..3fc1e0d 100644 +--- a/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt ++++ b/lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt +@@ -25,6 +25,16 @@ add_lldb_library(lldbPluginExpressionParserClang PLUGIN + ${tablegen_deps} + + LINK_LIBS ++ lldbCore ++ lldbExpression ++ lldbHost ++ lldbInterpreter ++ lldbSymbol ++ lldbTarget ++ lldbUtility ++ lldbPluginCPlusPlusLanguage ++ lldbPluginCPPRuntime ++ CLANG_LIBS + clangAST + clangCodeGen + clangDriver +@@ -36,15 +46,6 @@ add_lldb_library(lldbPluginExpressionParserClang PLUGIN + clangRewriteFrontend + clangSema + clangSerialization +- lldbCore +- lldbExpression +- lldbHost +- lldbInterpreter +- lldbSymbol +- lldbTarget +- lldbUtility +- lldbPluginCPlusPlusLanguage +- lldbPluginCPPRuntime + LINK_COMPONENTS + Core + ExecutionEngine +diff --git a/lldb/source/Plugins/Language/ObjC/CMakeLists.txt b/lldb/source/Plugins/Language/ObjC/CMakeLists.txt +index afb68d4..ebb96c2 100644 +--- a/lldb/source/Plugins/Language/ObjC/CMakeLists.txt ++++ b/lldb/source/Plugins/Language/ObjC/CMakeLists.txt +@@ -22,7 +22,6 @@ add_lldb_library(lldbPluginObjCLanguage PLUGIN + NSString.cpp + + LINK_LIBS +- clangAST + lldbCore + lldbDataFormatters + lldbExpression +@@ -32,6 +31,8 @@ add_lldb_library(lldbPluginObjCLanguage PLUGIN + lldbUtility + lldbPluginAppleObjCRuntime + lldbPluginClangCommon ++ CLANG_LIBS ++ clangAST + + EXTRA_CXXFLAGS ${EXTRA_CXXFLAGS} + ) +diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt +index 29d9ba1..bcf3240 100644 +--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt ++++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt +@@ -9,7 +9,6 @@ add_lldb_library(lldbPluginAppleObjCRuntime PLUGIN + AppleObjCTypeEncodingParser.cpp + + LINK_LIBS +- clangAST + lldbBreakpoint + lldbCore + lldbExpression +@@ -20,6 +19,8 @@ add_lldb_library(lldbPluginAppleObjCRuntime PLUGIN + lldbUtility + lldbPluginExpressionParserClang + lldbPluginCPPRuntime ++ CLANG_LIBS ++ clangAST + LINK_COMPONENTS + Support + ) +diff --git a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/CMakeLists.txt b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/CMakeLists.txt +index 1a6c499..c122e09 100644 +--- a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/CMakeLists.txt ++++ b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/CMakeLists.txt +@@ -13,7 +13,6 @@ add_lldb_library(lldbPluginRenderScriptRuntime PLUGIN + ${tablegen_deps} + + LINK_LIBS +- clangBasic + lldbBreakpoint + lldbCore + lldbDataFormatters +@@ -22,6 +21,8 @@ add_lldb_library(lldbPluginRenderScriptRuntime PLUGIN + lldbInterpreter + lldbSymbol + lldbTarget ++ CLANG_LIBS ++ clangBasic + LINK_COMPONENTS + Core + IRReader +diff --git a/lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt b/lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt +index 6f0d952..dc04693 100644 +--- a/lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt ++++ b/lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt +@@ -31,7 +31,6 @@ add_lldb_library(lldbPluginPlatformMacOSX PLUGIN + ${PLUGIN_PLATFORM_MACOSX_SOURCES} + + LINK_LIBS +- clangBasic + lldbBreakpoint + lldbCore + lldbHost +@@ -41,6 +40,8 @@ add_lldb_library(lldbPluginPlatformMacOSX PLUGIN + lldbUtility + lldbPluginPlatformPOSIX + ${OBJC_LIBS} ++ CLANG_LIBS ++ clangBasic + LINK_COMPONENTS + Support + ) +diff --git a/lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt b/lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt +index cd588cb..69d2d21 100644 +--- a/lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt ++++ b/lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt +@@ -36,8 +36,6 @@ add_lldb_library(lldbPluginSymbolFileDWARF PLUGIN + UniqueDWARFASTType.cpp + + LINK_LIBS +- clangAST +- clangBasic + lldbCore + lldbExpression + lldbHost +@@ -48,6 +46,9 @@ add_lldb_library(lldbPluginSymbolFileDWARF PLUGIN + lldbPluginObjCLanguage + lldbPluginCPlusPlusLanguage + lldbPluginExpressionParserClang ++ CLANG_LIBS ++ clangAST ++ clangBasic + LINK_COMPONENTS + DebugInfoDWARF + Support +diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt b/lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt +index 52b431d..aaecec4 100644 +--- a/lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt ++++ b/lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt +@@ -11,11 +11,12 @@ add_lldb_library(lldbPluginSymbolFileNativePDB PLUGIN + UdtRecordCompleter.cpp + + LINK_LIBS +- clangAST +- clangLex + lldbCore + lldbSymbol + lldbUtility ++ CLANG_LIBS ++ clangAST ++ clangLex + LINK_COMPONENTS + DebugInfoCodeView + DebugInfoPDB +diff --git a/lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt b/lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt +index 64168d0..79bdce42 100644 +--- a/lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt ++++ b/lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt +@@ -4,12 +4,13 @@ add_lldb_library(lldbPluginSymbolFilePDB PLUGIN + SymbolFilePDB.cpp + + LINK_LIBS +- clangAST +- clangLex + lldbCore ++ lldbPluginSymbolFileNativePDB + lldbSymbol + lldbUtility +- lldbPluginSymbolFileNativePDB ++ CLANG_LIBS ++ clangAST ++ clangLex + LINK_COMPONENTS + DebugInfoPDB + Support +diff --git a/lldb/source/Symbol/CMakeLists.txt b/lldb/source/Symbol/CMakeLists.txt +index 4b922c2..8614172 100644 +--- a/lldb/source/Symbol/CMakeLists.txt ++++ b/lldb/source/Symbol/CMakeLists.txt +@@ -47,9 +47,6 @@ add_lldb_library(lldbSymbol + ${PLATFORM_SOURCES} + + LINK_LIBS +- clangAST +- clangBasic +- clangFrontend + lldbCore + lldbExpression + lldbHost +@@ -61,6 +58,11 @@ add_lldb_library(lldbSymbol + lldbPluginObjCLanguage + lldbPluginObjCRuntime + ++ CLANG_LIBS ++ clangAST ++ clangBasic ++ clangFrontend ++ + LINK_COMPONENTS + Support + ) +diff --git a/lldb/tools/lldb-instr/CMakeLists.txt b/lldb/tools/lldb-instr/CMakeLists.txt +index e3dbeba..8da453b 100644 +--- a/lldb/tools/lldb-instr/CMakeLists.txt ++++ b/lldb/tools/lldb-instr/CMakeLists.txt +@@ -1,7 +1,7 @@ + add_lldb_tool(lldb-instr + Instrument.cpp + +- LINK_LIBS ++ CLANG_LIBS + clangAST + clangBasic + clangCodeGen +-- +1.8.3.1 + diff --git a/lldb.spec b/lldb.spec index 208588c..ad27fb8 100644 --- a/lldb.spec +++ b/lldb.spec @@ -1,5 +1,5 @@ #%%global rc_ver 3 -%global baserelease 3 +%global baserelease 4 Name: lldb Version: 9.0.1 @@ -10,6 +10,8 @@ License: NCSA URL: http://lldb.llvm.org/ Source0: http://%{?rc_ver:pre}releases.llvm.org/%{version}/%{?rc_ver:rc%{rc_ver}}/%{name}-%{version}%{?rc_ver:rc%{rc_ver}}.src.tar.xz +Patch0: 0001-lldb-cmake-Support-linking-against-clang-cpp-dylib.patch + BuildRequires: cmake BuildRequires: llvm-devel = %{version} BuildRequires: llvm-test = %{version} @@ -48,7 +50,7 @@ Requires: python3-six The package contains the LLDB Python module. %prep -%setup -q -n %{name}-%{version}%{?rc_ver:rc%{rc_ver}}.src +%autosetup -n %{name}-%{version}%{?rc_ver:rc%{rc_ver}}.src -p2 %build @@ -79,6 +81,7 @@ CXXFLAGS="%{optflags} -Wno-error=format-security" -DPYTHON_VERSION_MAJOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.major)") \ -DPYTHON_VERSION_MINOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.minor)") \ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ + -DCLANG_LINK_CLANG_DYLIB=ON \ -DLLVM_LIT_ARGS="-sv \ --path %{_libdir}/llvm" \ @@ -114,6 +117,10 @@ rm -f %{buildroot}%{python3_sitearch}/six.* %{python3_sitearch}/lldb %changelog +* Wed Jan 29 2020 Tom Stellard - 9.0.1-4 +- Link against libclang-cpp.so +- https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component-Libraries-In-clang-lib-Package + * Wed Jan 29 2020 Fedora Release Engineering - 9.0.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild