summaryrefslogtreecommitdiff
path: root/source/d/llvm/llvm.SlackBuild
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2022-07-05 20:33:18 +0000
committerEric Hameleers <alien@slackware.com>2022-07-06 09:00:14 +0200
commit8b5d6f2b2a461518423b3b899661c6bc471d4f7f (patch)
treed22feb5c05a80168cb597e7059d029abdf2b71c0 /source/d/llvm/llvm.SlackBuild
parente37e650239f1473465598392823b12327ae0e833 (diff)
downloadcurrent-8b5d6f2b2a461518423b3b899661c6bc471d4f7f.tar.gz
Tue Jul 5 20:33:18 UTC 202220220705203318
a/hwdata-0.361-noarch-1.txz: Upgraded. a/kernel-firmware-20220705_f5f02da-noarch-1.txz: Upgraded. a/kmod-30-x86_64-1.txz: Upgraded. a/mcelog-184-x86_64-1.txz: Upgraded. a/openssl-solibs-1.1.1q-x86_64-1.txz: Upgraded. ap/vim-9.0.0041-x86_64-1.txz: Upgraded. d/llvm-14.0.6-x86_64-2.txz: Rebuilt. Shared library .so-version bump. We gave the DYLIB options a try and the resulting compilers are unable to compile Firefox or Thunderbird, so we're back to using BUILD_SHARED_LIBS (which works fine). I'm in no real hurry to revisit this, but I'll look at any hints you might have for me if you post them on LQ. d/meson-0.63.0-x86_64-1.txz: Upgraded. d/rust-1.62.0-x86_64-1.txz: Upgraded. l/imagemagick-7.1.0_40-x86_64-1.txz: Upgraded. l/isl-0.25-x86_64-1.txz: Upgraded. l/libdmtx-0.7.7-x86_64-1.txz: Upgraded. l/libgphoto2-2.5.30-x86_64-1.txz: Upgraded. l/libmtp-1.1.20-x86_64-1.txz: Upgraded. l/libvpx-1.12.0-x86_64-1.txz: Upgraded. l/pipewire-0.3.53-x86_64-1.txz: Upgraded. l/poppler-22.07.0-x86_64-1.txz: Upgraded. l/spirv-llvm-translator-14.0.0-x86_64-2.txz: Rebuilt. Recompiled against llvm-14.0.6-2. n/openssl-1.1.1q-x86_64-1.txz: Upgraded. This update fixes security issues: Heap memory corruption with RSA private key operation. AES OCB fails to encrypt some bytes. For more information, see: https://www.openssl.org/news/secadv/20220705.txt https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2274 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2097 (* Security fix *) n/wget2-2.0.1-x86_64-1.txz: Upgraded. x/libva-2.15.0-x86_64-1.txz: Upgraded. x/libva-utils-2.15.0-x86_64-1.txz: Upgraded. x/mesa-21.3.8-x86_64-3.txz: Rebuilt. Recompiled against llvm-14.0.6-2. xap/mozilla-firefox-102.0.1-x86_64-1.txz: Upgraded. This update contains security fixes (possibly) and improvements. At this time, the link below only says "We're still preparing the notes for this release, and will post them here when they are ready. Please check back later." For more information, see: https://www.mozilla.org/en-US/firefox/102.0.1/releasenotes/ (* Security fix *) xap/vim-gvim-9.0.0041-x86_64-1.txz: Upgraded. extra/rust-for-mozilla/rust-1.60.0-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/d/llvm/llvm.SlackBuild')
-rwxr-xr-xsource/d/llvm/llvm.SlackBuild31
1 files changed, 27 insertions, 4 deletions
diff --git a/source/d/llvm/llvm.SlackBuild b/source/d/llvm/llvm.SlackBuild
index 02df9eb4..0a343646 100755
--- a/source/d/llvm/llvm.SlackBuild
+++ b/source/d/llvm/llvm.SlackBuild
@@ -27,7 +27,23 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=llvm
VERSION=${VERSION:-$(echo llvm-*.tar.xz | rev | cut -f 4- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
+
+# For the two options below, either set both to OFF or *only one* to ON:
+
+# Build using -DBUILD_SHARED_LIBS=ON.
+# While this is not the officially recommended way to build LLVM, it produces
+# a smaller package and the compiler seems to be reliable when built this way.
+BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS:=ON}
+
+# Build using -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCLANG_LINK_CLANG_DYLIB=ON:
+# This is the recommended way to built LLVM with shared libraries, however
+# the resulting package is twice as large and also wasn't able to build
+# Firefox or Thunderbird here. If you rebuild LLVM with this option, you'll
+# also need to recompile spirv-llvm-translator, mesa, and possibly other
+# third party packages. The resulting compiler has not been reliable here.
+# I would not recommend using this option, but feel free to try it.
+LLVM_BUILD_LLVM_DYLIB=${LLVM_BUILD_LLVM_DYLIB:=OFF}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -168,6 +184,15 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+# Collect shared library options. If both of the configurable options are set
+# to ON, the last one we check will be the one we use.
+if [ "$BUILD_SHARED_LIBS" = "ON" ]; then
+ SHARED_LIBRARY_OPTIONS="-DBUILD_SHARED_LIBS=ON"
+fi
+if [ "$LLVM_BUILD_LLVM_DYLIB" = "ON" ]; then
+ SHARED_LIBRARY_OPTIONS="-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCLANG_LINK_CLANG_DYLIB=ON"
+fi
+
mkdir build
cd build
mkdir include
@@ -183,9 +208,7 @@ cd build
-DCMAKE_INSTALL_PREFIX=/usr \
-DLLVM_LIBDIR_SUFFIX=${LIBDIRSUFFIX} \
-DCMAKE_BUILD_TYPE=Release \
- -DLLVM_BUILD_LLVM_DYLIB=ON \
- -DLLVM_LINK_LLVM_DYLIB=ON \
- -DCLANG_LINK_CLANG_DYLIB=ON \
+ $SHARED_LIBRARY_OPTIONS \
-DLLVM_USE_LINKER=gold \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_FFI=ON \