Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Ismael Luceno (9dd23bed5808ecb11ecbb255ac842593b0d1485a)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Ismael Luceno <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Ismael Luceno (9dd23bed5808ecb11ecbb255ac842593b0d1485a)
  • Date: Fri, 31 Mar 2023 19:17:51 +0000

GIT changes to master grimoire by Ismael Luceno <ismael AT sourcemage.org>:

ChangeLog
| 3
devel/llvm15/BUILD
| 27 ++++
devel/llvm15/CONFIGURE
| 25 ++++
devel/llvm15/DEPENDS
| 16 ++
devel/llvm15/DETAILS
| 56 +++++++++
devel/llvm15/HISTORY
| 8 +
devel/llvm15/PREPARE
| 4
devel/llvm15/PRE_BUILD
| 46 +++++++
devel/llvm15/PRE_SUB_DEPENDS
| 12 ++
devel/llvm15/SUB_DEPENDS
| 31 +++++
devel/llvm15/patches-clang/clang-001-fix-unwind-chain-inclusion.patch
| 45 +++++++
devel/llvm15/patches-lld/0001-Include-libunwind-from-source-directory.patch
| 28 ++++
devel/llvm15/patches-lld/libcxx-musl.patch
| 28 ++++
devel/llvm15/patches-lld/libcxxabi-dl.patch
| 27 ++++
devel/llvm15/patches-llvm/llvm-001-musl.patch
| 58 ++++++++++
devel/zig/BUILD
| 2
devel/zig/DEPENDS
| 12 +-
17 files changed, 422 insertions(+), 6 deletions(-)

New commits:
commit 9dd23bed5808ecb11ecbb255ac842593b0d1485a
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>

zip: Switch to llvm15 dep

commit 8936ea97da2078b44f425223cedb40990c211edd
Author: Conner Clere <xenanthropy AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>

llvm15: new spell, llvm version 15.0.7

[ismael: cleaned up unnecessary bits]
Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>

diff --git a/ChangeLog b/ChangeLog
index ed47511..4e1b6de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2023-03-30 Conner Clere <xenanthropy AT sourcemage.org>
+ * devel/llvm15: new spell, llvm version 15.0.7
+
2023-03-30 Ismael Luceno <ismael AT sourcemage.org>
* devel/scheme9: new spell, Scheme 9 from Empty Space, Reimagined

diff --git a/devel/llvm15/BUILD b/devel/llvm15/BUILD
new file mode 100755
index 0000000..f87da18
--- /dev/null
+++ b/devel/llvm15/BUILD
@@ -0,0 +1,27 @@
+case "$HOST" in
+ (*-musl)
+ OPTS+=' -DLIBCXX_HAS_MUSL_LIBC=YES'
+ ;;
+esac &&
+# Remove -DPIC from compiler flags, produces build errors
+CXXFLAGS="${CXXFLAGS//-DPIC}" &&
+# Default target, not detected correctly
+OPTS+=" -DLLVM_DEFAULT_TARGET_TRIPLE=$HOST" &&
+# LLVM_TARGETS
+OPTS+=" -DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS// /;}" &&
+# recommended by mesa project
+OPTS+=" -DLLVM_LINK_LLVM_DYLIB=1 -DCMAKE_BUILD_TYPE=RELEASE" &&
+# prevent unnecessary use of libedit and ncurses
+OPTS+=" -DLLVM_ENABLE_LIBEDIT=0" &&
+OPTS+=" -DLLVM_ENABLE_TERMINFO=0" &&
+OPTS+=" -DLLVM_ENABLE_BACKTRACES=0"
+# Enable RTTI if requested, recommended, changing it breaks the ABI
+if [ y = "$LLVM_WITH_RTTI" ]; then
+ OPTS+=" -DLLVM_ENABLE_RTTI=1"
+else
+ OPTS+=" -DLLVM_ENABLE_RTTI=0"
+fi &&
+
+OPTS+=" -DLLVM_BUILD_BENCHMARKS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF" &&
+
+cmake_build "${INSTALL_ROOT}/opt/llvm15"
diff --git a/devel/llvm15/CONFIGURE b/devel/llvm15/CONFIGURE
new file mode 100755
index 0000000..75512bd
--- /dev/null
+++ b/devel/llvm15/CONFIGURE
@@ -0,0 +1,25 @@
+. $GRIMOIRE/config_query_multi.function &&
+message "$DEFAULT_COLOR$MESSAGE_COLOR" \
+ "LLVM can build multiple backends." \
+ "\nFor most people, X86 and AMDGPU are sufficient." &&
+config_query_multi LLVM_TARGETS "which backend targets?" \
+ AArch64 \
+ AMDGPU \
+ ARM \
+ AVR \
+ BPF \
+ Hexagon \
+ Lanai \
+ Mips \
+ MSP430 \
+ NVPTX \
+ PowerPC \
+ RISCV \
+ Sparc \
+ SystemZ \
+ VE \
+ WebAssembly \
+ X86 \
+ XCore &&
+
+. "$GRIMOIRE"/CMAKE_CONFIGURE
diff --git a/devel/llvm15/DEPENDS b/devel/llvm15/DEPENDS
new file mode 100755
index 0000000..c2f729f
--- /dev/null
+++ b/devel/llvm15/DEPENDS
@@ -0,0 +1,16 @@
+. "$GRIMOIRE"/CMAKE_DEPENDS &&
+case "$HOST" in
+ (*-musl)
+ depends libexecinfo &&
+ depends musl-obstack
+ ;;
+esac &&
+depends libtool &&
+depends -sub CXX gcc &&
+depends PKG-CONFIG &&
+depends zlib '-DLLVM_ENABLE_ZLIB=1' &&
+depends python3 &&
+depends mako &&
+
+optional_depends libffi -DLLVM_ENABLE_FFI={1,0} \
+ 'For FFI support in the LLVM interpreter'
diff --git a/devel/llvm15/DETAILS b/devel/llvm15/DETAILS
new file mode 100755
index 0000000..aeffa6c
--- /dev/null
+++ b/devel/llvm15/DETAILS
@@ -0,0 +1,56 @@
+# Watch: https://github.com/llvm/llvm-project/tags
/llvmorg-(15[.][0-9.]+)[.]tar
+. "$GRIMOIRE"/CMAKE_FUNCTIONS
+ SPELL=llvm15
+ VERSION=15.0.7
+ SOURCE="llvm-${VERSION}.src.tar.xz"
+
GITHUB_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-$VERSION";
+ SOURCE_URL[0]="${GITHUB_URI}/${SOURCE}"
+
SOURCE_HASH=sha256:4ad8b2cc8003c86d0078d15d987d84e3a739f24aae9033865c027abae93ee7a4
+if [[ "$LLVM_WITH_CLANG" == y ]]; then
+ SOURCE3="clang-${VERSION}.src.tar.xz"
+ SOURCE3_URL[0]="${GITHUB_URI}/${SOURCE3}"
+
SOURCE3_HASH=sha256:a6b673ef15377fb46062d164e8ddc4d05c348ff8968f015f7f4af03f51000067
+ SOURCE5="compiler-rt-${VERSION}.src.tar.xz"
+ SOURCE5_URL[0]="${GITHUB_URI}/${SOURCE5}"
+
SOURCE5_HASH=sha256:353832c66cce60931ea0413b3c071faad59eefa70d02c97daa8978b15e4b25b7
+ SOURCE9="clang-tools-extra-${VERSION}.src.tar.xz"
+ SOURCE9_URL[0]="${GITHUB_URI}/${SOURCE9}"
+
SOURCE9_HASH=sha256:809a2ef46d46be3b83ca389356404ac041fa6d8f5496cb02ec35d252afb64fd1
+fi
+if [[ "$LLVM_WITH_POLLY" == y ]]; then
+ SOURCE11="polly-${VERSION}.src.tar.xz"
+ SOURCE11_URL[0]="${GITHUB_URI}/${SOURCE11}"
+
SOURCE11_HASH=sha256:1053610cace401c0b4e6d430d441277b0283dd4112581e2acc90e174d3192819
+fi
+if [[ "$LLVM_WITH_LLD" == y ]]; then
+ SOURCE13="lld-${VERSION}.src.tar.xz"
+ SOURCE13_URL[0]="${GITHUB_URI}/${SOURCE13}"
+
SOURCE13_HASH=sha256:dba5c70c3fe88b3a38b9180df82fbc9d1dfd55d68f41fddd6a90f9e17f8e5df9
+ SOURCE15="libunwind-${VERSION}.src.tar.xz"
+ SOURCE15_URL[0]="${GITHUB_URI}/${SOURCE15}"
+
SOURCE15_HASH=sha256:406d199ae3a16add84017f40458a5e7c31f9412937fcb518715af0a0eeafbc0c
+ SOURCE17="libcxx-${VERSION}.src.tar.xz"
+ SOURCE17_URL[0]="${GITHUB_URI}/${SOURCE17}"
+
SOURCE17_HASH=sha256:8d4eaff1cb6e41439fbf3ededb46998a0a3564d66dd289f661bdd459c9277c11
+ SOURCE19="libcxxabi-${VERSION}.src.tar.xz"
+ SOURCE19_URL[0]="${GITHUB_URI}/${SOURCE19}"
+
SOURCE19_HASH=sha256:9b42f3951d845232e4cd58a0a9841838292dac138af19d4f8d0c08bd41004f43
+fi
+ SOURCE21="cmake-${VERSION}.src.tar.xz"
+ SOURCE21_URL[0]="${GITHUB_URI}/${SOURCE21}"
+
SOURCE21_HASH=sha256:8986f29b634fdaa9862eedda78513969fe9788301c9f2d938f4c10a3e7a3e7ea
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SOURCE%.tar.xz}"
+ WEB_SITE="https://llvm.org";
+ LICENSE[0]=BSD
+ ENTERED=20230330
+ SHORT="A novel compiler infrastructure for the optimization of
programs."
+ TMPFS=off # Well, needs about 5G space, plus actual RAM for
compiling.
+ STAGED_INSTALL=off # chmod issues with castfs
+cat << EOF
+Low-Level Virtual Machine (LLVM) is a compiler infrastructure designed for
+compile-time, link-time, run-time, and "idle-time" optimization of programs
+from arbitrary programming languages. It currently supports compilation of
+C, Objective-C, and C++ programs, using front-ends derived from GCC 4.0,
+GCC 4.2, and a custom new front-end, "clang". It supports x86, x86_64, ia64,
+PowerPC, and SPARC, with support for Alpha and ARM under development.
+EOF
diff --git a/devel/llvm15/HISTORY b/devel/llvm15/HISTORY
new file mode 100644
index 0000000..75aa70f
--- /dev/null
+++ b/devel/llvm15/HISTORY
@@ -0,0 +1,8 @@
+2023-03-30 Conner Clere <xenanthropy AT sourcemage.org>
+ * BUILD, CONFIGURE, DEPENDS, DETAILS, HISTORY, PREPARE, PRE_BUILD,
+ PRE_SUB_DEPENDS, SUB_DEPENDS,
+ patches-clang/clang-001-fix-unwind-chain-inclusion.patch,
+ patches-lld/0001-Include-libunwind-from-source-directory.patch,
+ patches-lld/libcxx-musl.patch, patches-lld/libcxxabi-dl.patch,
+ patches-llvm/llvm-001-musl.patch:
+ new spell, version 15.0.7, based on the llvm spell
diff --git a/devel/llvm15/PREPARE b/devel/llvm15/PREPARE
new file mode 100755
index 0000000..0cfb539
--- /dev/null
+++ b/devel/llvm15/PREPARE
@@ -0,0 +1,4 @@
+config_query LLVM_WITH_RTTI "Enable RTTI? (recommended)" y &&
+config_query LLVM_WITH_CLANG "Enable clang compiler frontend?" n &&
+config_query LLVM_WITH_POLLY "Enable polihedral optimizer?" n &&
+config_query LLVM_WITH_LLD "Enable llvm's linker?" n
diff --git a/devel/llvm15/PRE_BUILD b/devel/llvm15/PRE_BUILD
new file mode 100755
index 0000000..0a81aec
--- /dev/null
+++ b/devel/llvm15/PRE_BUILD
@@ -0,0 +1,46 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+apply_patch_dir patches-llvm &&
+unpack_file 21 &&
+mv cmake-${VERSION}.src/Modules/*cmake cmake &&
+if [[ "$LLVM_WITH_CLANG" == y ]]; then
+ unpack_file 5 &&
+ mv compiler-rt-${VERSION}.src runtimes/compiler-rt &&
+ unpack_file 3 &&
+ mv clang-${VERSION}.src tools/clang &&
+ unpack_file 9 &&
+ mv clang-tools-extra-${VERSION}.src tools/clang/tools/extra &&
+ apply_patch_dir patches-clang &&
+ sedit '/^[\t ]*set(model_compiler
/{s@[.][.]/clang-tools-@tools/clang/tools/@}' \
+ tools/clang/tools/extra/clangd/quality/CompletionModel.cmake
+fi &&
+
+if [[ "$LLVM_WITH_POLLY" == y ]]; then
+ unpack_file 11 &&
+ mv polly-${VERSION}.src tools/polly
+fi &&
+
+if [[ "$LLVM_WITH_LLD" == y ]]; then
+ unpack_file 13 &&
+ mv lld-${VERSION}.src tools/lld &&
+ unpack_file 15 &&
+ mv libunwind-${VERSION}.src libunwind &&
+ unpack_file 17 &&
+ mv libcxx-${VERSION}.src runtimes/libcxx &&
+ unpack_file 19 &&
+ mv libcxxabi-${VERSION}.src runtimes/libcxxabi &&
+ apply_patch_dir patches-lld
+fi &&
+
+cd "$SOURCE_DIRECTORY" &&
+
+# small cmake related fix for libffi
+if spell_ok libffi;then
+ FFI=`pkg-config --cflags-only-I libffi` &&
+ FFI=${FFI//-I/} &&
+ FFI=${FFI//\ */} &&
+ sed -i "/FFI_I/s|\"\"|\"$FFI\"|" CMakeLists.txt
+fi &&
+
+# do not build all backends
+sed -i "/^set.*all\"$/s/all//" CMakeLists.txt
diff --git a/devel/llvm15/PRE_SUB_DEPENDS b/devel/llvm15/PRE_SUB_DEPENDS
new file mode 100755
index 0000000..8206f1b
--- /dev/null
+++ b/devel/llvm15/PRE_SUB_DEPENDS
@@ -0,0 +1,12 @@
+case $THIS_SUB_DEPENDS in
+TARGET-*) list_find "$LLVM_TARGETS" "${THIS_SUB_DEPENDS#TARGET-}" ;;
+AMD) list_find "${LLVM_TARGETS}" AMDGPU ;;
+CLANG) [[ "${LLVM_WITH_CLANG}" == "y" ]] ;;
+POLLY) [[ "${LLVM_WITH_POLLY}" == "y" ]] ;;
+LLD) [[ "${LLVM_WITH_LLD}" == "y" ]] ;;
+RTTI) [ y = "$LLVM_WITH_RTTI" ] ;;
+ *)
+ message "${PROBLEM_COLOR}bogus sub_depends: $SPELL
$THIS_SUB_DEPENDS${DEFAULT_COLOR}"
+ return 1
+;;
+esac
diff --git a/devel/llvm15/SUB_DEPENDS b/devel/llvm15/SUB_DEPENDS
new file mode 100755
index 0000000..a5e2c96
--- /dev/null
+++ b/devel/llvm15/SUB_DEPENDS
@@ -0,0 +1,31 @@
+case $THIS_SUB_DEPENDS in
+TARGET-*)
+ target="${THIS_SUB_DEPENDS#TARGET-}"
+ message "${MESSAGE_COLOR}$target target support enforced by
subdep.$DEFAULT_COLOR"
+ list_add LLVM_TARGETS "$target"
+;;
+AMD)
+ message "${MESSAGE_COLOR}AMD support enforced by
sub-dependency.$DEFAULT_COLOR"
+ list_add LLVM_TARGETS AMDGPU
+;;
+CLANG)
+ message "${MESSAGE_COLOR}Building clang enforced by
sub-dependency.$DEFAULT_COLOR"
+ LLVM_WITH_CLANG=y
+;;
+POLLY)
+ message "${MESSAGE_COLOR}Building polly enforced by
sub-dependency.$DEFAULT_COLOR"
+ LLVM_WITH_POLLY=y
+;;
+LLD)
+ message "${MESSAGE_COLOR}Building lld enforced by
sub-dependency.$DEFAULT_COLOR"
+ LLVM_WITH_LLD=y
+;;
+RTTI)
+ message "${MESSAGE_COLOR}RTTI support enforced by
sub-dependency.$DEFAULT_COLOR"
+ LLVM_WITH_RTTI=y
+;;
+ *)
+ message "${PROBLEM_COLOR}bogus sub_depends: $SPELL
$THIS_SUB_DEPENDS${DEFAULT_COLOR}"
+ return 1
+;;
+esac
diff --git
a/devel/llvm15/patches-clang/clang-001-fix-unwind-chain-inclusion.patch
b/devel/llvm15/patches-clang/clang-001-fix-unwind-chain-inclusion.patch
new file mode 100644
index 0000000..adc3fcd
--- /dev/null
+++ b/devel/llvm15/patches-clang/clang-001-fix-unwind-chain-inclusion.patch
@@ -0,0 +1,45 @@
+From 352974169f0d2b5da3d5321f588f5e3b5941330e Mon Sep 17 00:00:00 2001
+From: Andrea Brancaleoni <miwaxe AT gmail.com>
+Date: Tue, 8 Sep 2015 22:14:57 +0200
+Subject: [PATCH 2/7] fix unwind chain inclusion
+
+Origin: Void Linux
+---
+ lib/Headers/unwind.h | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/lib/Headers/unwind.h b/lib/Headers/unwind.h
+index 303d792..44e10cc 100644
+--- a/tools/clang/lib/Headers/unwind.h
++++ b/tools/clang/lib/Headers/unwind.h
+@@ -9,9 +9,6 @@
+
+ /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/
+
+-#ifndef __CLANG_UNWIND_H
+-#define __CLANG_UNWIND_H
+-
+ #if defined(__APPLE__) && __has_include_next(<unwind.h>)
+ /* Darwin (from 11.x on) provide an unwind.h. If that's available,
+ * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE,
+@@ -39,6 +36,9 @@
+ # endif
+ #else
+
++#ifndef __CLANG_UNWIND_H
++#define __CLANG_UNWIND_H
++
+ #include <stdint.h>
+
+ #ifdef __cplusplus
+@@ -322,6 +322,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struct
_Unwind_Context *);
+ }
+ #endif
+
++#endif /* __CLANG_UNWIND_H */
++
+ #endif
+
+-#endif /* __CLANG_UNWIND_H */
+--
+2.5.1
diff --git
a/devel/llvm15/patches-lld/0001-Include-libunwind-from-source-directory.patch
b/devel/llvm15/patches-lld/0001-Include-libunwind-from-source-directory.patch
new file mode 100644
index 0000000..536d434
--- /dev/null
+++
b/devel/llvm15/patches-lld/0001-Include-libunwind-from-source-directory.patch
@@ -0,0 +1,28 @@
+From 2cf2b1af0f0be6431c1e239d482056ef4d4ac17f Mon Sep 17 00:00:00 2001
+From: Florian Franzmann <Florian.Franzmann AT bandrate.org>
+Date: Sun, 2 May 2021 13:24:21 +0200
+Subject: [PATCH] Fix inclusion of libunwind from source directory
+
+Ref: https://groups.google.com/g/llvm-dev/c/gIY5COm6V5E
+Upstream-Status: Unknown [Should have been fixed by 12.0.1; as of
+ 2021-07-10 this has not been fixed.]
+---
+ tools/lld/MachO/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/lld/MachO/CMakeLists.txt b/tools/lld/MachO/CMakeLists.txt
+index b76f37dcc6e6..69ca3fc6de67 100644
+--- a/tools/lld/MachO/CMakeLists.txt
++++ b/tools/lld/MachO/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(LLVM_TARGET_DEFINITIONS Options.td)
+ tablegen(LLVM Options.inc -gen-opt-parser-defs)
+ add_public_tablegen_target(MachOOptionsTableGen)
+
+-include_directories(${LLVM_MAIN_SRC_DIR}/../libunwind/include)
++include_directories(${LLVM_MAIN_SRC_DIR}/libunwind/include)
+
+ add_lld_library(lldMachO2
+ Arch/X86_64.cpp
+--
+2.31.1
+
diff --git a/devel/llvm15/patches-lld/libcxx-musl.patch
b/devel/llvm15/patches-lld/libcxx-musl.patch
new file mode 100644
index 0000000..3600f40
--- /dev/null
+++ b/devel/llvm15/patches-lld/libcxx-musl.patch
@@ -0,0 +1,28 @@
+Origin: Void Linux
+
+--- a/runtimes/libcxx/include/locale
++++ b/runtimes/libcxx/include/locale
+@@ -742,7 +742,11 @@ __num_get_signed_integral(const char* __a, const char*
__a_end,
+ typename remove_reference<decltype(errno)>::type __save_errno =
errno;
+ errno = 0;
+ char *__p2;
++#if defined(__linux__) && !defined(__GLIBC__)
++ long long __ll = strtoll(__a, &__p2, __base);
++#else
+ long long __ll = strtoll_l(__a, &__p2, __base,
_LIBCPP_GET_C_LOCALE);
++#endif
+ typename remove_reference<decltype(errno)>::type __current_errno =
errno;
+ if (__current_errno == 0)
+ errno = __save_errno;
+@@ -782,7 +786,11 @@ __num_get_unsigned_integral(const char* __a, const
char* __a_end,
+ typename remove_reference<decltype(errno)>::type __save_errno =
errno;
+ errno = 0;
+ char *__p2;
++#if defined(__linux__) && !defined(__GLIBC__)
++ unsigned long long __ll = strtoull(__a, &__p2, __base);
++#else
+ unsigned long long __ll = strtoull_l(__a, &__p2, __base,
_LIBCPP_GET_C_LOCALE);
++#endif
+ typename remove_reference<decltype(errno)>::type __current_errno =
errno;
+ if (__current_errno == 0)
+ errno = __save_errno;
diff --git a/devel/llvm15/patches-lld/libcxxabi-dl.patch
b/devel/llvm15/patches-lld/libcxxabi-dl.patch
new file mode 100644
index 0000000..d47a227
--- /dev/null
+++ b/devel/llvm15/patches-lld/libcxxabi-dl.patch
@@ -0,0 +1,27 @@
+Also link to -ldl to prevent undefined references.
+
+Origin: Void Linux
+
+--- a/runtimes/libcxxabi/src/CMakeLists.txt
++++ b/runtimes/libcxxabi/src/CMakeLists.txt
+@@ -73,6 +73,7 @@
+ endif()
+
+ add_library_flags_if(LIBCXXABI_HAS_C_LIB c)
++ add_library_flags_if(LIBCXXABI_HAS_C_LIB dl)
+ endif()
+
+ if (LIBCXXABI_USE_LLVM_UNWINDER)
+--- a/runtimes/libcxx/CMakeLists.txt
++++ b/runtimes/libcxx/CMakeLists.txt
+@@ -745,6 +745,10 @@
+ target_link_libraries(${target} PRIVATE m)
+ endif()
+
++ if (LIBCXX_HAS_C_LIB)
++ target_link_libraries(${target} PRIVATE dl)
++ endif()
++
+ if (LIBCXX_HAS_RT_LIB)
+ target_link_libraries(${target} PRIVATE rt)
+ endif()
diff --git a/devel/llvm15/patches-llvm/llvm-001-musl.patch
b/devel/llvm15/patches-llvm/llvm-001-musl.patch
new file mode 100644
index 0000000..3e68f3f
--- /dev/null
+++ b/devel/llvm15/patches-llvm/llvm-001-musl.patch
@@ -0,0 +1,58 @@
+From faca3fbd15d0c3108493c3c54cd93138e049ac43 Mon Sep 17 00:00:00 2001
+From: Andrea Brancaleoni <miwaxe AT gmail.com>
+Date: Tue, 8 Sep 2015 22:03:02 +0200
+Subject: [PATCH 3/3] musl
+
+Origin: Void Linux
+---
+ include/llvm/Analysis/TargetLibraryInfo.h | 9 +++++++++
+ lib/Support/DynamicLibrary.cpp | 2 +-
+ lib/Support/Unix/Signals.inc | 6 +++---
+ utils/unittest/googletest/src/gtest.cc | 1 +
+ 5 files changed, 17 insertions(+), 6 deletions(-)
+
+diff --git a/include/llvm/Analysis/TargetLibraryInfo.h
b/include/llvm/Analysis/TargetLibraryInfo.h
+index 34a8a1e3..1214ece5 100644
+--- a/include/llvm/Analysis/TargetLibraryInfo.h
++++ b/include/llvm/Analysis/TargetLibraryInfo.h
+@@ -18,6 +18,15 @@
+ #include "llvm/IR/PassManager.h"
+ #include "llvm/Pass.h"
+
++#undef fopen64
++#undef fseeko64
++#undef fstat64
++#undef fstatvfs64
++#undef ftello64
++#undef lstat64
++#undef stat64
++#undef tmpfile64
++
+ namespace llvm {
+ template <typename T> class ArrayRef;
+ class Triple;
+diff --git a/lib/Support/Unix/DynamicLibrary.inc
b/lib/Support/Unix/DynamicLibrary.inc
+index a2a37996..2f86c470 100644
+--- a/lib/Support/Unix/DynamicLibrary.inc
++++ b/lib/Support/Unix/DynamicLibrary.inc
+@@ -102,7 +102,7 @@ static void *DoSearch(const char* SymbolName) {
+
+ // This macro returns the address of a well-known, explicit symbol
+ #define EXPLICIT_SYMBOL(SYM) \
+- if (!strcmp(SymbolName, #SYM)) return &SYM
++ if (!strcmp(SymbolName, #SYM)) return (void *)&SYM
+
+ // Under glibc we have a weird situation. The stderr/out/in symbols are both
+ // macros and global variables because of standards requirements. So, we
+diff --git a/utils/unittest/googletest/src/gtest.cc
b/utils/unittest/googletest/src/gtest.cc
+index d882ab2e..f1fb12d0 100644
+--- a/utils/unittest/googletest/src/gtest.cc
++++ b/utils/unittest/googletest/src/gtest.cc
+@@ -128,6 +128,7 @@
+
+ #if GTEST_CAN_STREAM_RESULTS_
+ # include <arpa/inet.h> // NOLINT
++# include <sys/socket.h> // NOLINT
+ # include <netdb.h> // NOLINT
+ # include <sys/socket.h> // NOLINT
+ # include <sys/types.h> // NOLINT
diff --git a/devel/zig/BUILD b/devel/zig/BUILD
new file mode 100755
index 0000000..0ff821c
--- /dev/null
+++ b/devel/zig/BUILD
@@ -0,0 +1,2 @@
+PATH="$INSTALL_ROOT/opt/llvm15/bin:$PATH" &&
+default_build
diff --git a/devel/zig/DEPENDS b/devel/zig/DEPENDS
index 37117ac..bb6b7a8 100755
--- a/devel/zig/DEPENDS
+++ b/devel/zig/DEPENDS
@@ -2,10 +2,10 @@
. "$GRIMOIRE"/VDEPENDS &&
vdepends <<!
cmake >= 2.8.12
- llvm[CLANG,LLD] >= 12.0
- llvm[TARGET-AArch64,TARGET-AMDGPU,TARGET-ARM,TARGET-AVR,TARGET-BPF]
- llvm[TARGET-Hexagon,TARGET-Mips,TARGET-MSP430,TARGET-NVPTX]
- llvm[TARGET-PowerPC,TARGET-RISCV,TARGET-Sparc,TARGET-SystemZ]
- llvm[TARGET-WebAssembly,TARGET-X86]
- llvm[TARGET-Lanai,TARGET-XCore,TARGET-VE]
+ llvm15[CLANG,LLD]
+ llvm15[TARGET-AArch64,TARGET-AMDGPU,TARGET-ARM,TARGET-AVR,TARGET-BPF]
+ llvm15[TARGET-Hexagon,TARGET-Mips,TARGET-MSP430,TARGET-NVPTX]
+ llvm15[TARGET-PowerPC,TARGET-RISCV,TARGET-Sparc,TARGET-SystemZ]
+ llvm15[TARGET-WebAssembly,TARGET-X86]
+ llvm15[TARGET-Lanai,TARGET-XCore,TARGET-VE]
!



  • [SM-Commit] GIT changes to master grimoire by Ismael Luceno (9dd23bed5808ecb11ecbb255ac842593b0d1485a), Ismael Luceno, 03/31/2023

Archive powered by MHonArc 2.6.24.

Top of Page