From babbba3822e209de5dc3faec5a38f9f3dda8a266 Mon Sep 17 00:00:00 2001 From: Mehdi Chinoune Date: Wed, 10 Aug 2022 19:19:15 +0100 Subject: [PATCH] llvm: update to 15.0.0 --- ...ry-creating-symlink-first-on-windows.patch | 14 +- ...-building-standalone-LLDB-on-Windows.patch | 22 --- ...ently-set-visibility-hidden-when-bui.patch | 40 ---- ...port-for-a-new-mingw-specific-embedd.patch | 176 ------------------ ...Implement-the-exclude-symbols-option.patch | 150 --------------- ...stTidyModule-for-Windows-with-dylibs.patch | 49 ----- mingw-w64-clang/PKGBUILD | 61 +++--- mingw-w64-clang/README-patches.md | 5 - mingw-w64-libc++/PKGBUILD | 72 +++---- ...-building-standalone-LLDB-on-Windows.patch | 11 -- mingw-w64-lldb/PKGBUILD | 15 +- mingw-w64-openmp/PKGBUILD | 19 +- mingw-w64-polly/PKGBUILD | 25 ++- 13 files changed, 101 insertions(+), 558 deletions(-) delete mode 100644 mingw-w64-clang/0006-lldb-Fix-building-standalone-LLDB-on-Windows.patch delete mode 100644 mingw-w64-clang/0007-MinGW-Don-t-currently-set-visibility-hidden-when-bui.patch delete mode 100644 mingw-w64-clang/0301-LLD-COFF-Add-support-for-a-new-mingw-specific-embedd.patch delete mode 100644 mingw-w64-clang/0302-LLD-MinGW-Implement-the-exclude-symbols-option.patch delete mode 100644 mingw-w64-clang/0401-Do-not-try-to-build-CTTestTidyModule-for-Windows-with-dylibs.patch delete mode 100644 mingw-w64-lldb/001-lldb-Fix-building-standalone-LLDB-on-Windows.patch diff --git a/mingw-w64-clang/0002-Revert-CMake-try-creating-symlink-first-on-windows.patch b/mingw-w64-clang/0002-Revert-CMake-try-creating-symlink-first-on-windows.patch index e85a37d0c9..aaf7cf60f8 100644 --- a/mingw-w64-clang/0002-Revert-CMake-try-creating-symlink-first-on-windows.patch +++ b/mingw-w64-clang/0002-Revert-CMake-try-creating-symlink-first-on-windows.patch @@ -1,6 +1,6 @@ --- a/cmake/modules/LLVMInstallSymlink.cmake +++ b/cmake/modules/LLVMInstallSymlink.cmake -@@ -6,17 +6,18 @@ +@@ -6,6 +6,12 @@ function(install_symlink name target outdir) set(DESTDIR $ENV{DESTDIR}) @@ -10,19 +10,21 @@ + set(LINK_OR_COPY copy) + endif() + - set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}") - + if(NOT IS_ABSOLUTE "${outdir}") + set(outdir "${CMAKE_INSTALL_PREFIX}/${outdir}") + endif() +@@ -14,12 +20,7 @@ message(STATUS "Creating ${name}") execute_process( - COMMAND "${CMAKE_COMMAND}" -E create_symlink "${target}" "${name}" -- WORKING_DIRECTORY "${bindir}" ERROR_VARIABLE has_err) +- WORKING_DIRECTORY "${outdir}" ERROR_VARIABLE has_err) - if(CMAKE_HOST_WIN32 AND has_err) - execute_process( - COMMAND "${CMAKE_COMMAND}" -E copy "${target}" "${name}" -- WORKING_DIRECTORY "${bindir}") +- WORKING_DIRECTORY "${outdir}") - endif() + COMMAND "${CMAKE_COMMAND}" -E ${LINK_OR_COPY} "${target}" "${name}" -+ WORKING_DIRECTORY "${bindir}") ++ WORKING_DIRECTORY "${outdir}") endfunction() diff --git a/mingw-w64-clang/0006-lldb-Fix-building-standalone-LLDB-on-Windows.patch b/mingw-w64-clang/0006-lldb-Fix-building-standalone-LLDB-on-Windows.patch deleted file mode 100644 index 02e00f8e20..0000000000 --- a/mingw-w64-clang/0006-lldb-Fix-building-standalone-LLDB-on-Windows.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/include/llvm/Config/config.h.cmake -+++ b/include/llvm/Config/config.h.cmake -@@ -50,9 +50,6 @@ - don't. */ - #cmakedefine01 HAVE_DECL_STRERROR_S - --/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */ --#cmakedefine01 LLVM_ENABLE_DIA_SDK -- - /* Define to 1 if you have the header file. */ - #cmakedefine HAVE_DLFCN_H ${HAVE_DLFCN_H} - ---- a/include/llvm/Config/llvm-config.h.cmake -+++ b/include/llvm/Config/llvm-config.h.cmake -@@ -116,4 +116,7 @@ - * in non assert builds */ - #cmakedefine01 LLVM_UNREACHABLE_OPTIMIZE - -+/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */ -+#cmakedefine01 LLVM_ENABLE_DIA_SDK -+ - #endif diff --git a/mingw-w64-clang/0007-MinGW-Don-t-currently-set-visibility-hidden-when-bui.patch b/mingw-w64-clang/0007-MinGW-Don-t-currently-set-visibility-hidden-when-bui.patch deleted file mode 100644 index 0ab23ef83c..0000000000 --- a/mingw-w64-clang/0007-MinGW-Don-t-currently-set-visibility-hidden-when-bui.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 606348cc72389de481c014afb0f15af7360fc950 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Martin=20Storsj=C3=B6?= -Date: Wed, 20 Jul 2022 13:39:33 +0300 -Subject: [PATCH] [MinGW] Don't currently set visibility=hidden when building - for MinGW - -If we build the Target libraries with -fvisibility=hidden, then -LLVM_EXTERNAL_VISIBILITY must also be able to override it back -to default visibility. - -Currently, the LLVM_EXTERNAL_VISIBILITY define is a no-op for -mingw targets, thus set CMAKE_CXX_VISIBILITY_PRESET correspondingly. - -This unbreaks the mingw dylib build, if the compiler actually -takes hidden visiblity into account (e.g. after D130121). - -(Later, once hidden visiblity can be used for MinGW targets, we -can make LLVM_EXTERNAL_VISIBILITY and LLVM_LIBRARY_VISIBILITY expand -to actual attributes, and reverse this commit.) - -Differential Revision: https://reviews.llvm.org/D130200 ---- - lib/Target/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/Target/CMakeLists.txt b/lib/Target/CMakeLists.txt -index 35a8e9ae0f70..c0c2bc36a6e4 100644 ---- a/lib/Target/CMakeLists.txt -+++ b/lib/Target/CMakeLists.txt -@@ -22,6 +22,7 @@ add_llvm_component_library(LLVMTarget - # When building shared objects for each target there are some internal APIs - # that are used across shared objects which we can't hide. - if (NOT BUILD_SHARED_LIBS AND NOT APPLE AND -+ NOT MINGW AND - NOT (${CMAKE_SYSTEM_NAME} MATCHES "AIX") AND - NOT DEFINED CMAKE_CXX_VISIBILITY_PRESET) - # Set default visibility to hidden, so we don't export all the Target classes --- -2.37.1.windows.1 - diff --git a/mingw-w64-clang/0301-LLD-COFF-Add-support-for-a-new-mingw-specific-embedd.patch b/mingw-w64-clang/0301-LLD-COFF-Add-support-for-a-new-mingw-specific-embedd.patch deleted file mode 100644 index f62a9d94df..0000000000 --- a/mingw-w64-clang/0301-LLD-COFF-Add-support-for-a-new-mingw-specific-embedd.patch +++ /dev/null @@ -1,176 +0,0 @@ -From 5d513ef6cf4646e64bbb1d5f8610afd530964588 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Martin=20Storsj=C3=B6?= -Date: Mon, 18 Jul 2022 00:11:37 +0300 -Subject: [PATCH] [LLD] [COFF] Add support for a new, mingw specific embedded - directive -exclude-symbols: - -This is an entirely new embedded directive - extending the GNU ld -command line option --exclude-symbols to be usable in embedded -directives too. - -(GNU ld.bfd also got support for the same new directive, currently in -the latest git version, after the 2.39 branch.) - -This works as an inverse to the regular embedded dllexport directives, -for cases when autoexport of all eligible symbols is performed. - -Differential Revision: https://reviews.llvm.org/D130120 ---- - COFF/Driver.cpp | 10 +++++++++- - COFF/Driver.h | 2 ++ - COFF/DriverUtils.cpp | 3 +++ - COFF/MinGW.cpp | 6 ++++-- - COFF/MinGW.h | 5 ++++- - test/COFF/exclude-symbols-embedded.s | 24 ++++++++++++++++++++++++ - 6 files changed, 46 insertions(+), 4 deletions(-) - create mode 100644 test/COFF/exclude-symbols-embedded.s - -diff --git a/COFF/Driver.cpp b/COFF/Driver.cpp -index 44406346dcec..11248d2faada 100644 ---- a/COFF/Driver.cpp -+++ b/COFF/Driver.cpp -@@ -375,6 +375,14 @@ void LinkerDriver::parseDirectives(InputFile *file) { - for (StringRef inc : directives.includes) - addUndefined(inc); - -+ // Handle /exclude-symbols: in bulk. -+ for (StringRef e : directives.excludes) { -+ SmallVector vec; -+ e.split(vec, ','); -+ for (StringRef sym : vec) -+ excludedSymbols.insert(mangle(sym)); -+ } -+ - // https://docs.microsoft.com/en-us/cpp/preprocessor/comment-c-cpp?view=msvc-160 - for (auto *arg : directives.args) { - switch (arg->getOption().getID()) { -@@ -1309,7 +1317,7 @@ void LinkerDriver::maybeExportMinGWSymbols(const opt::InputArgList &args) { - return; - } - -- AutoExporter exporter; -+ AutoExporter exporter(excludedSymbols); - - for (auto *arg : args.filtered(OPT_wholearchive_file)) - if (Optional path = doFindFile(arg->getValue())) -diff --git a/COFF/Driver.h b/COFF/Driver.h -index 902f122d4ade..3f6f98d1a060 100644 ---- a/COFF/Driver.h -+++ b/COFF/Driver.h -@@ -53,6 +53,7 @@ extern COFFOptTable optTable; - struct ParsedDirectives { - std::vector exports; - std::vector includes; -+ std::vector excludes; - llvm::opt::InputArgList args; - }; - -@@ -159,6 +160,7 @@ private: - std::vector resources; - - llvm::StringSet<> directivesExports; -+ llvm::DenseSet excludedSymbols; - - COFFLinkerContext &ctx; - -diff --git a/COFF/DriverUtils.cpp b/COFF/DriverUtils.cpp -index 505967f09115..ab69551034b9 100644 ---- a/COFF/DriverUtils.cpp -+++ b/COFF/DriverUtils.cpp -@@ -899,6 +899,9 @@ ParsedDirectives ArgParser::parseDirectives(StringRef s) { - else if (tok.startswith_insensitive("/include:") || - tok.startswith_insensitive("-include:")) - result.includes.push_back(tok.substr(strlen("/include:"))); -+ else if (tok.startswith_insensitive("/exclude-symbols:") || -+ tok.startswith_insensitive("-exclude-symbols:")) -+ result.excludes.push_back(tok.substr(strlen("/exclude-symbols:"))); - else { - // Copy substrings that are not valid C strings. The tokenizer may have - // already copied quoted arguments for us, so those do not need to be -diff --git a/COFF/MinGW.cpp b/COFF/MinGW.cpp -index 190f4388902e..0689e44cc363 100644 ---- a/COFF/MinGW.cpp -+++ b/COFF/MinGW.cpp -@@ -23,7 +23,9 @@ using namespace llvm::COFF; - using namespace lld; - using namespace lld::coff; - --AutoExporter::AutoExporter() { -+AutoExporter::AutoExporter( -+ const llvm::DenseSet &manualExcludeSymbols) -+ : manualExcludeSymbols(manualExcludeSymbols) { - excludeLibs = { - "libgcc", - "libgcc_s", -@@ -135,7 +137,7 @@ bool AutoExporter::shouldExport(const COFFLinkerContext &ctx, - // disallow import symbols. - if (!isa(sym) && !isa(sym)) - return false; -- if (excludeSymbols.count(sym->getName())) -+ if (excludeSymbols.count(sym->getName()) || manualExcludeSymbols.count(sym->getName())) - return false; - - for (StringRef prefix : excludeSymbolPrefixes.keys()) -diff --git a/COFF/MinGW.h b/COFF/MinGW.h -index af40d1b5a6ec..113cd8327d28 100644 ---- a/COFF/MinGW.h -+++ b/COFF/MinGW.h -@@ -13,6 +13,7 @@ - #include "Symbols.h" - #include "lld/Common/LLVM.h" - #include "llvm/ADT/ArrayRef.h" -+#include "llvm/ADT/DenseSet.h" - #include "llvm/ADT/StringSet.h" - #include "llvm/Option/ArgList.h" - #include -@@ -24,7 +25,7 @@ class COFFLinkerContext; - // symbols for MinGW. - class AutoExporter { - public: -- AutoExporter(); -+ AutoExporter(const llvm::DenseSet &manualExcludeSymbols); - - void addWholeArchive(StringRef path); - void addExcludedSymbol(StringRef symbol); -@@ -35,6 +36,8 @@ public: - llvm::StringSet<> excludeLibs; - llvm::StringSet<> excludeObjects; - -+ const llvm::DenseSet &manualExcludeSymbols; -+ - bool shouldExport(const COFFLinkerContext &ctx, Defined *sym) const; - }; - -diff --git a/test/COFF/exclude-symbols-embedded.s b/test/COFF/exclude-symbols-embedded.s -new file mode 100644 -index 000000000000..9ea8ed479d20 ---- /dev/null -+++ b/test/COFF/exclude-symbols-embedded.s -@@ -0,0 +1,24 @@ -+// REQUIRES: x86 -+// RUN: llvm-mc -filetype=obj -triple=i686-win32-gnu %s -o %t.o -+ -+// RUN: lld-link -lldmingw -dll -out:%t.dll %t.o -noentry -+// RUN: llvm-readobj --coff-exports %t.dll | FileCheck --implicit-check-not=Name: %s -+ -+// CHECK: Name: -+// CHECK: Name: sym1 -+ -+.global _sym1 -+_sym1: -+ ret -+ -+.global _sym2 -+_sym2: -+ ret -+ -+.global _sym3 -+_sym3: -+ ret -+ -+.section .drectve,"yn" -+.ascii " -exclude-symbols:sym2,unknownsym" -+.ascii " -exclude-symbols:unkonwnsym,sym3" --- -2.37.1.windows.1 - diff --git a/mingw-w64-clang/0302-LLD-MinGW-Implement-the-exclude-symbols-option.patch b/mingw-w64-clang/0302-LLD-MinGW-Implement-the-exclude-symbols-option.patch deleted file mode 100644 index 431425a05b..0000000000 --- a/mingw-w64-clang/0302-LLD-MinGW-Implement-the-exclude-symbols-option.patch +++ /dev/null @@ -1,150 +0,0 @@ -From d1da6469f9ea9b078276ee2e098241f0440468be Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Martin=20Storsj=C3=B6?= -Date: Mon, 18 Jul 2022 23:43:02 +0300 -Subject: [PATCH] [LLD] [MinGW] Implement the --exclude-symbols option - -This adds support for the existing GNU ld command line option, which -allows excluding individual symbols from autoexport (when linking a -DLL and no symbols are marked explicitly as dllexported). - -Differential Revision: https://reviews.llvm.org/D130118 ---- - COFF/Driver.cpp | 7 +++++++ - COFF/MinGW.cpp | 4 ++++ - COFF/MinGW.h | 1 + - COFF/Options.td | 2 ++ - MinGW/Driver.cpp | 2 ++ - MinGW/Options.td | 2 ++ - test/COFF/exclude-symbols.s | 20 ++++++++++++++++++++ - test/MinGW/driver.test | 4 ++++ - 8 files changed, 42 insertions(+) - create mode 100644 test/COFF/exclude-symbols.s - -diff --git a/COFF/Driver.cpp b/COFF/Driver.cpp -index 4f7b9e469668..44406346dcec 100644 ---- a/COFF/Driver.cpp -+++ b/COFF/Driver.cpp -@@ -1315,6 +1315,13 @@ void LinkerDriver::maybeExportMinGWSymbols(const opt::InputArgList &args) { - if (Optional path = doFindFile(arg->getValue())) - exporter.addWholeArchive(*path); - -+ for (auto *arg : args.filtered(OPT_exclude_symbols)) { -+ SmallVector vec; -+ StringRef(arg->getValue()).split(vec, ','); -+ for (StringRef sym : vec) -+ exporter.addExcludedSymbol(mangle(sym)); -+ } -+ - ctx.symtab.forEachSymbol([&](Symbol *s) { - auto *def = dyn_cast(s); - if (!exporter.shouldExport(ctx, def)) -diff --git a/COFF/MinGW.cpp b/COFF/MinGW.cpp -index 7a3a3853572f..190f4388902e 100644 ---- a/COFF/MinGW.cpp -+++ b/COFF/MinGW.cpp -@@ -122,6 +122,10 @@ void AutoExporter::addWholeArchive(StringRef path) { - excludeLibs.erase(libName); - } - -+void AutoExporter::addExcludedSymbol(StringRef symbol) { -+ excludeSymbols.insert(symbol); -+} -+ - bool AutoExporter::shouldExport(const COFFLinkerContext &ctx, - Defined *sym) const { - if (!sym || !sym->getChunk()) -diff --git a/COFF/MinGW.h b/COFF/MinGW.h -index 59c2581f661d..af40d1b5a6ec 100644 ---- a/COFF/MinGW.h -+++ b/COFF/MinGW.h -@@ -27,6 +27,7 @@ public: - AutoExporter(); - - void addWholeArchive(StringRef path); -+ void addExcludedSymbol(StringRef symbol); - - llvm::StringSet<> excludeSymbols; - llvm::StringSet<> excludeSymbolPrefixes; -diff --git a/COFF/Options.td b/COFF/Options.td -index 5135f4ea34af..c728279ef5cc 100644 ---- a/COFF/Options.td -+++ b/COFF/Options.td -@@ -45,6 +45,8 @@ def diasdkdir : P<"diasdkdir", "Set the location of the DIA SDK">; - def entry : P<"entry", "Name of entry point symbol">; - def errorlimit : P<"errorlimit", - "Maximum number of errors to emit before stopping (0 = no limit)">; -+def exclude_symbols : P<"exclude-symbols", "Exclude symbols from automatic export">, -+ MetaVarName<"">; - def export : P<"export", "Export a function">; - // No help text because /failifmismatch is not intended to be used by the user. - def failifmismatch : P<"failifmismatch", "">; -diff --git a/MinGW/Driver.cpp b/MinGW/Driver.cpp -index 5920a5061d9c..37d2439c3925 100644 ---- a/MinGW/Driver.cpp -+++ b/MinGW/Driver.cpp -@@ -398,6 +398,8 @@ bool mingw::link(ArrayRef argsArr, llvm::raw_ostream &stdoutOS, - add("-delayload:" + StringRef(a->getValue())); - for (auto *a : args.filtered(OPT_wrap)) - add("-wrap:" + StringRef(a->getValue())); -+ for (auto *a : args.filtered(OPT_exclude_symbols)) -+ add("-exclude-symbols:" + StringRef(a->getValue())); - - std::vector searchPaths; - for (auto *a : args.filtered(OPT_L)) { -diff --git a/MinGW/Options.td b/MinGW/Options.td -index bfdd4af28800..cc94b93e388a 100644 ---- a/MinGW/Options.td -+++ b/MinGW/Options.td -@@ -62,6 +62,8 @@ def enable_stdcall_fixup: F<"enable-stdcall-fixup">, - defm entry: Eq<"entry", "Name of entry point symbol">, MetaVarName<"">; - def exclude_all_symbols: F<"exclude-all-symbols">, - HelpText<"Don't automatically export any symbols">; -+defm exclude_symbols: Eq<"exclude-symbols", -+ "Exclude symbols from automatic export">, MetaVarName<"">; - def export_all_symbols: F<"export-all-symbols">, - HelpText<"Export all symbols even if a def file or dllexport attributes are used">; - defm fatal_warnings: B<"fatal-warnings", -diff --git a/test/COFF/exclude-symbols.s b/test/COFF/exclude-symbols.s -new file mode 100644 -index 000000000000..cd358712382d ---- /dev/null -+++ b/test/COFF/exclude-symbols.s -@@ -0,0 +1,20 @@ -+// REQUIRES: x86 -+// RUN: llvm-mc -filetype=obj -triple=i686-win32-gnu %s -o %t.o -+ -+// RUN: lld-link -lldmingw -dll -out:%t.dll %t.o -noentry -exclude-symbols:sym2,unknownsym -exclude-symbols:unknownsym,sym3 -+// RUN: llvm-readobj --coff-exports %t.dll | FileCheck --implicit-check-not=Name: %s -+ -+// CHECK: Name: -+// CHECK: Name: sym1 -+ -+.global _sym1 -+_sym1: -+ ret -+ -+.global _sym2 -+_sym2: -+ ret -+ -+.global _sym3 -+_sym3: -+ ret -diff --git a/test/MinGW/driver.test b/test/MinGW/driver.test -index c67717d1a000..9c56bfa42f6b 100644 ---- a/test/MinGW/driver.test -+++ b/test/MinGW/driver.test -@@ -321,6 +321,10 @@ RUN: ld.lld -### -m i386pep foo.o -wrap foo1 --wrap foo2 2>&1 | FileCheck -check - RUN: ld.lld -### -m i386pep foo.o -wrap=foo1 --wrap=foo2 2>&1 | FileCheck -check-prefix WRAP %s - WRAP: -wrap:foo1 -wrap:foo2 - -+RUN: ld.lld -### -m i386pep foo.o -exclude-symbols sym1,sym2 --exclude-symbols sym3 2>&1 | FileCheck -check-prefix EXCLUDE_SYMBOLS %s -+RUN: ld.lld -### -m i386pep foo.o -exclude-symbols=sym1,sym2 --exclude-symbols=sym3 2>&1 | FileCheck -check-prefix EXCLUDE_SYMBOLS %s -+EXCLUDE_SYMBOLS: -exclude-symbols:sym1,sym2 -exclude-symbols:sym3 -+ - RUN: ld.lld -### -m i386pep foo.o 2>&1 | FileCheck -check-prefix DEMANGLE %s - RUN: ld.lld -### -m i386pep foo.o -demangle 2>&1 | FileCheck -check-prefix DEMANGLE %s - RUN: ld.lld -### -m i386pep foo.o --demangle 2>&1 | FileCheck -check-prefix DEMANGLE %s --- -2.37.1.windows.1 - diff --git a/mingw-w64-clang/0401-Do-not-try-to-build-CTTestTidyModule-for-Windows-with-dylibs.patch b/mingw-w64-clang/0401-Do-not-try-to-build-CTTestTidyModule-for-Windows-with-dylibs.patch deleted file mode 100644 index ff8a4724d8..0000000000 --- a/mingw-w64-clang/0401-Do-not-try-to-build-CTTestTidyModule-for-Windows-with-dylibs.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 3e7a8aab759a9bdf90f35a60ea6e96ec64e36cb9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Martin=20Storsj=C3=B6?= -Date: Tue, 15 Mar 2022 13:30:35 +0200 -Subject: [PATCH] [clang-tidy] Don't try to build CTTestTidyModule for Windows - with dylibs - -In MinGW mode, it's possible to build LLVM/Clang with -LLVM_LINK_LLVM_DYLIB (which implicitly enables plugins too). Other -existing ways of building plugins on Windows is to build with -LLVM_EXPORT_SYMBOLS_FOR_PLUGINS, where each executable exports its -symbols. - -With LLVM_LINK_LLVM_DYLIB, we can't generally skip building plugins -even if they are set up with PLUGIN_TOOL, as some plugins (e.g. -under clang/examples) set up that way do build properly (as -they manually call clang_target_link_libraries, which links in the -libclang-cpp.dll dylib). - -For CTTestTidyModule, there's no corresponding dylib that would -provide the same exports. - -Differential Revision: https://reviews.llvm.org/D121687 ---- - test/CMakeLists.txt | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 170e5f8bd197d..26aece9cf337e 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -81,11 +81,13 @@ foreach(dep ${LLVM_UTILS_DEPS}) - endforeach() - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) -- llvm_add_library( -- CTTestTidyModule -- MODULE clang-tidy/CTTestTidyModule.cpp -- PLUGIN_TOOL clang-tidy -- DEPENDS clang-tidy-headers) -+ if (NOT WIN32 AND NOT LLVM_LINK_LLVM_DYLIB) -+ llvm_add_library( -+ CTTestTidyModule -+ MODULE clang-tidy/CTTestTidyModule.cpp -+ PLUGIN_TOOL clang-tidy -+ DEPENDS clang-tidy-headers) -+ endif() - - if(CLANG_BUILT_STANDALONE) - # LLVMHello library is needed below diff --git a/mingw-w64-clang/PKGBUILD b/mingw-w64-clang/PKGBUILD index 32ccbbcde1..1be82e60b8 100644 --- a/mingw-w64-clang/PKGBUILD +++ b/mingw-w64-clang/PKGBUILD @@ -22,8 +22,11 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" $( (( _clangprefix )) && echo "${MINGW_PACKAGE_PREFIX}-gcc-compat" ) "${MINGW_PACKAGE_PREFIX}-lld" "${MINGW_PACKAGE_PREFIX}-llvm") -pkgver=14.0.6 -pkgrel=6 +_version=15.0.0 +_rc="" +_tag=llvmorg-${_version}${_rc} +pkgver=${_version}${_rc/-/} +pkgrel=1 pkgdesc="C language family frontend for LLVM (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -41,70 +44,65 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-clang") $((( _clangprefix )) && echo \ "${MINGW_PACKAGE_PREFIX}-compiler-rt" \ - "${MINGW_PACKAGE_PREFIX}-libc++") + "${MINGW_PACKAGE_PREFIX}-libc++" \ + "${MINGW_PACKAGE_PREFIX}-libc++abi") $([[ "$_compiler" == "gcc" ]] && echo \ "${MINGW_PACKAGE_PREFIX}-gcc") "git" ) options=('!debug' 'strip') -_url=https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver} -# libunwind: # https://bugs.llvm.org/show_bug.cgi?id=49228 +_url=https://github.com/llvm/llvm-project/releases/download/${_tag} +# libunwind: https://github.com/llvm/llvm-project/issues/48572 source=("${_url}/llvm-${pkgver}.src.tar.xz"{,.sig} "${_url}/clang-${pkgver}.src.tar.xz"{,.sig} "${_url}/clang-tools-extra-${pkgver}.src.tar.xz"{,.sig} "${_url}/compiler-rt-${pkgver}.src.tar.xz"{,.sig} "${_url}/lld-${pkgver}.src.tar.xz"{,.sig} "${_url}/libunwind-${pkgver}.src.tar.xz"{,.sig} + "${_url}/cmake-${pkgver}.src.tar.xz"{,.sig} "0001-Fix-GetHostTriple-for-mingw-w64-in-msys.patch" "0002-Revert-CMake-try-creating-symlink-first-on-windows.patch" "0003-add-pthread-as-system-lib-for-mingw.patch" "0004-enable-emutls-for-mingw.patch" "0005-export-out-of-tree-mlir-targets.patch" - "0006-lldb-Fix-building-standalone-LLDB-on-Windows.patch" - "0007-MinGW-Don-t-currently-set-visibility-hidden-when-bui.patch" "0008-COFF-Emit-embedded-exclude-symbols-directives-for-hi.patch" "0009-Use-hidden-visibility-when-building-for-MinGW-with-Clang.patch" "0101-link-pthread-with-mingw.patch" "0102-fix-emulated-tls.patch" - "0301-LLD-COFF-Add-support-for-a-new-mingw-specific-embedd.patch" - "0302-LLD-MinGW-Implement-the-exclude-symbols-option.patch" - "0303-ignore-new-bfd-options.patch" - "0401-Do-not-try-to-build-CTTestTidyModule-for-Windows-with-dylibs.patch") + "0303-ignore-new-bfd-options.patch") # Some patch notes :) #0001-0099 -> llvm #0101-0199 -> clang #0201-0299 -> rt #0301-0399 -> lld #0401-0499 -> clang-tools-extra -sha256sums=('050922ecaaca5781fdf6631ea92bc715183f202f9d2f15147226f023414f619a' +sha256sums=('4cd035b665f3be72382b978543d897238c7faa13d13cdd7d573c2e93f23c10d0' 'SKIP' - '2b5847b6a63118b9efe5c85548363c81ffe096b66c3b3675e953e26342ae4031' + 'd29689aea6c2f882618442c74fc89a8f131dbb1cc318921fa962a82c9f70ff65' 'SKIP' - '7cf3b8ff56c65c4d1eae3c56883fc4a6cbc3ff9f3a1530a74d66e45d27271866' + 'a0905b2dde93d07376081ee65e3b86ce7193210e0ac20d67c58c69ce933f0944' 'SKIP' - '88df303840ca8fbff944e15e61c141226fe79f5d2b8e89fb024264d77841a02e' + '9111ca0407d9e32ecf4aff4f85d9ee300e0179ab64ba7ab6db4e49b0a8a2ea3d' 'SKIP' - '0c28ce0496934d37d20fec96591032dd66af8d10178a45762e0e75e85cf95ad3' + '79a5ca7e1ddf226720fae6ea83da027e365fcd91d333c87c8dc31860c8c3735a' 'SKIP' - '3bbe9c23c73259fe39c045dc87d0b283236ba6e00750a226b2c2aeac4a51d86b' + '1c6fbc35ebe6a1c31a938c22fcd6b5a08e4b2ca9eaac12279010e50e3c91560c' + 'SKIP' + '2a3096c6d00f8d2fc588243db1b6a8c283a31e28a02f7e4c435a9a27ccf88e8f' 'SKIP' 'eb03df53671df6627768141b3aaa76abe176a14e5e47911c97bec544387c4aff' - 'efed1bd36c0d4295d4e4439987771e004ef5d232ce6e6f345d535baab945fd23' + '5754c357cfc17769e80d95b673d41b1e54616e2487e037d761a1ac8bb28a2849' '7f0c64cd87b61e894be632f180ae5291e1aa9f1d9d382608f659067eeeda7146' '3837bd707d3d99a742e874d5c59a1e7d5502811d6926319974c5d9db86020039' 'cb96582194ef80a37cc184e95287920b2df5369e2e5798a64adf6f8bf1c52985' - '51936b1a1d2a48b19cdc108944fe61cd5f1724a3312a1d2d37f3e3e841b78bc2' - '5f57f340d398b69421f6f94de45ff45f99dc4e686bcb7e8d2a7dc85529ed5ba7' '5bb5e31eea8ea2c4eea56f2aae161dfde35caa9800459ae3c785a94654628e57' 'f3bce25ac7d339cbe7a94bd1cfd2d634450c261c7a32103aba4ed5f773fd2cfc' '715cb8862753854b2d9256e0b70003e2d1f57083d83eaeaf5a095fc72b8a4e26' '3a58bd5243fb082df64c90bd9a4f00c698317f20365d11bbe30fac5dfccd215e' - 'e6c3b97f733920b0a32e889cd180dd86507bddea09e9c217cd1445c047cd4976' - 'bd40b6c84d25de5ac5877f2c83ac61d872838bc034df62e98ad16116d23744e0' - '778e0db0a5b0657ab05e2a81d83241347a4a41af2b0f9903422f651fa58e8d40' - 'a10e5192889501c75db6a41e29df44b2af8502b3ef34c2315789563a5c8e9b85') + '778e0db0a5b0657ab05e2a81d83241347a4a41af2b0f9903422f651fa58e8d40') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. - '474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard + '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard + 'D574BD5D1D0E98895E3BF90044F2485E45D59042') # Tobias Hieta noextract=(clang-${pkgver}.src.tar.xz) apply_patch_with_msg() { @@ -129,7 +127,7 @@ prepare() { tar -xJf ${srcdir}/clang-${pkgver}.src.tar.xz -C ${srcdir} || true # Rename Directories - for pkg in llvm clang clang-tools-extra compiler-rt lld libunwind; do + for pkg in llvm clang clang-tools-extra compiler-rt lld libunwind cmake; do mv ${pkg}-$pkgver.src ${pkg} done @@ -147,8 +145,6 @@ prepare() { apply_patch_with_msg \ "0005-export-out-of-tree-mlir-targets.patch" \ - "0006-lldb-Fix-building-standalone-LLDB-on-Windows.patch" \ - "0007-MinGW-Don-t-currently-set-visibility-hidden-when-bui.patch" \ "0008-COFF-Emit-embedded-exclude-symbols-directives-for-hi.patch" \ "0009-Use-hidden-visibility-when-building-for-MinGW-with-Clang.patch" @@ -167,14 +163,10 @@ prepare() { # Patch lld cd "${srcdir}/lld" apply_patch_with_msg \ - "0301-LLD-COFF-Add-support-for-a-new-mingw-specific-embedd.patch" \ - "0302-LLD-MinGW-Implement-the-exclude-symbols-option.patch" \ "0303-ignore-new-bfd-options.patch" # Patch clang-tools-extra cd "${srcdir}/clang-tools-extra" - apply_patch_with_msg \ - "0401-Do-not-try-to-build-CTTestTidyModule-for-Windows-with-dylibs.patch" } build() { @@ -342,7 +334,7 @@ package_compiler-rt() { DESTDIR="${pkgdir}" cmake --install "${srcdir}/build-${MSYSTEM}/projects/compiler-rt" mkdir -p "${pkgdir}${MINGW_PREFIX}/bin/" - find "${pkgdir}${MINGW_PREFIX}/lib/clang/${pkgver}/lib/windows/" \ + find "${pkgdir}${MINGW_PREFIX}/lib/clang/${_version}/lib/windows/" \ -name '*.dll' -exec mv '{}' "${pkgdir}${MINGW_PREFIX}/bin/" \; # remove bin dir we created if it is still empty rmdir "${pkgdir}${MINGW_PREFIX}/bin/" 2>/dev/null || true @@ -381,7 +373,8 @@ package_llvm() { depends=("${MINGW_PACKAGE_PREFIX}-libffi" "${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-zlib" - "${MINGW_PACKAGE_PREFIX}-libxml2") + "${MINGW_PACKAGE_PREFIX}-libxml2" + "${MINGW_PACKAGE_PREFIX}-zstd") cd "${srcdir}"/llvm diff --git a/mingw-w64-clang/README-patches.md b/mingw-w64-clang/README-patches.md index af6ea096e5..97a276d0ff 100644 --- a/mingw-w64-clang/README-patches.md +++ b/mingw-w64-clang/README-patches.md @@ -15,12 +15,7 @@ Legend: - `"0003-add-pthread-as-system-lib-for-mingw.patch"` :grey_exclamation: - `"0004-enable-emutls-for-mingw.patch"` :grey_exclamation: - `"0005-export-out-of-tree-mlir-targets.patch"` :x: -- `"0006-lldb-Fix-building-standalone-LLDB-on-Windows.patch"` :arrow_down_small: - [https://reviews.llvm.org/D122523] -- `"0007-MinGW-Don-t-currently-set-visibility-hidden-when-bui.patch"` :arrow_down_small: - `"0008-COFF-Emit-embedded-exclude-symbols-directives-for-hi.patch"` :arrow_down_small: - `"0009-Use-hidden-visibility-when-building-for-MinGW-with-Clang.patch"` :arrow_down_small: - `"0101-link-pthread-with-mingw.patch"` :grey_exclamation: -- `"0301-LLD-COFF-Add-support-for-a-new-mingw-specific-embedd.patch"` :arrow_down_small: -- `"0302-LLD-MinGW-Implement-the-exclude-symbols-option.patch"` :arrow_down_small: - `"0303-ignore-new-bfd-options.patch"` :x: -- `"0405-Do-not-try-to-build-CTTestTidyModule-for-Windows-with-dylibs.patch"` :arrow_down_small: diff --git a/mingw-w64-libc++/PKGBUILD b/mingw-w64-libc++/PKGBUILD index 81a5fe94cb..4ccb56b0ab 100644 --- a/mingw-w64-libc++/PKGBUILD +++ b/mingw-w64-libc++/PKGBUILD @@ -9,7 +9,10 @@ pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-${_realname}abi" "${MINGW_PACKAGE_PREFIX}-libunwind") -pkgver=14.0.6 +_version=15.0.0 +_rc="" +_tag=llvmorg-${_version}${_rc} +pkgver=${_version}${_rc/-/} pkgrel=1 url="https://libcxx.llvm.org/" arch=(any) @@ -27,25 +30,29 @@ if [[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]]; then # GNU's strip breaks the library #11553 options+=('!strip') fi -_url=https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver} +_url=https://github.com/llvm/llvm-project/releases/download/${_tag} source=("${_url}/llvm-${pkgver}.src.tar.xz"{,.sig} + "${_url}/cmake-${pkgver}.src.tar.xz"{,.sig} "${_url}/libcxx-${pkgver}.src.tar.xz"{,.sig} "${_url}/libcxxabi-${pkgver}.src.tar.xz"{,.sig} "${_url}/libunwind-${pkgver}.src.tar.xz"{,.sig} - "https://raw.githubusercontent.com/llvm/llvm-project/llvmorg-${pkgver}/runtimes/CMakeLists.txt" - "https://raw.githubusercontent.com/llvm/llvm-project/llvmorg-${pkgver}/runtimes/Components.cmake.in") -sha256sums=('050922ecaaca5781fdf6631ea92bc715183f202f9d2f15147226f023414f619a' + "https://raw.githubusercontent.com/llvm/llvm-project/${_tag}/runtimes/CMakeLists.txt" + "https://raw.githubusercontent.com/llvm/llvm-project/${_tag}/runtimes/Components.cmake.in") +sha256sums=('4cd035b665f3be72382b978543d897238c7faa13d13cdd7d573c2e93f23c10d0' 'SKIP' - 'f7a9865e25a6c5175549e31609605767bf3478e8cdf8428be2c911838e7b683d' + '2a3096c6d00f8d2fc588243db1b6a8c283a31e28a02f7e4c435a9a27ccf88e8f' 'SKIP' - '82fbe9033da986f6ff3092a9df31049b4b19cbe59a46c6ab54e0523b31550794' + 'd448b21c8994dd9f373b884651df30c367646f773c046f0538c571c95ed46b6e' 'SKIP' - '3bbe9c23c73259fe39c045dc87d0b283236ba6e00750a226b2c2aeac4a51d86b' + 'd07c5cf5ced4204ea607e0e0c062d7e12da70c438e94d57a491b749975f381eb' 'SKIP' - '37cf555e4b808a3279aeecc875154c410e3db02eb5307b43030f88f1b8ce1545' + '1c6fbc35ebe6a1c31a938c22fcd6b5a08e4b2ca9eaac12279010e50e3c91560c' + 'SKIP' + 'a1c9ef5ee90191b64524528703de8000ee66c6f0a5bb7fe02f760e3073d32fde' 'bc0974b6555874d3c24295fe8b99b25aea8086158ee4ab87e9a8709191cc7824') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. - '474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard + '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard + 'D574BD5D1D0E98895E3BF90044F2485E45D59042') # Tobias Hieta noextract=(libcxx-${pkgver}.src.tar.xz) prepare() { @@ -53,7 +60,7 @@ prepare() { cd "${srcdir}" tar -xJf ${srcdir}/libcxx-${pkgver}.src.tar.xz -C ${srcdir} || true # Rename Directories - for pkg in llvm libcxx libcxxabi libunwind; do + for pkg in llvm cmake libcxx libcxxabi libunwind; do mv ${pkg}-$pkgver.src ${pkg} done rm -rf runtimes && mkdir -p runtimes @@ -91,36 +98,9 @@ build() { -DLLVM_ENABLE_LLD=ON -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind") - # Shared cd ${srcdir} - [[ -d build-shared-${MSYSTEM} ]] && rm -rf build-shared-${MSYSTEM} - mkdir build-shared-${MSYSTEM} && cd build-shared-${MSYSTEM} - - MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ - cmake \ - -GNinja \ - -DCMAKE_BUILD_TYPE=${_build_type} \ - -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DCMAKE_SYSTEM_IGNORE_PATH=/usr/lib \ - -DLLVM_HOST_TRIPLE="${CARCH}-w64-windows-gnu" \ - -DPython3_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \ - -DPython3_FIND_REGISTRY=NEVER \ - -DPython3_ROOT_DIR=${MINGW_PREFIX} \ - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF \ - -DLIBCXX_ENABLE_SHARED=ON \ - -DLIBCXX_ENABLE_STATIC=OFF \ - -DLIBUNWIND_ENABLE_SHARED=ON \ - -DLIBUNWIND_ENABLE_STATIC=OFF \ - "${libcxx_config[@]}" \ - -Wno-dev \ - ../runtimes - - cmake --build . -- unwind cxx - - # Static - cd "${srcdir}" - [[ -d build-static-${MSYSTEM} ]] && rm -rf build-static-${MSYSTEM} - mkdir build-static-${MSYSTEM} && cd build-static-${MSYSTEM} + [[ -d build-${MSYSTEM} ]] && rm -rf build-${MSYSTEM} + mkdir build-${MSYSTEM} && cd build-${MSYSTEM} MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \ @@ -132,10 +112,10 @@ build() { -DPython3_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \ -DPython3_FIND_REGISTRY=NEVER \ -DPython3_ROOT_DIR=${MINGW_PREFIX} \ - -DLIBCXX_ENABLE_SHARED=OFF \ + -DLIBCXX_ENABLE_SHARED=ON \ -DLIBCXX_ENABLE_STATIC=ON \ -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \ - -DLIBUNWIND_ENABLE_SHARED=OFF \ + -DLIBUNWIND_ENABLE_SHARED=ON \ -DLIBUNWIND_ENABLE_STATIC=ON \ "${libcxx_config[@]}" \ -Wno-dev \ @@ -154,8 +134,7 @@ package_libc++() { "${MINGW_PACKAGE_PREFIX}-libunwind" \ || echo "${MINGW_PACKAGE_PREFIX}-gcc-libs")) - DESTDIR="${pkgdir}" cmake --build "${srcdir}/build-shared-${MSYSTEM}" --target install-cxx - DESTDIR="${pkgdir}" cmake --build "${srcdir}/build-static-${MSYSTEM}" --target install-cxx + DESTDIR="${pkgdir}" cmake --build "${srcdir}/build-${MSYSTEM}" --target install-cxx } package_libc++abi() { @@ -164,7 +143,7 @@ package_libc++abi() { depends=($( (( _clangprefix )) || echo \ "${MINGW_PACKAGE_PREFIX}-gcc-libs")) - DESTDIR="${pkgdir}" cmake --build "${srcdir}/build-static-${MSYSTEM}" --target install-cxxabi + DESTDIR="${pkgdir}" cmake --build "${srcdir}/build-${MSYSTEM}" --target install-cxxabi } package_libunwind() { @@ -172,8 +151,7 @@ package_libunwind() { url='https://llvm.org/' depends=($( (( _clangprefix )) || echo "${MINGW_PACKAGE_PREFIX}-gcc-libs")) - DESTDIR="${pkgdir}" cmake --build "${srcdir}/build-shared-${MSYSTEM}" --target install-unwind - DESTDIR="${pkgdir}" cmake --build "${srcdir}/build-static-${MSYSTEM}" --target install-unwind + DESTDIR="${pkgdir}" cmake --build "${srcdir}/build-${MSYSTEM}" --target install-unwind } # template start; name=mingw-w64-splitpkg-wrappers; version=1.0; diff --git a/mingw-w64-lldb/001-lldb-Fix-building-standalone-LLDB-on-Windows.patch b/mingw-w64-lldb/001-lldb-Fix-building-standalone-LLDB-on-Windows.patch deleted file mode 100644 index e05ae118d3..0000000000 --- a/mingw-w64-lldb/001-lldb-Fix-building-standalone-LLDB-on-Windows.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp -+++ b/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp -@@ -57,7 +57,7 @@ - #include "Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h" - - #if defined(_WIN32) --#include "llvm/Config/config.h" -+#include "llvm/Config/llvm-config.h" - #endif - - using namespace lldb; diff --git a/mingw-w64-lldb/PKGBUILD b/mingw-w64-lldb/PKGBUILD index 8f5fd5123c..f689ef1792 100644 --- a/mingw-w64-lldb/PKGBUILD +++ b/mingw-w64-lldb/PKGBUILD @@ -7,7 +7,10 @@ fi _realname=lldb pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=14.0.6 +_version=15.0.0 +_rc="" +_tag=llvmorg-${_version}${_rc} +pkgver=${_version}${_rc/-/} pkgrel=1 pkgdesc="Next generation, high-performance debugger (mingw-w64)" url="https://lldb.llvm.org/" @@ -28,17 +31,16 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-clang-tools-extra" "${MINGW_PACKAGE_PREFIX}-cc") options=('!debug' 'strip') -_url=https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver} +_url=https://github.com/llvm/llvm-project/releases/download/${_tag} _pkgfn=$_realname-$pkgver.src source=($_url/$_pkgfn.tar.xz{,.sig} - 001-lldb-Fix-building-standalone-LLDB-on-Windows.patch 002-fix-api-generator-expression.patch) -sha256sums=('2ac41160b0bdc74bf72d4f9a3702f290f7c09998da6fb73281cc497f4ddbe130' +sha256sums=('1086b5fae04472a006e1be620bba851ee17b9722cd2cf2ce5b557fc9d9699f11' 'SKIP' - '068fe864d788e5c23a6eea581478aa3060852a3ac4e8b36cb5962613add87d61' 'ca897429775137be3d0ccaffb95010e4995aa9003c243ff795645ebac2f61fe1') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. - '474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard + '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard + 'D574BD5D1D0E98895E3BF90044F2485E45D59042') # Tobias Hieta apply_patch_with_msg() { for _patch in "$@" @@ -52,7 +54,6 @@ prepare() { cd ${srcdir}/$_pkgfn apply_patch_with_msg \ - 001-lldb-Fix-building-standalone-LLDB-on-Windows.patch \ 002-fix-api-generator-expression.patch } diff --git a/mingw-w64-openmp/PKGBUILD b/mingw-w64-openmp/PKGBUILD index a5cfaab123..1fd1539ed0 100644 --- a/mingw-w64-openmp/PKGBUILD +++ b/mingw-w64-openmp/PKGBUILD @@ -7,7 +7,10 @@ fi _realname=openmp pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=14.0.6 +_version=15.0.0 +_rc="" +_tag=llvmorg-${_version}${_rc} +pkgver=${_version}${_rc/-/} pkgrel=1 pkgdesc="LLVM OpenMP Library (mingw-w64)" url="https://openmp.llvm.org/" @@ -22,17 +25,21 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" $( (( _clangprefix )) || echo "${MINGW_PACKAGE_PREFIX}-gcc-fortran") "${MINGW_PACKAGE_PREFIX}-uasm") options=('!debug' 'strip') -_url=https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver} +_url=https://github.com/llvm/llvm-project/releases/download/${_tag} _pkgfn=$_realname-$pkgver.src source=($_url/$_pkgfn.tar.xz{,.sig} + ${_url}/cmake-${pkgver}.src.tar.xz{,.sig} "001-cast-to-make-gcc-happy.patch" "002-hacks-for-static-linking.patch") -sha256sums=('4f731ff202add030d9d68d4c6daabd91d3aeed9812e6a5b4968815cfdff0eb1f' +sha256sums=('7ee0d1c6a0426a34f102aa5c3a2c307807a4885ce347cb51fbc7e5effd6891c6' + 'SKIP' + '2a3096c6d00f8d2fc588243db1b6a8c283a31e28a02f7e4c435a9a27ccf88e8f' 'SKIP' '11352ffbe7559a7170f2abd52b3552c877fbcf8fc82cff77b421e8b130a4dd66' '7238f009264bc1b162b73ca3a2a0b224b65ec3ed384304f3e5464032c4c026f4') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. - '474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard + '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard + 'D574BD5D1D0E98895E3BF90044F2485E45D59042') # Tobias Hieta apply_patch_with_msg() { for _patch in "$@" @@ -43,8 +50,10 @@ apply_patch_with_msg() { } prepare() { - cd ${srcdir}/$_pkgfn + cd "${srcdir}" + mv cmake-$pkgver.src cmake + cd ${srcdir}/$_pkgfn if (( ! _clangprefix )); then apply_patch_with_msg \ "001-cast-to-make-gcc-happy.patch" diff --git a/mingw-w64-polly/PKGBUILD b/mingw-w64-polly/PKGBUILD index 4214142548..af291667c9 100644 --- a/mingw-w64-polly/PKGBUILD +++ b/mingw-w64-polly/PKGBUILD @@ -7,7 +7,10 @@ fi _realname=polly pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=14.0.6 +_version=15.0.0 +_rc="" +_tag=llvmorg-${_version}${_rc} +pkgver=${_version}${_rc/-/} pkgrel=1 pkgdesc="Polly - Polyhedral optimizations for LLVM (mingw-w64)" url="https://polly.llvm.org/" @@ -19,15 +22,25 @@ depends=("${MINGW_PACKAGE_PREFIX}-llvm") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" - "${MINGW_PACKAGE_PREFIX}-python-sphinx") + "${MINGW_PACKAGE_PREFIX}-python-sphinx" + $( (( _clangprefix )) && echo "${MINGW_PACKAGE_PREFIX}-libc++abi")) options=('!debug' 'strip') -_url=https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver} +_url=https://github.com/llvm/llvm-project/releases/download/${_tag} _pkgfn=$_realname-$pkgver.src -source=($_url/$_pkgfn.tar.xz{,.sig}) -sha256sums=('d4e6f58e54c0418d7b8debef0c09b77bdff6f435012be94c3edf270b89314fdd' +source=($_url/$_pkgfn.tar.xz{,.sig} + ${_url}/cmake-${pkgver}.src.tar.xz{,.sig}) +sha256sums=('7ea79e690615475a87beb5fb99c7b7aea89dc7914cc575c3a1950da623247f44' + 'SKIP' + '2a3096c6d00f8d2fc588243db1b6a8c283a31e28a02f7e4c435a9a27ccf88e8f' 'SKIP') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. - '474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard + '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard + 'D574BD5D1D0E98895E3BF90044F2485E45D59042') # Tobias Hieta + +prepare() { + cd "${srcdir}" + mv cmake-$pkgver.src cmake +} build() { cd ${srcdir}