1
0
Fork 0
mirror of git://slackware.nl/current.git synced 2025-01-28 08:02:25 +01:00

Sun Feb 18 21:03:57 UTC 2024

extra/llvm-17.0.6-x86_64-1_slack15.0.txz:  Added.
  In case anyone needs a newer compiler.
extra/llvm13-compat-13.0.0-x86_64-1_slack15.0.txz:  Added.
  In case anyone needs to run binaries linked to the old compiler.
This commit is contained in:
Patrick J Volkerding 2024-02-18 21:03:57 +00:00 committed by Eric Hameleers
parent bdd6ac9360
commit b9cc8f3425
16 changed files with 1090 additions and 223 deletions

View file

@ -11,9 +11,23 @@
<description>Tracking Slackware development in git.</description> <description>Tracking Slackware development in git.</description>
<language>en-us</language> <language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id> <id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id>
<pubDate>Fri, 16 Feb 2024 20:18:59 GMT</pubDate> <pubDate>Sun, 18 Feb 2024 21:03:57 GMT</pubDate>
<lastBuildDate>Sat, 17 Feb 2024 12:30:31 GMT</lastBuildDate> <lastBuildDate>Mon, 19 Feb 2024 12:30:31 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.17</generator> <generator>maintain_current_git.sh v 1.17</generator>
<item>
<title>Sun, 18 Feb 2024 21:03:57 GMT</title>
<pubDate>Sun, 18 Feb 2024 21:03:57 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20240218210357</link>
<guid isPermaLink="false">20240218210357</guid>
<description>
<![CDATA[<pre>
extra/llvm-17.0.6-x86_64-1_slack15.0.txz: Added.
In case anyone needs a newer compiler.
extra/llvm13-compat-13.0.0-x86_64-1_slack15.0.txz: Added.
In case anyone needs to run binaries linked to the old compiler.
</pre>]]>
</description>
</item>
<item> <item>
<title>Fri, 16 Feb 2024 20:18:59 GMT</title> <title>Fri, 16 Feb 2024 20:18:59 GMT</title>
<pubDate>Fri, 16 Feb 2024 20:18:59 GMT</pubDate> <pubDate>Fri, 16 Feb 2024 20:18:59 GMT</pubDate>

View file

@ -1,3 +1,9 @@
Sun Feb 18 21:03:57 UTC 2024
extra/llvm-17.0.6-x86_64-1_slack15.0.txz: Added.
In case anyone needs a newer compiler.
extra/llvm13-compat-13.0.0-x86_64-1_slack15.0.txz: Added.
In case anyone needs to run binaries linked to the old compiler.
+--------------------------+
Fri Feb 16 20:18:59 UTC 2024 Fri Feb 16 20:18:59 UTC 2024
patches/packages/ca-certificates-20240216-noarch-1_slack15.0.txz: Upgraded. patches/packages/ca-certificates-20240216-noarch-1_slack15.0.txz: Upgraded.
This update provides the latest CA certificates to check for the This update provides the latest CA certificates to check for the

View file

@ -1,20 +1,20 @@
Fri Feb 16 20:21:58 UTC 2024 Sun Feb 18 21:11:54 UTC 2024
Here is the file list for this directory. If you are using a Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh subdirectories, please have the archive administrator refresh
the mirror. the mirror.
drwxr-xr-x 12 root root 4096 2024-02-16 20:18 . drwxr-xr-x 12 root root 4096 2024-02-18 21:03 .
-rw-r--r-- 1 root root 5767 2022-02-02 22:44 ./ANNOUNCE.15.0 -rw-r--r-- 1 root root 5767 2022-02-02 22:44 ./ANNOUNCE.15.0
-rw-r--r-- 1 root root 16609 2022-03-30 19:03 ./CHANGES_AND_HINTS.TXT -rw-r--r-- 1 root root 16609 2022-03-30 19:03 ./CHANGES_AND_HINTS.TXT
-rw-r--r-- 1 root root 1217936 2024-02-14 04:21 ./CHECKSUMS.md5 -rw-r--r-- 1 root root 1217936 2024-02-16 20:22 ./CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2024-02-14 04:21 ./CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2024-02-16 20:22 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING -rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING
-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3 -rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3
-rw-r--r-- 1 root root 19573 2016-06-23 20:08 ./COPYRIGHT.TXT -rw-r--r-- 1 root root 19573 2016-06-23 20:08 ./COPYRIGHT.TXT
-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT -rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
-rw-r--r-- 1 root root 2092695 2024-02-16 20:18 ./ChangeLog.txt -rw-r--r-- 1 root root 2092970 2024-02-18 21:03 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
drwxr-xr-x 2 root root 4096 2022-02-02 08:21 ./EFI/BOOT drwxr-xr-x 2 root root 4096 2022-02-02 08:21 ./EFI/BOOT
-rw-r--r-- 1 root root 1187840 2021-06-15 19:16 ./EFI/BOOT/bootx64.efi -rw-r--r-- 1 root root 1187840 2021-06-15 19:16 ./EFI/BOOT/bootx64.efi
@ -25,7 +25,7 @@ drwxr-xr-x 2 root root 4096 2022-02-02 08:21 ./EFI/BOOT
-rwxr-xr-x 1 root root 2504 2019-07-05 18:54 ./EFI/BOOT/make-grub.sh -rwxr-xr-x 1 root root 2504 2019-07-05 18:54 ./EFI/BOOT/make-grub.sh
-rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg -rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg
-rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg -rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg
-rw-r--r-- 1 root root 1594296 2024-02-14 04:20 ./FILELIST.TXT -rw-r--r-- 1 root root 1594296 2024-02-16 20:21 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY -rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
-rw-r--r-- 1 root root 864745 2022-02-02 08:25 ./PACKAGES.TXT -rw-r--r-- 1 root root 864745 2022-02-02 08:25 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8034 2022-02-02 03:36 ./README.TXT -rw-r--r-- 1 root root 8034 2022-02-02 03:36 ./README.TXT
@ -39,12 +39,12 @@ drwxr-xr-x 2 root root 4096 2022-02-02 08:21 ./EFI/BOOT
-rw-r--r-- 1 root root 17294 2008-12-08 18:13 ./SPEAK_INSTALL.TXT -rw-r--r-- 1 root root 17294 2008-12-08 18:13 ./SPEAK_INSTALL.TXT
-rw-r--r-- 1 root root 57187 2022-02-01 19:37 ./Slackware-HOWTO -rw-r--r-- 1 root root 57187 2022-02-01 19:37 ./Slackware-HOWTO
-rw-r--r-- 1 root root 8700 2022-01-26 05:44 ./UPGRADE.TXT -rw-r--r-- 1 root root 8700 2022-01-26 05:44 ./UPGRADE.TXT
drwxr-xr-x 19 root root 4096 2024-01-31 21:22 ./extra drwxr-xr-x 19 root root 4096 2024-02-18 21:11 ./extra
-rw-r--r-- 1 root root 52595 2024-01-31 21:22 ./extra/CHECKSUMS.md5 -rw-r--r-- 1 root root 55959 2024-02-18 21:11 ./extra/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2024-01-31 21:22 ./extra/CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2024-02-18 21:11 ./extra/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 65941 2024-01-31 21:21 ./extra/FILE_LIST -rw-r--r-- 1 root root 70281 2024-02-18 21:11 ./extra/FILE_LIST
-rw-r--r-- 1 root root 1977267 2024-01-31 21:21 ./extra/MANIFEST.bz2 -rw-r--r-- 1 root root 3054490 2024-02-18 21:11 ./extra/MANIFEST.bz2
-rw-r--r-- 1 root root 36565 2024-01-31 21:21 ./extra/PACKAGES.TXT -rw-r--r-- 1 root root 37488 2024-02-18 21:11 ./extra/PACKAGES.TXT
-rw-r--r-- 1 root root 149 2002-02-09 00:18 ./extra/README.TXT -rw-r--r-- 1 root root 149 2002-02-09 00:18 ./extra/README.TXT
drwxr-xr-x 2 root root 20480 2020-05-26 20:38 ./extra/aspell-word-lists drwxr-xr-x 2 root root 20480 2020-05-26 20:38 ./extra/aspell-word-lists
-rw-r--r-- 1 root root 171 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-af-0.50_0-x86_64-5.txt -rw-r--r-- 1 root root 171 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-af-0.50_0-x86_64-5.txt
@ -348,6 +348,12 @@ drwxr-xr-x 2 root root 4096 2018-02-27 06:13 ./extra/google-chrome
-rwxr-xr-x 1 root root 4168 2019-09-18 22:18 ./extra/google-chrome/google-chrome.SlackBuild -rwxr-xr-x 1 root root 4168 2019-09-18 22:18 ./extra/google-chrome/google-chrome.SlackBuild
-rw-r--r-- 1 root root 840 2018-02-27 06:13 ./extra/google-chrome/slack-desc -rw-r--r-- 1 root root 840 2018-02-27 06:13 ./extra/google-chrome/slack-desc
lrwxrwxrwx 1 root root 11 2012-07-30 20:41 ./extra/java -> source/java lrwxrwxrwx 1 root root 11 2012-07-30 20:41 ./extra/java -> source/java
-rw-r--r-- 1 root root 346 2024-02-17 20:11 ./extra/llvm-17.0.6-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 123154048 2024-02-17 20:11 ./extra/llvm-17.0.6-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2024-02-17 20:11 ./extra/llvm-17.0.6-x86_64-1_slack15.0.txz.asc
-rw-r--r-- 1 root root 315 2024-02-18 20:08 ./extra/llvm13-compat-13.0.0-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 30271960 2024-02-18 20:08 ./extra/llvm13-compat-13.0.0-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2024-02-18 20:08 ./extra/llvm13-compat-13.0.0-x86_64-1_slack15.0.txz.asc
drwxr-xr-x 2 root root 4096 2023-08-07 19:24 ./extra/php80 drwxr-xr-x 2 root root 4096 2023-08-07 19:24 ./extra/php80
-rw-r--r-- 1 root root 369 2023-08-07 18:47 ./extra/php80/php80-8.0.30-x86_64-1_slack15.0.txt -rw-r--r-- 1 root root 369 2023-08-07 18:47 ./extra/php80/php80-8.0.30-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 6175812 2023-08-07 18:47 ./extra/php80/php80-8.0.30-x86_64-1_slack15.0.txz -rw-r--r-- 1 root root 6175812 2023-08-07 18:47 ./extra/php80/php80-8.0.30-x86_64-1_slack15.0.txz
@ -369,7 +375,7 @@ drwxr-xr-x 2 root root 4096 2024-01-31 21:21 ./extra/sendmail
-rw-r--r-- 1 root root 586 2024-01-31 20:58 ./extra/sendmail/sendmail-cf-8.18.1-noarch-1_slack15.0.txt -rw-r--r-- 1 root root 586 2024-01-31 20:58 ./extra/sendmail/sendmail-cf-8.18.1-noarch-1_slack15.0.txt
-rw-r--r-- 1 root root 119356 2024-01-31 20:58 ./extra/sendmail/sendmail-cf-8.18.1-noarch-1_slack15.0.txz -rw-r--r-- 1 root root 119356 2024-01-31 20:58 ./extra/sendmail/sendmail-cf-8.18.1-noarch-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2024-01-31 20:58 ./extra/sendmail/sendmail-cf-8.18.1-noarch-1_slack15.0.txz.asc -rw-r--r-- 1 root root 163 2024-01-31 20:58 ./extra/sendmail/sendmail-cf-8.18.1-noarch-1_slack15.0.txz.asc
drwxr-xr-x 17 root root 4096 2024-01-31 21:16 ./extra/source drwxr-xr-x 19 root root 4096 2024-02-18 21:02 ./extra/source
lrwxrwxrwx 1 root root 21 2021-04-29 18:18 ./extra/source/alpine -> ../../source/n/alpine lrwxrwxrwx 1 root root 21 2021-04-29 18:18 ./extra/source/alpine -> ../../source/n/alpine
drwxr-xr-x 4 root root 4096 2018-11-09 05:59 ./extra/source/aspell-word-lists drwxr-xr-x 4 root root 4096 2018-11-09 05:59 ./extra/source/aspell-word-lists
-rwxr-xr-x 1 root root 3531 2020-05-26 20:06 ./extra/source/aspell-word-lists/aspell-dict.SlackBuild -rwxr-xr-x 1 root root 3531 2020-05-26 20:06 ./extra/source/aspell-word-lists/aspell-dict.SlackBuild
@ -566,6 +572,47 @@ drwxr-xr-x 2 root root 4096 2012-07-30 18:44 ./extra/source/java/profile.
-rwxr-xr-x 1 root root 80 2019-07-30 16:57 ./extra/source/java/profile.d/jre.sh -rwxr-xr-x 1 root root 80 2019-07-30 16:57 ./extra/source/java/profile.d/jre.sh
-rw-r--r-- 1 root root 817 2018-02-27 06:13 ./extra/source/java/slack-desc.jdk -rw-r--r-- 1 root root 817 2018-02-27 06:13 ./extra/source/java/slack-desc.jdk
-rw-r--r-- 1 root root 861 2018-02-27 06:13 ./extra/source/java/slack-desc.jre -rw-r--r-- 1 root root 861 2018-02-27 06:13 ./extra/source/java/slack-desc.jre
drwxr-xr-x 3 root root 4096 2024-02-17 19:12 ./extra/source/llvm
-rw-r--r-- 1 root root 21577596 2023-11-28 10:33 ./extra/source/llvm/clang-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/clang-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 3269980 2023-11-28 10:33 ./extra/source/llvm/clang-tools-extra-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/clang-tools-extra-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 276 2022-04-28 18:35 ./extra/source/llvm/clang.toolchains.i586.triple.diff.gz
-rw-r--r-- 1 root root 8712 2023-11-28 10:33 ./extra/source/llvm/cmake-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/cmake-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 2421808 2023-11-28 10:33 ./extra/source/llvm/compiler-rt-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/compiler-rt-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 2762700 2023-11-28 10:33 ./extra/source/llvm/flang-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/flang-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 3946532 2023-11-28 10:33 ./extra/source/llvm/libcxx-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/libcxx-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 575744 2023-11-28 10:33 ./extra/source/llvm/libcxxabi-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/libcxxabi-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 115088 2023-11-28 10:33 ./extra/source/llvm/libunwind-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/libunwind-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 1506048 2023-11-28 10:33 ./extra/source/llvm/lld-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/lld-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 10493512 2023-11-28 10:33 ./extra/source/llvm/lldb-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/lldb-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 281 2022-06-28 03:34 ./extra/source/llvm/lldb.32-bit.link.libatomic.diff.gz
-rw-r--r-- 1 root root 59298244 2023-11-28 10:33 ./extra/source/llvm/llvm-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/llvm-17.0.6.src.tar.xz.sig
-rwxr-xr-x 1 root root 13258 2024-02-17 19:12 ./extra/source/llvm/llvm.SlackBuild
-rw-r--r-- 1 root root 2175 2023-11-28 19:24 ./extra/source/llvm/llvm.url
drwxr-xr-x 2 root root 4096 2023-03-19 05:00 ./extra/source/llvm/missing-runtime-modules
-rw-r--r-- 1 root root 4005 2023-02-21 06:00 ./extra/source/llvm/missing-runtime-modules/HandleFlags.cmake
-rw-r--r-- 1 root root 2693 2023-03-19 05:00 ./extra/source/llvm/missing-runtime-modules/WarningFlags.cmake
-rw-r--r-- 1 root root 1273412 2023-11-28 10:33 ./extra/source/llvm/openmp-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/openmp-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 9219324 2023-11-28 10:33 ./extra/source/llvm/polly-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/polly-17.0.6.src.tar.xz.sig
-rw-r--r-- 1 root root 830 2019-07-25 03:31 ./extra/source/llvm/slack-desc
-rw-r--r-- 1 root root 383752 2023-11-28 10:33 ./extra/source/llvm/third-party-17.0.6.src.tar.xz
-rw-r--r-- 1 root root 438 2023-11-28 10:33 ./extra/source/llvm/third-party-17.0.6.src.tar.xz.sig
drwxr-xr-x 2 root root 4096 2024-02-17 22:45 ./extra/source/llvm13-compat
-rwxr-xr-x 1 root root 4106 2024-02-18 20:06 ./extra/source/llvm13-compat/llvm13-compat.SlackBuild
-rw-r--r-- 1 root root 955 2024-02-17 23:02 ./extra/source/llvm13-compat/llvm13-list-of-libraries-to-retain
-rw-r--r-- 1 root root 808 2024-02-17 22:46 ./extra/source/llvm13-compat/slack-desc
drwxr-xr-x 2 root root 4096 2023-08-07 18:40 ./extra/source/php80 drwxr-xr-x 2 root root 4096 2023-08-07 18:40 ./extra/source/php80
-rw-r--r-- 1 root root 432 2020-12-21 16:28 ./extra/source/php80/doinst.sh.gz -rw-r--r-- 1 root root 432 2020-12-21 16:28 ./extra/source/php80/doinst.sh.gz
-rwxr-xr-x 1 root root 120 2023-08-07 18:40 ./extra/source/php80/fetch-php.sh -rwxr-xr-x 1 root root 120 2023-08-07 18:40 ./extra/source/php80/fetch-php.sh

View file

@ -0,0 +1,11 @@
llvm: llvm (LLVM compiler toolkit)
llvm:
llvm: LLVM is a toolkit for the construction of highly optimized compilers,
llvm: optimizers, and runtime environments.
llvm:
llvm: This package also includes the clang frontend for the C family of
llvm: languages: C, C++, Objective-C, and Objective-C++
llvm:
llvm:
llvm: Homepage: http://llvm.org/
llvm:

View file

@ -0,0 +1,11 @@
llvm13-compat: llvm13-compat (LLVM13 runtime libraries)
llvm13-compat:
llvm13-compat: This is a collection of libraries from LLVM13 to provide runtime
llvm13-compat: support for binaries compiled against them.
llvm13-compat:
llvm13-compat:
llvm13-compat:
llvm13-compat:
llvm13-compat:
llvm13-compat:
llvm13-compat:

View file

@ -0,0 +1,10 @@
--- ./tools/clang/lib/Driver/ToolChains/Gnu.cpp.orig 2022-04-25 22:44:44.000000000 -0500
+++ ./tools/clang/lib/Driver/ToolChains/Gnu.cpp 2022-04-28 13:34:46.834049926 -0500
@@ -2107,6 +2107,7 @@
static const char *const X86Triples[] = {
"i586-linux-gnu", "i686-linux-gnu", "i686-pc-linux-gnu",
"i386-redhat-linux6E", "i686-redhat-linux", "i386-redhat-linux",
+ "i586-slackware-linux", "i686-slackware-linux",
"i586-suse-linux", "i686-montavista-linux", "i686-gnu",
};

View file

@ -0,0 +1,14 @@
--- ./tools/lldb/source/Utility/CMakeLists.txt.orig 2022-06-22 11:46:24.000000000 -0500
+++ ./tools/lldb/source/Utility/CMakeLists.txt 2022-06-27 22:33:56.715179825 -0500
@@ -19,9 +19,9 @@
list(APPEND LLDB_SYSTEM_LIBS ws2_32 rpcrt4)
endif ()
-if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB )
+#if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB )
list(APPEND LLDB_SYSTEM_LIBS atomic)
-endif()
+#endif()
add_lldb_library(lldbUtility
ArchSpec.cpp

339
extra/source/llvm/llvm.SlackBuild Executable file
View file

@ -0,0 +1,339 @@
#!/bin/bash
# Slackware build script for llvm
# Copyright 2008-2016 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
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_slack15.0}
# For the two options below, either set both to OFF or *only one* to ON:
# Build using -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCLANG_LINK_CLANG_DYLIB=ON:
# This is the upstream recommended way to build LLVM with shared libraries and
# seems to be the way to go these days.
LLVM_BUILD_LLVM_DYLIB=${LLVM_BUILD_LLVM_DYLIB:=ON}
# Build using -DBUILD_SHARED_LIBS=ON.
# We used this for years here to get a smaller LLVM package, but it no longer
# works. Feel free to try it, but expect breakage.
BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS:=OFF}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
exit 0
fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
BUILDDIR=${TMP}/llvm-build-${VERSION}
# Ignore that which should be ignored to avoid long build times and
# massive warning spew:
IGNORE_GNU_EXTENSIONS=${IGNORE_GNU_EXTENSIONS:--Wno-unknown-warning-option -Wno-gnu-line-marker -Wno-gnu-anonymous-struct -Wno-gnu-include-next}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686 $IGNORE_GNU_EXTENSIONS"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686 $IGNORE_GNU_EXTENSIONS"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC $IGNORE_GNU_EXTENSIONS"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2 $IGNORE_GNU_EXTENSIONS"
LIBDIRSUFFIX=""
fi
# Building clangd will be determined automatically unless BUILD_CLANG is
# preset to YES or NO:
if [ -z $BUILD_CLANGD ]; then
if [ "$ARCH" = "i586" -o "$ARCH" = "i686" ]; then
BUILD_CLANGD=NO
else
BUILD_CLANGD=YES
fi
fi
if [ "$BUILD_CLANGD" = "NO" ]; then
CLANGD="-DCLANG_ENABLE_CLANGD=OFF"
fi
# Python2 short version:
PY2=$(python -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())' | cut -f 2 -d n | cut -f 1 -d /)
# Python3 short version:
PY3=$(python3 -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())' | cut -f 2 -d n | cut -f 1 -d /)
# Sadly, glibc-2.30 exposed some sort of problem with clang and icecream.
# The symptom is a compile failure that says none of the types in
# <linux/types.h> are defined, even though they are. gcc/g++ seem unaffected.
# For now, not much choice other than to disable this.
# Don't use icecream:
#PATH=$(echo $PATH | sed "s|/usr/libexec/icecc/bin||g" | tr -s : | sed "s/^://g" | sed "s/:$//g")
rm -rf $PKG $BUILDDIR
mkdir -p $TMP $PKG $BUILDDIR
cd $BUILDDIR
# Add a fake configure script so the cleanup script used here at Slackware
# knows to delete this stuff later. Other folks can just ignore this... it
# doesn't have any other purpose.
touch configure
chmod 755 configure
# Extract and rename some support files:
echo "Extracting $CWD/cmake-$VERSION.src.tar.xz..."
tar xf $CWD/cmake-$VERSION.src.tar.xz || exit 1
mv cmake-$VERSION.src cmake
echo "Extracting $CWD/third-party-$VERSION.src.tar.xz..."
tar xf $CWD/third-party-$VERSION.src.tar.xz || exit 1
mv third-party-$VERSION.src third-party
rm -rf $PKGNAM-${VERSION}.src $PKGNAM-${VERSION}
echo "Extracting $CWD/$PKGNAM-$VERSION.src.tar.xz..."
tar xf $CWD/$PKGNAM-$VERSION.src.tar.xz || exit 1
cd $PKGNAM-${VERSION}.src/tools || cd $PKGNAM-${VERSION}/tools || exit 1
echo "Extracting $CWD/clang-$VERSION.src.tar.xz..."
tar xf $CWD/clang-$VERSION.src.tar.xz || exit 1
mv clang-${VERSION} clang 2>/dev/null || mv clang-${VERSION}.src clang || exit 1
#echo "Extracting $CWD/flang-$VERSION.src.tar.xz..."
#tar xf $CWD/flang-$VERSION.src.tar.xz || exit 1
#mv flang-${VERSION} flang 2>/dev/null || mv flang-${VERSION}.src flang || exit 1
echo "Extracting $CWD/lldb-$VERSION.src.tar.xz..."
tar xf $CWD/lldb-$VERSION.src.tar.xz || exit 1
mv lldb-${VERSION} lldb 2>/dev/null || mv lldb-${VERSION}.src lldb || exit 1
echo "Extracting $CWD/lld-$VERSION.src.tar.xz..."
tar xf $CWD/lld-$VERSION.src.tar.xz || exit 1
mv lld-${VERSION} lld 2>/dev/null || mv lld-${VERSION}.src lld || exit 1
cd ../
cd tools/clang/tools || exit 1
echo "Extracting $CWD/clang-tools-extra-$VERSION.src.tar.xz..."
tar xf $CWD/clang-tools-extra-$VERSION.src.tar.xz || exit 1
mv clang-tools-extra-${VERSION} extra 2>/dev/null \
|| mv clang-tools-extra-${VERSION}.src extra || exit 1
cd ../../../
cd projects || exit 1
echo "Extracting $CWD/compiler-rt-$VERSION.src.tar.xz..."
tar xf $CWD/compiler-rt-$VERSION.src.tar.xz || exit 1
mv compiler-rt-${VERSION} compiler-rt 2>/dev/null || mv compiler-rt-${VERSION}.src compiler-rt || exit 1
echo "Extracting $CWD/openmp-$VERSION.src.tar.xz..."
tar xf $CWD/openmp-$VERSION.src.tar.xz || exit 1
mv openmp-${VERSION} openmp 2>/dev/null || mv openmp-${VERSION}.src openmp || exit 1
echo "Extracting $CWD/libcxx-${VERSION}.src.tar.xz..."
tar xf $CWD/libcxx-${VERSION}.src.tar.xz || exit 1
mv libcxx-${VERSION} libcxx 2>/dev/null || mv libcxx-${VERSION}.src libcxx || exit 1
echo "Extracting $CWD/libcxxabi-${VERSION}.src.tar.xz..."
tar xf $CWD/libcxxabi-${VERSION}.src.tar.xz || exit 1
mv libcxxabi-${VERSION} libcxxabi 2>/dev/null || mv libcxxabi-${VERSION}.src libcxxabi || exit 1
echo "Extracting $CWD/polly-$VERSION.src.tar.xz..."
tar xf $CWD/polly-$VERSION.src.tar.xz || exit 1
mv polly-${VERSION} polly 2>/dev/null || mv polly-${VERSION}.src polly || exit 1
# We just need a header file from this...
echo "Extracting $CWD/libunwind-${VERSION}.src.tar.xz..."
tar xf $CWD/libunwind-${VERSION}.src.tar.xz || exit 1
mv libunwind-${VERSION}.src libunwind || mv libunwind-${VERSION} libunwind || exit 1
cd ../
# Support GCC built for i586-slackware-linux:
zcat $CWD/clang.toolchains.i586.triple.diff.gz | patch -p1 --verbose || exit 1
# We require libatomic on 32-bit platforms:
if [ -f ./tools/lldb/source/Utility/CMakeLists.txt ]; then
if [ "$ARCH" = "i586" -o "$ARCH" = "i686" ]; then
zcat $CWD/lldb.32-bit.link.libatomic.diff.gz | patch -p1 --verbose || exit 1
fi
fi
# These files are not present for some reason, but they were found in a git
# pull of the entire project:
cp -a $CWD/missing-runtime-modules/*.cmake ../cmake/Modules/
# These hackish links seem to be required...
cd ..
ln -sf */runtimes .
cd -
cd projects
ln -sf ../../cmake .
cd -
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \+ -o \
\( -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
if [ -x /usr/bin/lld ]; then
LINKER_OPTIONS="-DLLVM_USE_LINKER=lld"
fi
mkdir build
cd build
mkdir include
# Copy this LLVM libunwind header or it won't be found:
cp -a ../projects/libunwind/include/mach-o include
# Nuke LLVM libunwind as it conflicts with the one already on the system:
rm -r ../projects/libunwind
cmake -GNinja \
-DCMAKE_C_COMPILER="clang" \
-DCMAKE_CXX_COMPILER="clang++" \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLLVM_LIBDIR_SUFFIX=${LIBDIRSUFFIX} \
-DLIBCXX_LIBDIR_SUFFIX=${LIBDIRSUFFIX} \
-DLIBCXXABI_LIBDIR_SUFFIX=${LIBDIRSUFFIX} \
-DCMAKE_BUILD_TYPE=Release \
$SHARED_LIBRARY_OPTIONS \
$LINKER_OPTIONS \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_ENABLE_ZLIB=ON \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=NO \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_BINUTILS_INCDIR=/usr/include \
-DCLANG_RESOURCE_DIR="../lib${LIBDIRSUFFIX}/clang/$(echo $VERSION | cut -f 1 -d .)" \
-DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLIBCXX_INCLUDE_BENCHMARKS=OFF \
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
-DCLANG_DEFAULT_PIE_ON_LINUX=ON \
-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=ON \
$CLANGD \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
DESTDIR=$PKG "$NINJA" install || exit 1
cd ..
# Add symlinks for $ARCH-slackware-linux-{clang,clang++}:
( cd $PKG/usr/bin
ln -sf clang $ARCH-slackware-linux-clang
ln -sf clang++ $ARCH-slackware-linux-clang++
)
# Install clang-static-analyzer:
for i in ccc c++; do
ln -s /usr/libexec/$i-analyzer \
$PKG/usr/bin/$i-analyzer || exit 1
done
# Ensure lit-cpuid is installed:
if [ ! -r $PKG/usr/bin/lit-cpuid ]; then
cp -a build/bin/lit-cpuid $PKG/usr/bin/lit-cpuid
chown root:root $PKG/usr/bin/lit-cpuid
chmod 755 $PKG/usr/bin/lit-cpuid
fi
# Remove symlink to libgomp, which is already provided by gcc:
rm -f $PKG/usr/lib$LIBDIRSUFFIX/libgomp.so
# Install Python bindings:
for pyver in ${PY2} ${PY3}; do
mkdir -p "$PKG/usr/lib$LIBDIRSUFFIX/python$pyver/site-packages"
cp -a tools/clang/bindings/python/clang "$PKG/usr/lib$LIBDIRSUFFIX/python$pyver/site-packages/"
done
# Remove bundled python-six:
rm -f "$PKG/usr/lib$LIBDIRSUFFIX/python${PY2}/site-packages/six.py"
# Compile Python scripts:
python -m compileall "$PKG/usr/lib$LIBDIRSUFFIX/python${PY2}/site-packages/clang"
python -O -m compileall "$PKG/usr/lib$LIBDIRSUFFIX/python${PY2}/site-packages/clang"
python3 -m compileall "$PKG/usr/lib$LIBDIRSUFFIX/python${PY3}/site-packages/clang"
python3 -O -m compileall "$PKG/usr/lib$LIBDIRSUFFIX/python${PY3}/site-packages/clang"
python -m compileall "$PKG/usr/lib$LIBDIRSUFFIX/python${PY2}/site-packages/lldb"
python -O -m compileall "$PKG/usr/lib$LIBDIRSUFFIX/python${PY2}/site-packages/lldb"
python -m compileall "$PKG/usr/share/scan-view"
python -O -m compileall "$PKG/usr/share/scan-view"
python -m compileall "$PKG/usr/share/clang"
python -O -m compileall "$PKG/usr/share/clang"
python -m compileall "$PKG/usr/share/opt-viewer"
python -O -m compileall "$PKG/usr/share/opt-viewer"
# Move man page directory:
mv $PKG/usr/share/man $PKG/usr/
# Strip binaries:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
# Compress manual pages:
find $PKG/usr/man -type f -exec gzip -9 {} \+
for i in $( find $PKG/usr/man -type l ) ; do
ln -s $( readlink $i ).gz $i.gz
rm $i
done
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/{clang,lldb,clang-tools-extra,compiler-rt,openmp,polly}
cp -a CREDITS* LICENSE* README* $PKG/usr/doc/$PKGNAM-$VERSION
cp -a tools/clang/{INSTALL,LICENSE,NOTES,README}* \
$PKG/usr/doc/$PKGNAM-$VERSION/clang
cp -a tools/lldb/{CODE_OWNERS,INSTALL,LICENSE}* \
$PKG/usr/doc/$PKGNAM-$VERSION/lldb
cp -a tools/clang/tools/extra/{CODE_OWNERS,LICENSE,README}* \
$PKG/usr/doc/$PKGNAM-$VERSION/clang-tools-extra
cp -a projects/compiler-rt/{CODE_OWNERS,CREDITS,LICENSE,README}* \
$PKG/usr/doc/$PKGNAM-$VERSION/compiler-rt
cp -a projects/openmp/{CREDITS,LICENSE}* \
$PKG/usr/doc/$PKGNAM-$VERSION/openmp
cp -a projects/polly/{CREDITS,LICENSE,README}* \
$PKG/usr/doc/$PKGNAM-$VERSION/polly
mv $PKG/usr/docs/llvm/* $PKG/usr/doc/$PKGNAM-$VERSION
rm -rf $PKG/usr/docs
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz

View file

@ -0,0 +1,29 @@
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/llvm-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/clang-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/clang-tools-extra-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/compiler-rt-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/flang-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/lldb-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/openmp-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/polly-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/libcxx-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/libcxxabi-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/lld-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/libunwind-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/cmake-17.0.6.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/third-party-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/llvm-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/clang-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/clang-tools-extra-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/compiler-rt-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/flang-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/lldb-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/openmp-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/polly-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/libcxx-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/libcxxabi-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/lld-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/libunwind-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/cmake-17.0.6.src.tar.xz
#http://llvm.org/releases/17.0.6/third-party-17.0.6.src.tar.xz

View file

@ -0,0 +1,113 @@
include(CheckCXXCompilerFlag)
unset(add_flag_if_supported)
# Mangle the name of a compiler flag into a valid CMake identifier.
# Ex: --std=c++11 -> STD_EQ_CXX11
macro(mangle_name str output)
string(STRIP "${str}" strippedStr)
string(REGEX REPLACE "^/" "" strippedStr "${strippedStr}")
string(REGEX REPLACE "^-+" "" strippedStr "${strippedStr}")
string(REGEX REPLACE "-+$" "" strippedStr "${strippedStr}")
string(REPLACE "-" "_" strippedStr "${strippedStr}")
string(REPLACE "=" "_EQ_" strippedStr "${strippedStr}")
string(REPLACE "+" "X" strippedStr "${strippedStr}")
string(TOUPPER "${strippedStr}" ${output})
endmacro()
# Remove a list of flags from all CMake variables that affect compile flags.
# This can be used to remove unwanted flags specified on the command line
# or added in other parts of LLVM's cmake configuration.
macro(remove_flags)
foreach(var ${ARGN})
string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")
string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REPLACE "${var}" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "${var}" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
string(REPLACE "${var}" "" CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
string(REPLACE "${var}" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
string(REPLACE "${var}" "" CMAKE_SHARED_MODULE_FLAGS "${CMAKE_SHARED_MODULE_FLAGS}")
remove_definitions(${var})
endforeach()
endmacro(remove_flags)
macro(check_flag_supported flag)
mangle_name("${flag}" flagname)
check_cxx_compiler_flag("${flag}" "CXX_SUPPORTS_${flagname}_FLAG")
endmacro()
macro(append_flags DEST)
foreach(value ${ARGN})
list(APPEND ${DEST} ${value})
list(APPEND ${DEST} ${value})
endforeach()
endmacro()
# If the specified 'condition' is true then append the specified list of flags to DEST
macro(append_flags_if condition DEST)
if (${condition})
list(APPEND ${DEST} ${ARGN})
endif()
endmacro()
# Add each flag in the list specified by DEST if that flag is supported by the current compiler.
macro(append_flags_if_supported DEST)
foreach(flag ${ARGN})
mangle_name("${flag}" flagname)
check_cxx_compiler_flag("${flag}" "CXX_SUPPORTS_${flagname}_FLAG")
append_flags_if(CXX_SUPPORTS_${flagname}_FLAG ${DEST} ${flag})
endforeach()
endmacro()
# Add a macro definition if condition is true.
macro(define_if condition def)
if (${condition})
add_definitions(${def})
endif()
endmacro()
# Add a macro definition if condition is not true.
macro(define_if_not condition def)
if (NOT ${condition})
add_definitions(${def})
endif()
endmacro()
# Add a macro definition to the __config_site file if the specified condition
# is 'true'. Note that '-D${def}' is not added. Instead it is expected that
# the build include the '__config_site' header.
macro(config_define_if condition def)
if (${condition})
set(${def} ON)
endif()
endmacro()
macro(config_define_if_not condition def)
if (NOT ${condition})
set(${def} ON)
endif()
endmacro()
macro(config_define value def)
set(${def} ${value})
endmacro()
# Turn a comma separated CMake list into a space separated string.
macro(split_list listname)
string(REPLACE ";" " " ${listname} "${${listname}}")
endmacro()
# For each specified flag, add that compile flag to the provided target.
# The flags are added with the given visibility, i.e. PUBLIC|PRIVATE|INTERFACE.
function(target_add_compile_flags_if_supported target visibility)
foreach(flag ${ARGN})
mangle_name("${flag}" flagname)
check_cxx_compiler_flag("${flag}" "CXX_SUPPORTS_${flagname}_FLAG")
if (CXX_SUPPORTS_${flagname}_FLAG)
target_compile_options(${target} ${visibility} ${flag})
endif()
endforeach()
endfunction()

View file

@ -0,0 +1,77 @@
include(HandleFlags)
# Warning flags ===============================================================
function(cxx_add_warning_flags target enable_werror enable_pedantic)
target_compile_definitions(${target} PUBLIC -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
if (MSVC)
# -W4 is the cl.exe/clang-cl equivalent of -Wall. (In cl.exe and clang-cl,
# -Wall is equivalent to -Weverything in GCC style compiler drivers.)
target_add_compile_flags_if_supported(${target} PRIVATE -W4)
else()
target_add_compile_flags_if_supported(${target} PRIVATE -Wall)
endif()
# TODO: Should -Wconversion be enabled?
target_add_compile_flags_if_supported(${target} PRIVATE
-Wextra
-Wnewline-eof
-Wshadow
-Wwrite-strings
-Wno-unused-parameter
-Wno-long-long
-Werror=return-type
-Wextra-semi
-Wundef
-Wunused-template
-Wformat-nonliteral
)
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
target_add_compile_flags_if_supported(${target} PRIVATE
-Wno-user-defined-literals
-Wno-covered-switch-default
-Wno-suggest-override
)
if (LIBCXX_TARGETING_CLANG_CL)
target_add_compile_flags_if_supported(${target} PRIVATE
-Wno-c++98-compat
-Wno-c++98-compat-pedantic
-Wno-c++11-compat
-Wno-undef
-Wno-reserved-id-macro
-Wno-gnu-include-next
-Wno-gcc-compat # For ignoring "'diagnose_if' is a clang extension" warnings
-Wno-zero-as-null-pointer-constant # FIXME: Remove this and fix all occurrences.
-Wno-deprecated-dynamic-exception-spec # For auto_ptr
-Wno-sign-conversion
-Wno-old-style-cast
-Wno-deprecated # FIXME: Remove this and fix all occurrences.
-Wno-shift-sign-overflow # FIXME: Why do we need this with clang-cl but not clang?
-Wno-double-promotion # FIXME: remove me
)
endif()
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
target_add_compile_flags_if_supported(${target} PRIVATE
-Wstrict-aliasing=2
-Wstrict-overflow=4
-Wno-attributes
-Wno-literal-suffix
-Wno-c++14-compat
-Wno-noexcept-type
-Wno-suggest-override
)
endif()
if (${enable_werror})
target_add_compile_flags_if_supported(${target} PRIVATE -Werror)
target_add_compile_flags_if_supported(${target} PRIVATE -WX)
else()
# TODO(EricWF) Remove this. We shouldn't be suppressing errors when -Werror is
# added elsewhere.
target_add_compile_flags_if_supported(${target} PRIVATE -Wno-error)
endif()
if (${enable_pedantic})
target_add_compile_flags_if_supported(${target} PRIVATE -pedantic)
endif()
endfunction()

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
llvm: llvm (LLVM compiler toolkit)
llvm:
llvm: LLVM is a toolkit for the construction of highly optimized compilers,
llvm: optimizers, and runtime environments.
llvm:
llvm: This package also includes the clang frontend for the C family of
llvm: languages: C, C++, Objective-C, and Objective-C++
llvm:
llvm:
llvm: Homepage: http://llvm.org/
llvm:

View file

@ -0,0 +1,118 @@
#!/bin/bash
# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=llvm13-compat
VERSION=${VERSION:-13.0.0}
BUILD=${BUILD:-1_slack15.0}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
exit 0
fi
NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
# Create a directory for the libraries:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
echo "Copying list of directly-linked libraries..."
cat $CWD/llvm13-list-of-libraries-to-retain | while read library ; do
if [ ! "$(echo $library | cut -c 1)" = "#" ]; then
if [ ! -e /usr/lib${LIBDIRSUFFIX}/$library ]; then
echo "ERROR: llvm 13 package must be installed so that we can extract libraries from the system."
exit 1
fi
cp -a -v /usr/lib${LIBDIRSUFFIX}/$library $PKG/usr/lib${LIBDIRSUFFIX}
if [ -L /usr/lib${LIBDIRSUFFIX}/$library ]; then
cp -a /usr/lib${LIBDIRSUFFIX}/$(readlink /usr/lib${LIBDIRSUFFIX}/$library) $PKG/usr/lib${LIBDIRSUFFIX}
fi
fi
done || exit 1
echo "Copying other LLVM libraries required by the already copied ones..."
cd $PKG/usr/lib${LIBDIRSUFFIX}
touch $PKG/scan
while [ -e $PKG/scan ]; do
# we'll reset this flag if we find something. We need to make one pass without
# finding anything to leave this loop.
rm $PKG/scan
for library in lib* ; do
readelf -d $library | grep "Shared library" | rev | cut -f 1 -d ' ' | rev | tr -d \[ | tr -d \] | grep ".so.13$" | while read dep ; do
if [ ! -e $dep ]; then
echo "Copying $dep for $library..."
cp -a -v /usr/lib${LIBDIRSUFFIX}/$dep $PKG/usr/lib${LIBDIRSUFFIX}
if [ -L /usr/lib${LIBDIRSUFFIX}/$dep ]; then
cp -a /usr/lib${LIBDIRSUFFIX}/$(readlink /usr/lib${LIBDIRSUFFIX}/$dep) $PKG/usr/lib${LIBDIRSUFFIX}
fi
touch $PKG/scan
fi
done
done
done
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz

View file

@ -0,0 +1,38 @@
# If these libraries exist on the host system, they'll be added to the package
# for backwards compatibility with the llvm-13 package.
libLLVMAMDGPUAsmParser.so.13
libLLVMAMDGPUCodeGen.so.13
libLLVMAMDGPUDesc.so.13
libLLVMAMDGPUDisassembler.so.13
libLLVMAMDGPUInfo.so.13
libLLVMAnalysis.so.13
libLLVMBPFAsmParser.so.13
libLLVMBPFCodeGen.so.13
libLLVMBPFDesc.so.13
libLLVMBPFInfo.so.13
libLLVMBitReader.so.13
libLLVMBitWriter.so.13
libLLVMCore.so.13
libLLVMCoroutines.so.13
libLLVMExecutionEngine.so.13
libLLVMIRReader.so.13
libLLVMInstCombine.so.13
libLLVMLinker.so.13
libLLVMMC.so.13
libLLVMMCDisassembler.so.13
libLLVMMCJIT.so.13
libLLVMRuntimeDyld.so.13
libLLVMScalarOpts.so.13
libLLVMSupport.so.13
libLLVMTarget.so.13
libLLVMTransformUtils.so.13
libLLVMX86AsmParser.so.13
libLLVMX86CodeGen.so.13
libLLVMX86Desc.so.13
libLLVMX86Disassembler.so.13
libLLVMX86Info.so.13
libLLVMipo.so.13
libclang-cpp.so.13
libclang.so.13
# Stupid outlier:
libPollyISL.so

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
llvm13-compat: llvm13-compat (LLVM13 runtime libraries)
llvm13-compat:
llvm13-compat: This is a collection of libraries from LLVM13 to provide runtime
llvm13-compat: support for binaries compiled against them.
llvm13-compat:
llvm13-compat:
llvm13-compat:
llvm13-compat:
llvm13-compat:
llvm13-compat:
llvm13-compat:

View file

@ -14,6 +14,8 @@ gzip ./extra/source/xv/xv.prefix_x86_64.diff
gzip ./extra/source/xv/xv.jasper.diff gzip ./extra/source/xv/xv.jasper.diff
gzip ./extra/source/xv/xv.prefix.diff gzip ./extra/source/xv/xv.prefix.diff
gzip ./extra/source/getty-ps/getty.bugfixes.diff gzip ./extra/source/getty-ps/getty.bugfixes.diff
gzip ./extra/source/llvm/lldb.32-bit.link.libatomic.diff
gzip ./extra/source/llvm/clang.toolchains.i586.triple.diff
gzip ./extra/source/fltk/fltk.fltk-config.in.diff gzip ./extra/source/fltk/fltk.fltk-config.in.diff
gzip ./extra/source/bittornado/btdownloadxterm.sh gzip ./extra/source/bittornado/btdownloadxterm.sh
gzip ./extra/source/bittornado/doinst.sh gzip ./extra/source/bittornado/doinst.sh