[packages/llvm] - added python-modules patch (fix python modules detection) - BR: z3-devel (+z3 bcond) for constrain
qboosh
qboosh at pld-linux.org
Sun Oct 6 08:08:37 CEST 2019
commit 200602f405eda44e4c5d33b1522ae20fea902e0f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Oct 6 08:11:51 2019 +0200
- added python-modules patch (fix python modules detection)
- BR: z3-devel (+z3 bcond) for constraint solver in Clang Static Analyzer
llvm-python-modules.patch | 49 +++++++++++++++++++++++++++++++++++++++++++++++
llvm.spec | 42 +++++++++++++++++++++++-----------------
2 files changed, 73 insertions(+), 18 deletions(-)
---
diff --git a/llvm.spec b/llvm.spec
index 9e43ee4..4218cd1 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -18,6 +18,7 @@
%bcond_without rt # compiler-rt libraries
%bcond_without multilib # compiler-rt multilib libraries
%bcond_without ocaml # OCaml binding
+%bcond_without z3 # Z3 constraint solver support in Clang Static Analyzer
%bcond_without doc # HTML docs and man pages
%bcond_with apidocs # doxygen docs (HUGE, so they are not built by default)
%bcond_with tests # run tests
@@ -50,6 +51,7 @@ Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{versio
Source6: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lld-%{version}.src.tar.xz
# Source6-md5: ee4fe10c625bbc66b1055c5d33017daf
Patch1: %{name}-pld.patch
+Patch2: %{name}-python-modules.patch
Patch3: x32-gcc-toolchain.patch
Patch4: cmake-buildtype.patch
Patch5: %{name}-ocaml-shared.patch
@@ -78,11 +80,14 @@ BuildRequires: ocaml-ounit >= 2
BuildRequires: perl-base >= 1:5.6
BuildRequires: perl-tools-pod
BuildRequires: python >= 1:2.7
+BuildRequires: python-PyYAML
+BuildRequires: python-pygments >= 2.0
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.734
%{?with_doc:BuildRequires: sphinx-pdg}
BuildRequires: tar >= 1:1.22
BuildRequires: xz
+%{?with_z3:BuildRequires: z3-devel >= 4.7.1}
BuildRequires: zlib-devel
%if %{with apidocs}
BuildRequires: doxygen
@@ -539,6 +544,7 @@ Integracja narzędzi Clang do formatowania i zmiany nazw z Vimem.
%{__mv} lld-%{version}.src tools/lld
%patch1 -p1
+%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
@@ -560,31 +566,31 @@ install -d build
cd build
CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
-%cmake \
-%if "%{_lib}" == "lib64"
- -DLLVM_LIBDIR_SUFFIX:STRING=64 \
-%endif
-%if "%{_lib}" == "libx32"
- -DLLVM_LIBDIR_SUFFIX:STRING=x32 \
-%endif
+%cmake .. \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ %{!?with_z3:-DCLANG_ANALYZER_ENABLE_Z3_SOLVER:BOOL=OFF} \
+ -DENABLE_LINKER_BUILD_ID:BOOL=ON \
+ -DLLVM_BINDINGS_LIST:LIST="%{?with_ocaml:ocaml}" \
+ -DLLVM_BINUTILS_INCDIR:STRING=%{_includedir} \
+ -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
+ -DLLVM_ENABLE_ASSERTIONS:BOOL=OFF \
+ -DLLVM_ENABLE_CXX1Y:BOOL=ON \
%if %{with apidocs}
-DLLVM_ENABLE_DOXYGEN:BOOL=ON \
%endif
+ -DLLVM_ENABLE_PIC:BOOL=ON \
+ -DLLVM_ENABLE_RTTI:BOOL=ON \
%if %{with doc}
-DLLVM_ENABLE_SPHINX:BOOL=ON \
- -DSPHINX_WARNINGS_AS_ERRORS=OFF \
%endif
- -DLLVM_ENABLE_ASSERTIONS:BOOL=OFF \
- -DLLVM_ENABLE_CXX1Y:BOOL=ON \
- -DLLVM_ENABLE_RTTI:BOOL=ON \
- -DLLVM_ENABLE_PIC:BOOL=ON \
- -DLLVM_BINDINGS_LIST:LIST="%{?with_ocaml:ocaml}" \
- -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
+%if "%{_lib}" == "lib64"
+ -DLLVM_LIBDIR_SUFFIX:STRING=64 \
+%endif
+%if "%{_lib}" == "libx32"
+ -DLLVM_LIBDIR_SUFFIX:STRING=x32 \
+%endif
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
- -DBUILD_SHARED_LIBS:BOOL=OFF \
- -DENABLE_LINKER_BUILD_ID:BOOL=ON \
- -DLLVM_BINUTILS_INCDIR:STRING=%{_includedir} \
- ../
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
%{__make} \
VERBOSE=1 \
diff --git a/llvm-python-modules.patch b/llvm-python-modules.patch
new file mode 100644
index 0000000..461d6f1
--- /dev/null
+++ b/llvm-python-modules.patch
@@ -0,0 +1,49 @@
+python modules detection in config-ix relies on PYTHON_EXECUTABLE
+--- llvm-8.0.1.src/CMakeLists.txt.orig 2019-09-15 20:47:11.346277376 +0200
++++ llvm-8.0.1.src/CMakeLists.txt 2019-10-05 16:14:04.833671630 +0200
+@@ -579,6 +579,22 @@
+ set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL
+ "Enable per-target runtimes directory")
+
++# Verify that we can find a Python 2 interpreter. Python 3 is unsupported.
++# FIXME: We should support systems with only Python 3, but that requires work
++# on LLDB.
++set(Python_ADDITIONAL_VERSIONS 2.7)
++include(FindPythonInterp)
++if( NOT PYTHONINTERP_FOUND )
++ message(FATAL_ERROR
++"Unable to find Python interpreter, required for builds and testing.
++
++Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
++endif()
++
++if( ${PYTHON_VERSION_STRING} VERSION_LESS 2.7 )
++ message(FATAL_ERROR "Python 2.7 or newer is required")
++endif()
++
+ # All options referred to from HandleLLVMOptions have to be specified
+ # BEFORE this include, otherwise options will not be correctly set on
+ # first cmake run
+@@ -598,22 +614,6 @@
+
+ include(HandleLLVMOptions)
+
+-# Verify that we can find a Python 2 interpreter. Python 3 is unsupported.
+-# FIXME: We should support systems with only Python 3, but that requires work
+-# on LLDB.
+-set(Python_ADDITIONAL_VERSIONS 2.7)
+-include(FindPythonInterp)
+-if( NOT PYTHONINTERP_FOUND )
+- message(FATAL_ERROR
+-"Unable to find Python interpreter, required for builds and testing.
+-
+-Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
+-endif()
+-
+-if( ${PYTHON_VERSION_STRING} VERSION_LESS 2.7 )
+- message(FATAL_ERROR "Python 2.7 or newer is required")
+-endif()
+-
+ ######
+ # LLVMBuild Integration
+ #
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/llvm.git/commitdiff/200602f405eda44e4c5d33b1522ae20fea902e0f
More information about the pld-cvs-commit
mailing list