ee55943
#%%global rc_ver 1
d9d56e0
%global baserelease 1
7222536
%global polly_srcdir polly-%{version}%{?rc_ver:rc%{rc_ver}}.src
7222536
7222536
Name: polly
91f251a
Version: 11.0.0
7222536
Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}
7222536
Summary: LLVM Framework for High-Level Loop and Data-Locality Optimizations
7222536
7222536
License: NCSA
7222536
URL: http://polly.llvm.org	
3d64da5
%if 0%{?rc_ver:1}
3d64da5
Source0: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{polly_srcdir}.tar.xz
3d64da5
Source1: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{polly_srcdir}.tar.xz.sig
3d64da5
%else
3d64da5
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{polly_srcdir}.tar.xz
004f075
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{polly_srcdir}.tar.xz.sig
3d64da5
%endif
7222536
Source2: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
7222536
7222536
Patch0: polly-subproject-extension.patch
7222536
5827cef
BuildRequires: gcc
5827cef
BuildRequires: gcc-c++
7222536
BuildRequires: cmake
7222536
BuildRequires: llvm-devel = %{version}
7222536
BuildRequires: llvm-test = %{version}
7222536
BuildRequires: clang-devel = %{version}
004f075
BuildRequires: ninja-build
7222536
BuildRequires: python3-lit
7222536
BuildRequires: python3-sphinx
7222536
004f075
# For origin certification
004f075
BuildRequires:	gnupg2
004f075
7222536
%description
7222536
Polly is a high-level loop and data-locality optimizer and optimization
7222536
infrastructure for LLVM. It uses an abstract mathematical representation based
7222536
on integer polyhedron to analyze and optimize the memory access pattern of a
7222536
program.
7222536
7222536
%package devel
7222536
Summary: Polly header files
7222536
Requires: %{name} = %{version}-%{release}
7222536
7222536
%description devel
7222536
Polly header files.
7222536
7222536
%package doc
7222536
Summary: Documentation for Polly
7222536
BuildArch: noarch
7222536
Requires: %{name} = %{version}-%{release}
7222536
7222536
%description doc
7222536
Documentation for the Polly optimizer.
7222536
7222536
%prep
004f075
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
3d64da5
%autosetup -n %{polly_srcdir} -p1
7222536
7222536
%build
7222536
311c1b5
# LTO builds fail:
311c1b5
# ../lib/External/pet/include/pet.h:20:1: error: function 'pet_options_args' redeclared as variable
311c1b5
#   20 | ISL_ARG_DECL(pet_options, struct pet_options, pet_options_args)
311c1b5
#      | ^
311c1b5
#../lib/External/ppcg/external.c:107:6: note: previously declared here
311c1b5
#  107 | void pet_options_args() {
311c1b5
#     |      ^
311c1b5
%global _lto_cflags %{nil}
311c1b5
004f075
%cmake 	-GNinja \
7222536
	-DCMAKE_BUILD_TYPE=RelWithDebInfo \
7222536
	-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
7222536
	-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
7222536
	-DCMAKE_PREFIX_PATH=%{_libdir}/cmake/llvm/ \
7222536
\
7222536
	-DLLVM_ENABLE_SPHINX:BOOL=ON \
7222536
	-DSPHINX_WARNINGS_AS_ERRORS=OFF \
7222536
	-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \
7222536
\
7222536
%if 0%{?__isa_bits} == 64
7222536
	-DLLVM_LIBDIR_SUFFIX=64
7222536
%else
7222536
	-DLLVM_LIBDIR_SUFFIX=
7222536
%endif
7222536
004f075
%cmake_build
004f075
%cmake_build --target docs-polly-html
7222536
7222536
7222536
%install
004f075
%cmake_install
004f075
7222536
install -d %{buildroot}%{_pkgdocdir}/html
004f075
cp -r %{_vpath_builddir}/docs/html/* %{buildroot}%{_pkgdocdir}/html/
7222536
7222536
%check
004f075
%cmake_build --target check-polly
7222536
7222536
%files
5827cef
%license LICENSE.txt
7222536
%{_libdir}/LLVMPolly.so
7222536
%{_libdir}/libPolly.so.*
7222536
%{_libdir}/libPollyISL.so
7222536
%{_libdir}/libPollyPPCG.so
7222536
7222536
%files devel
7222536
%{_libdir}/libPolly.so
7222536
%{_includedir}/polly
7222536
%{_libdir}/cmake/polly
7222536
7222536
%files doc
7222536
%doc %{_pkgdocdir}/html
7222536
7222536
%changelog
d9d56e0
* Thu Oct 15 2020 sguelton@redhat.com - 11.0.0-1
d9d56e0
- Fix NVR
d9d56e0
ee55943
* Tue Oct 13 2020 sguelton@redhat.com - 11.0.0-0.2
ee55943
- llvm 11.0.0 - final release
ee55943
91f251a
* Tue Aug 11 2020 Tom Stellard <tstellar@redhat.com> - 11.0.0-0.1.rc1
91f251a
- 11.0.0-rc1 Release
91f251a
311c1b5
* Tue Aug 11 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-6
311c1b5
- Disable LTO builds
311c1b5
5827cef
* Mon Aug 10 2020 sguelton@redhat.com - 10.0.0-5
5827cef
- Make gcc dependency explicit, see https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires
5827cef
- use %%license macro
5827cef
a6e84af
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-4
a6e84af
- Second attempt - Rebuilt for
a6e84af
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
a6e84af
5101d54
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-3
5101d54
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
5101d54
004f075
* Mon Jul 20 2020 sguelton@redhat.com - 10.0.0-2
004f075
- Modernize cmake macro usage
004f075
3d64da5
* Mon Mar 30 2020 sguelton@redhat.com - 10.0.0-1
3d64da5
- llvm-10.0.0 final
3d64da5
3ded86e
* Wed Mar 25 2020 sguelton@redhat.com - 10.0.0-0.2.rc6
3ded86e
- llvm-10.0.0 rc6
3ded86e
7222536
* Sat Mar 21 2020 sguelton@redhat.com - 10.0.0-0.1.rc5
7222536
- Initial version.
7222536