sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[[SM-Commit] ] GIT changes to master grimoire by Justin Boffemmyer (9c4c49ad36c77d3dce4c8d28eabfedaf8bcdc676)
- From: Justin Boffemmyer <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
- Subject: [[SM-Commit] ] GIT changes to master grimoire by Justin Boffemmyer (9c4c49ad36c77d3dce4c8d28eabfedaf8bcdc676)
- Date: Fri, 17 Jan 2025 08:27:41 +0000
GIT changes to master grimoire by Justin Boffemmyer <flux AT sourcemage.org>:
devel/llvm/BUILD | 44
+++++++++++++++++++++++++++++++++----------
devel/llvm/DEPENDS | 9 +++++++-
devel/llvm/HISTORY | 10 +++++++++
devel/llvm/PREPARE | 18 ++++++++++-------
devel/llvm/PRE_BUILD | 36 +++++++++++++++++------------------
vulkan/spirv-headers/DETAILS | 6 ++---
vulkan/spirv-headers/HISTORY | 3 ++
vulkan/spirv-tools/DETAILS | 10 ++++-----
vulkan/spirv-tools/HISTORY | 3 ++
9 files changed, 95 insertions(+), 44 deletions(-)
New commits:
commit 9c4c49ad36c77d3dce4c8d28eabfedaf8bcdc676
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
devel/llvm: fix and improve builds, add more support
Fix the support for SPIR-V and make the target, project, and runtime
selection and usage in BUILD more robust.
Correct CLANG_ to LLVM_ for the setting name that enables/disables Z3
solver support.
Add support for building SPIR-V and Vulkan runners in MLIR.
Explicitly set or unset the option for enabling doxygen documentation in
the build rather than relying on the build system to correctly pick it
up automatically based on the presence or absence of doxygen in the host
system. Explicitly include clang-tools-extra in the projects to build,
and explicitly ensure that the LLVM utilities are installed as well as
built if the user enables them.
Leave the linker choice as-is in PREPARE and manipulate the selection
string in BUILD instead. When the selected linker is lld (or equivalent
to it, even via symlink as the system linker), force the LLVM_ENABLE_LLD
setting to on to ensure that the LLVM build takes advantage of using
lld.
commit 9e8a9ffe60c1a80527b341bfd63a30c978ba85a3
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
vulkan/spirv-headers: update to 1.3.290.0
commit bd461796e448bd57311e72b556f7959c3a178018
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
vulkan/spirv-tools: update to 2024.3
diff --git a/devel/llvm/BUILD b/devel/llvm/BUILD
index 8d1ec03..b892aef 100755
--- a/devel/llvm/BUILD
+++ b/devel/llvm/BUILD
@@ -10,8 +10,10 @@ CXXFLAGS="${CXXFLAGS//-DPIC}" &&
# Default target, not detected correctly
OPTS="$OPTS -DLLVM_DEFAULT_TARGET_TRIPLE=$HOST" &&
-# LLVM_TARGETS
+# LLVM_targets and runtimes
OPTS="$OPTS -DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS// /;}" &&
+OPTS="$OPTS
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=${LLVM_EXPERIMENTAL_TARGETS// /;}" &&
+OPTS="$OPTS -DLLVM_ENABLE_RUNTIMES=${LLVM_RUNTIMES// /;}" &&
# recommended by mesa project
OPTS="$OPTS -DLLVM_LINK_LLVM_DYLIB=1" &&
@@ -40,7 +42,7 @@ if [[ "$LLVM_WITH_BOLT" == y ]] ;then
fi &&
if [[ "$LLVM_WITH_CLANG" == y ]] ;then
- LLVM_PROJECTS="$LLVM_PROJECTS clang" &&
+ LLVM_PROJECTS="$LLVM_PROJECTS clang;clang-tools-extra" &&
OPTS="$OPTS -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=ON" &&
OPTS="$OPTS -DCLANG_INCLUDE_BENCHMARKS=OFF" &&
OPTS="$OPTS -DCLANG_INCLUDE_TESTS=OFF"
@@ -74,7 +76,10 @@ fi &&
if [[ "$LLVM_WITH_MLIR" == y ]] ;then
LLVM_PROJECTS="$LLVM_PROJECTS mlir" &&
OPTS="$OPTS -DLLVM_TOOL_MLIR_BUILD=ON" &&
- OPTS="$OPTS -DMLIR_ENABLE_PYTHON_BENCHMARKS=OFF"
+ OPTS="$OPTS -DMLIR_ENABLE_PYTHON_BENCHMARKS=OFF" &&
+ if [[ "$LLVM_WITH_SPIRV" == y ]] ;then
+ OPTS="$OPTS -DMLIR_ENABLE_SPIRV_CPU_RUNNER=ON"
+ fi
fi &&
if [[ "$LLVM_WITH_POLLY" == y ]] ;then
@@ -83,14 +88,16 @@ if [[ "$LLVM_WITH_POLLY" == y ]] ;then
fi &&
if [[ "$LLVM_WITH_SPIRV" == y ]] ;then
- OPTS="$OPTS -DLLVM_EXPERIMENTAL_TARGETS=SPIRV" &&
- OPTS="$OPTS -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr/include/spirv"
+ OPTS="$OPTS -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr/include/spirv" &&
+ OPTS="$OPTS -DLLVM_TOOL_SPIRV_BUILD=ON"
fi &&
if [[ "$LLVM_WITH_UTILS" == y ]] ;then
OPTS="$OPTS -DLLVM_BUILD_UTILS=ON"
+ OPTS="$OPTS -DLLVM_INSTALL_UTILS=ON"
else
OPTS="$OPTS -DLLVM_BUILD_UTILS=OFF"
+ OPTS="$OPTS -DLLVM_INSTALL_UTILS=OFF"
fi &&
if list_find "$LLVM_RUNTIMES" "compiler-rt" ;then
@@ -100,7 +107,7 @@ fi &&
if list_find "$LLVM_RUNTIMES" "libcxx" ;then
OPTS="$OPTS -DLLVM_TOOL_LIBCXX_BUILD=ON" &&
- # libcxx includes benchmarks by default, which in turn depend ON
+ # libcxx includes benchmarks by default, which in turn depend on
# google-benchmark, so disable them
OPTS="$OPTS -DLIBCXX_INCLUDE_BENCHMARKS=OFF"
fi &&
@@ -131,9 +138,26 @@ if [ -n "$LLVM_TOOLCHAIN_COMPILER" ] ;then
fi
if [ -n "$LLVM_TOOLCHAIN_LINKER" ] ;then
- OPTS="$OPTS -DCMAKE_LINKER_TYPE=$(echo $LLVM_TOOLCHAIN_LINKER | tr [a-z]
[A-Z])"
-fi
+ local linker="$LLVM_TOOLCHAIN_LINKER" &&
+ case "$linker" in
+ default)
+ linker="SYSTEM"
+ case "$(readlink -f "$(command -v ld)" | sed 's,^.*/,,')" in
+ lld|ld*.lld) OPTS="$OPTS -DLLVM_ENABLE_LLD=ON" ;;
+ esac
+ ;;
+ lld) OPTS="$OPTS -DLLVM_ENABLE_LLD=ON" ;;
+ esac &&
+ linker="$(echo "$linker" | tr [a-z] [A-Z])" &&
+ OPTS="$OPTS -DCMAKE_LINKER_TYPE=$linker"
+fi &&
+
+if [ -n "$LLVM_EXTERNAL_PROJECTS" ] ;then
+ OPTS="$OPTS -DLLVM_EXTERNAL_PROJECTS=${LLVM_EXTERNAL_PROJECTS// /;}"
+fi &&
+
+if [ -n "$LLVM_PROJECTS" ] ;then
+ OPTS="$OPTS -DLLVM_ENABLE_PROJECTS=${LLVM_PROJECTS// /;}"
+fi &&
-OPTS="$OPTS -DLLVM_ENABLE_PROJECTS=${LLVM_PROJECTS// /;}" &&
-OPTS="$OPTS -DLLVM_ENABLE_RUNTIMES=${LLVM_RUNTIMES// /;}" &&
cmake_build -S ../llvm
diff --git a/devel/llvm/DEPENDS b/devel/llvm/DEPENDS
index fc12a4b..0f2eb9d 100755
--- a/devel/llvm/DEPENDS
+++ b/devel/llvm/DEPENDS
@@ -33,7 +33,7 @@ buildsys_optional_depends zstd\
&&
buildsys_optional_depends z3 \
- -o CLANG_ENABLE_Z3_SOLVER \
+ -o LLVM_ENABLE_Z3_SOLVER \
"Enable support for the Z3 constraint solver?" \
&&
@@ -47,6 +47,7 @@ buildsys_optional_depends ocaml \
&&
buildsys_optional_depends doxygen \
+ -o LLVM_ENABLE_DOXYGEN \
"Build documentation?" \
&&
@@ -57,6 +58,12 @@ if [[ "$LLVM_WITH_LLDB" == y ]]; then
buildsys_depends ncurses
fi &&
+if [[ "$LLVM_WITH_MLIR" == y ]]; then
+ buildsys_optional_depends vulkan-loader \
+ -o MLIR_ENABLE_VULKAN_RUNNER \
+ "Build the MLIR Vulkan runner?"
+fi &&
+
if [[ "$LLVM_WITH_SPIRV" == y ]]; then
buildsys_depends spirv-headers &&
buildsys_depends spirv-tools
diff --git a/devel/llvm/HISTORY b/devel/llvm/HISTORY
index 0dbd0ab..4907e4f 100644
--- a/devel/llvm/HISTORY
+++ b/devel/llvm/HISTORY
@@ -1,3 +1,13 @@
+2025-01-17 Justin Boffemmyer <flux AT sourcemage.org>
+ * BUILD: fix experimental targets, make clang-tools-extra build
+ explicit, support SPIR-V runner for MLIR, make utils install
+ explicit, improve linker handling
+ * DEPENDS: fix Z3 option, make doxygen option explicit, support Vulkan
+ runner for MLIR
+ * PREPARE: move linker processing to BUILD, fix experimental target
+ processing
+ * PRE_BUILD: fix typo in SPIRV_VERSION variable usage, quote filenames
+
2025-01-16 Justin Boffemmyer <flux AT sourcemage.org>
* BUILD: add a workaround for building libclc
diff --git a/devel/llvm/PREPARE b/devel/llvm/PREPARE
index 59ab14c..2333b1a 100755
--- a/devel/llvm/PREPARE
+++ b/devel/llvm/PREPARE
@@ -105,13 +105,6 @@ config_query_list LLVM_TOOLCHAIN_LINKER \
"Which linker to use to link llvm and its components?" \
$linkers &&
-case "$LLVM_TOOLCHAIN_LINKER" in
- default)
- LLVM_TOOLCHAIN_LINKER="SYSTEM"
- persistent_add LLVM_TOOLCHAIN_LINKER
- ;;
-esac
-
config_query LLVM_WITH_RTTI "Enable RTTI? (recommended)" y &&
config_query LLVM_WITH_UTILS "Build the LLVM utilities?" y &&
config_query LLVM_WITH_BOLT "Build BOLT?" n &&
@@ -162,5 +155,16 @@ if [[ "$LLVM_WITH_LLD" == y ]] ;then
done
fi &&
+if list_find "$LLVM_EXPERIMENTAL_TARGETS" none ;then
+ LLVM_EXPERIMENTAL_TARGETS=""
+fi
+
+if [[ "$LLVM_WITH_SPIRV" == y ]] ;then
+ if ! list_find "$LLVM_EXPERIMENTAL_TARGETS" SPIRV ;then
+ LLVM_EXPERIMENTAL_TARGETS="$LLVM_EXPERIMENTAL_TARGETS SPIRV"
+ fi
+fi &&
+
+persistent_add LLVM_EXPERIMENTAL_TARGETS
persistent_add LLVM_RUNTIMES
persistent_add LLVM_WITH_SPIRV
diff --git a/devel/llvm/PRE_BUILD b/devel/llvm/PRE_BUILD
index efcb675..5f72472 100755
--- a/devel/llvm/PRE_BUILD
+++ b/devel/llvm/PRE_BUILD
@@ -2,85 +2,85 @@ mk_source_dir "$SOURCE_DIRECTORY" &&
cd "$SOURCE_DIRECTORY" &&
unpack_file &&
-mv llvm-${VERSION}.src llvm &&
+mv "llvm-${VERSION}.src" llvm &&
unpack_file 3 &&
-mv cmake-${VERSION}.src cmake &&
+mv "cmake-${VERSION}.src" cmake &&
if [[ "$LLVM_WITH_BOLT" == y ]]; then
unpack_file 5 &&
- mv bolt-${VERSION}.src bolt
+ mv "bolt-${VERSION}.src" bolt
fi &&
if [[ "$LLVM_WITH_CLANG" == y ]]; then
unpack_file 7 &&
- mv clang-${VERSION}.src clang &&
+ mv "clang-${VERSION}.src" clang &&
unpack_file 9 &&
- mv clang-tools-extra-${VERSION}.src clang-tools-extra &&
+ mv "clang-tools-extra-${VERSION}.src" clang-tools-extra &&
ln -s ../../clang-tools-extra clang/tools/extra
fi &&
if [[ "$LLVM_WITH_FLANG" == y ]]; then
unpack_file 34 &&
- mv flang-${VERSION}.src flang
+ mv "flang-${VERSION}.src" flang
fi &&
if [[ "$LLVM_WITH_LIBCLC" == y ]]; then
unpack_file 31 &&
- mv libclc-${VERSION}.src libclc
+ mv "libclc-${VERSION}.src" libclc
fi &&
if [[ "$LLVM_WITH_LLD" == y ]]; then
unpack_file 11 &&
- mv lld-${VERSION}.src lld
+ mv "lld-${VERSION}.src" lld
fi &&
if [[ "$LLVM_WITH_LLDB" == y ]]; then
unpack_file 13 &&
- mv lldb-${VERSION}.src lldb
+ mv "lldb-${VERSION}.src" lldb
fi &&
if [[ "$LLVM_WITH_MLIR" == y ]]; then
unpack_file 15 &&
- mv mlir-${VERSION}.src mlir
+ mv "mlir-${VERSION}.src" mlir
fi &&
if [[ "$LLVM_WITH_POLLY" == y ]]; then
unpack_file 17 &&
- mv polly-${VERSION}.src polly
+ mv "polly-${VERSION}.src" polly
fi &&
if [[ -n "$LLVM_RUNTIMES" ]] ;then
unpack_file 19 &&
- mv runtimes-${VERSION}.src runtimes
+ mv "runtimes-${VERSION}.src" runtimes
fi &&
if list_find "$LLVM_RUNTIMES" "compiler-rt"; then
unpack_file 21 &&
- mv compiler-rt-${VERSION}.src compiler-rt
+ mv "compiler-rt-${VERSION}.src" compiler-rt
fi &&
if list_find "$LLVM_RUNTIMES" "libcxx"; then
unpack_file 23 &&
- mv libcxx-${VERSION}.src libcxx
+ mv "libcxx-${VERSION}.src" libcxx
fi &&
if list_find "$LLVM_RUNTIMES" "libcxxabi"; then
unpack_file 25 &&
- mv libcxxabi-${VERSION}.src libcxxabi
+ mv "libcxxabi-${VERSION}.src" libcxxabi
fi &&
if list_find "$LLVM_RUNTIMES" "libunwind"; then
unpack_file 27 &&
- mv libunwind-${VERSION}.src libunwind
+ mv "libunwind-${VERSION}.src" libunwind
fi &&
if list_find "$LLVM_RUNTIMES" "openmp"; then
unpack_file 29 &&
- mv openmp-${VERSION}.src openmp
+ mv "openmp-${VERSION}.src" openmp
fi &&
if [[ "$LLVM_WITH_SPIRV" == y ]]; then
unpack_file 33 &&
- ln -s ../../SPIRV-LLVM-Translator-$SPIRV_VERSION} llvm/tools/llvm-spirv
+ ln -s "../../SPIRV-LLVM-Translator-${SPIRV_VERSION}" llvm/tools/llvm-spirv
fi
diff --git a/vulkan/spirv-headers/DETAILS b/vulkan/spirv-headers/DETAILS
index 5a263b3..588ec0f 100755
--- a/vulkan/spirv-headers/DETAILS
+++ b/vulkan/spirv-headers/DETAILS
@@ -1,10 +1,10 @@
SPELL=spirv-headers
SPELLX=SPIRV-Headers
- VERSION=1.3.268.0
-
SOURCE_HASH="sha512:3500c299a51dacc3e89066cfcfa8762cb6bc1be10ffff492fb3041831627e065cd836e3e0165df750dd22873a1772d916158e1e1c4701dc60efbb2edb17753ca"
+ VERSION=1.3.290.0
+
SOURCE_HASH="sha512:d3328cd4ddf87d075afacfb7ada01dbd16a3ff39b831e9ebe4ce3c32af0ff0c8822811b0e0d273a54b4acaba29b63b099efcf0150424bd9074d24d04a9974d89"
SOURCE="${SPELL}-sdk-${VERSION}.tar.gz"
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELLX}-vulkan-sdk-${VERSION}"
- WEB_SITE=https://github.com/KhronosGroup/$SPELLX
+ WEB_SITE="https://github.com/KhronosGroup/$SPELLX"
SOURCE_URL[0]="${WEB_SITE}/archive/refs/tags/vulkan-sdk-${VERSION}.tar.gz"
# Watch: https://github.com/KhronosGroup/SPIRV-Headers/tags
tags/vulkan\-sdk\-([0-9.]+)[.]tar
LICENSE[0]=APACHE
diff --git a/vulkan/spirv-headers/HISTORY b/vulkan/spirv-headers/HISTORY
index a7c450a..90b1e3a 100644
--- a/vulkan/spirv-headers/HISTORY
+++ b/vulkan/spirv-headers/HISTORY
@@ -1,3 +1,6 @@
+2025-01-17 Justin Boffemmyer <flux AT sourcemage.org>
+ * DETAILS: version 1.3.290.0
+
2023-12-10 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 1.3.268.0, refactored source url, tarbsll name,
build
directory and added Watch line, added SHORT
diff --git a/vulkan/spirv-tools/DETAILS b/vulkan/spirv-tools/DETAILS
index ce56eb9..05815dd 100755
--- a/vulkan/spirv-tools/DETAILS
+++ b/vulkan/spirv-tools/DETAILS
@@ -1,11 +1,11 @@
SPELL=spirv-tools
SPELLX=SPIRV-Tools
- VERSION=2023.6.rc1
-
SOURCE_HASH=sha512:37fe9bbcf36938d6ff48fcca00f3808ec0b26135f7e55199925fc8ba4bd72595ac3d4c38a0e2eae08571f71005f0e750e678a3e16c15bc7024d15b96b15f76bb
- SOURCE=$SPELL-$VERSION.tar.gz
+ VERSION=2024.3
+
SOURCE_HASH="sha512:804e2a076025a9afde2d7b0b6950fa7b7289b9aa911348b10aad45cc3515116b7484e886d49b524315f75e8d1a2009c2f26310352c154d1b23a58864e8535324"
+ SOURCE="$SPELL-$VERSION.tar.gz"
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELLX}-${VERSION}"
- WEB_SITE=https://github.com/KhronosGroup/$SPELLX
- SOURCE_URL[0]=$WEB_SITE/archive/v$VERSION.tar.gz
+ WEB_SITE="https://github.com/KhronosGroup/$SPELLX"
+ SOURCE_URL[0]="$WEB_SITE/archive/v$VERSION.tar.gz"
# Watch: https://github.com/KhronosGroup/SPIRV-Tools/tags
tags/v([0-9rc.]+)[.]tar
LICENSE[0]=APACHE
ENTERED=20180308
diff --git a/vulkan/spirv-tools/HISTORY b/vulkan/spirv-tools/HISTORY
index 5a7dfa0..2bc9573 100644
--- a/vulkan/spirv-tools/HISTORY
+++ b/vulkan/spirv-tools/HISTORY
@@ -1,3 +1,6 @@
+2025-01-17 Justin Boffemmyer <flux AT sourcemage.org>
+ * DETAILS: version 2024.3
+
2024-01-12 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 2023.6.rc1
- [[SM-Commit] ] GIT changes to master grimoire by Justin Boffemmyer (9c4c49ad36c77d3dce4c8d28eabfedaf8bcdc676), Justin Boffemmyer, 01/17/2025
Archive powered by MHonArc 2.6.24.