From 47e9a14919571964e55546bc639b61e82c25fa9b Mon Sep 17 00:00:00 2001
From: Philippe PITTOLI
Date: Tue, 5 Nov 2019 02:02:20 +0100
Subject: [PATCH] llvm: new labs.h, better cmake parameters
---
llvm/labs.h | 7 +++++++
llvm/recipe.spec | 17 ++++++++++++-----
2 files changed, 19 insertions(+), 5 deletions(-)
create mode 100644 llvm/labs.h
diff --git a/llvm/labs.h b/llvm/labs.h
new file mode 100644
index 0000000..3dbde5c
--- /dev/null
+++ b/llvm/labs.h
@@ -0,0 +1,7 @@
+#include
+
+namespace std {
+ static inline long abs(long a) { return std::labs(a); }
+ static inline long long abs(long long a) { return std::labs(a); }
+}
+
diff --git a/llvm/recipe.spec b/llvm/recipe.spec
index ac95051..a520c4a 100644
--- a/llvm/recipe.spec
+++ b/llvm/recipe.spec
@@ -1,14 +1,19 @@
name: llvm
version: 8.0.1
release: 2
-sources: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/llvm-%{version}.src.tar.xz
+sources:
+ - https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/llvm-%{version}.src.tar.xz
+ - labs.h
+
dependencies:
- libffi
+ - libcxx
-build-dependencies: python
+build-dependencies: python, libcxx-dev
@configure
mkdir %{name}-%{version}
+
cd %{name}-%{version} && \
cmake ../llvm-%{version}.src \
-DCMAKE_INSTALL_PREFIX="%{prefix}" \
@@ -19,7 +24,6 @@ build-dependencies: python
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_ENABLE_CXX1Y=ON \
-DLLVM_ENABLE_FFI=ON \
- -DLLVM_ENABLE_LIBCXX=OFF \
-DLLVM_ENABLE_PIC=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_SPHINX=OFF \
@@ -28,8 +32,11 @@ build-dependencies: python
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_CXX_FLAGS="-fPIC -O2" \
- -DCMAKE_C_FLAGS="-fPIC -O2"
+ -DLLVM_ENABLE_LIBCXX=ON \
+ -DCMAKE_CXX_COMPILER="clang++" \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -stdlib=libc++ -include /usr/weirdos/include/c++/v1/math.h -include $(pwd)/../labs.h -D__DEFINED_max_align_t" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DCMAKE_LD_FLAGS="$LDFLAGS -lc++"
# when llvm-8 won't be the lastest LLVM version anymore
# -DCMAKE_INSTALL_PREFIX=/usr/bad/%{name}