Build clang with Objective-C patches

This commit is contained in:
Frederik Carlier
2024-01-04 23:14:21 +01:00
parent ef347c8639
commit 1992d9c6af

View File

@@ -7,6 +7,8 @@
# Contributor: Oscar Fuentes <ofv@wanadoo.es>
# Contributor: Adrian Pop <adrian.pop@liu.se>
objc_type_encoding_commit_id="c65ae76326040369bcd3a85678ab76e402140036"
if [[ $MINGW_PACKAGE_PREFIX == *-clang-* ]]; then
_clangprefix=1
_compiler=clang
@@ -32,7 +34,7 @@ _version=17.0.6
_rc=
_tag=llvmorg-${_version}${_rc}
pkgver=${_version}${_rc/-/}
pkgrel=6
pkgrel=7
pkgdesc="C language family frontend for LLVM (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
@@ -70,6 +72,12 @@ source=("${_url}/llvm-${pkgver}.src.tar.xz"{,.sig}
"0101-link-pthread-with-mingw.patch"
"0102-Rename-flang-new-flang-experimental-exec-to-flang.patch"
"0303-ignore-new-bfd-options.patch"
# Objective C: Use C++ mode unconditionally on MinGW
https://github.com/qmfrederik/llvm-project/commit/1d5106d69cf475215887c42834158d710e586f1b.patch
# Objective C: Mark instance variable offsets with DllExport/DllImport when targetting COFF
https://github.com/llvm/llvm-project/commit/b81ba52e15d95c3353489d4ce2f61c3771714c28.patch
# Objective C: Work around type encodings which include '=' causing lld to fail
https://github.com/llvm/llvm-project/commit/${objc_type_encoding_commit_id}.patch
https://github.com/llvm/llvm-project/commit/10b78cc8cea65e7e77d227af4027963f39402724.patch
https://github.com/llvm/llvm-project/commit/1709e8c656de69f6d823a3ae6773bf815e373909.patch
https://github.com/llvm/llvm-project/commit/9e3d915d8ebf86e24c9ff58766be8e7c6aa7b0c0.patch)
@@ -100,6 +108,9 @@ sha256sums=('b638167da139126ca11917b6880207cc6e8f9d1cbb1a48d87d017f697ef78188'
'715cb8862753854b2d9256e0b70003e2d1f57083d83eaeaf5a095fc72b8a4e26'
'2770cadf8ccf6b31aece6aee8f76dceb71e6e9d01fdf3be74c3743480ce34899'
'de631ab199a6fe83b3f695350bffaad067a2f95fc2ba9c8fe57dc85665d3653c'
'b6095ce7fa2d0afa4135d6fc4375d4ca4b9f39ac27378d05ea76cf6dfd6676f1'
'b23427a58ddf2f8fd16605ab9cc89d1233a409ee0a208f6d8d1a34204f716426'
'SKIP'
'88c4994341b4de2a23929e31a98031cb94b6d42575f9d8fd6e120f61ae0c5747'
'0f3dcb8b2d5f90f8ff2e77896d3b0ef6c87af8214e679917898e35dd678daef5'
'e745aa71c903445c86639507256a5ca775e69b569b58f2ff48d6047703cfc81a')
@@ -141,6 +152,12 @@ prepare() {
"1709e8c656de69f6d823a3ae6773bf815e373909.patch" \
"9e3d915d8ebf86e24c9ff58766be8e7c6aa7b0c0.patch"
# Objective C patches
apply_patch_with_msg \
"1d5106d69cf475215887c42834158d710e586f1b.patch" \
"b81ba52e15d95c3353489d4ce2f61c3771714c28.patch" \
"${objc_type_encoding_commit_id}.patch"
# Patch llvm
cd "${srcdir}/llvm"
apply_patch_with_msg \