simplify pzstd build handling

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
This commit is contained in:
Igor Gnatenko 2018-02-11 10:45:46 +01:00
parent d373770cae
commit 9f8104bc8a
No known key found for this signature in database
GPG Key ID: 695714BD1BBC5F4C
1 changed files with 13 additions and 9 deletions

View File

@ -1,9 +1,13 @@
%if 0%{?rhel} && 0%{?rhel} <= 6
# gcc-4.4 is currently too old to compile pzstd # gcc-4.4 is currently too old to compile pzstd
%if 0%{?fedora} || 0%{?rhel} > 6 %bcond_with pzstd
%else
%ifarch %{ix86} x86_64
%bcond_without pzstd
%else
# aarch64 and armv7hl at least currently segfault # aarch64 and armv7hl at least currently segfault
# in ThreadPool test for the pzstd util # in ThreadPool test for the pzstd util
%ifarch %{ix86} x86_64 %bcond_with pzstd
%global with_pzstd 1
%endif %endif
%endif %endif
@ -19,7 +23,7 @@ Source0: https://github.com/facebook/zstd/archive/v%{version}.tar.gz#/%{n
Patch1: pzstd.1.patch Patch1: pzstd.1.patch
BuildRequires: gcc gtest-devel BuildRequires: gcc gtest-devel
%if 0%{?with_pzstd} %if %{with pzstd}
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
@ -44,7 +48,7 @@ Header files for Zstd library.
%prep %prep
%setup -q %setup -q
find -name .gitignore -delete find -name .gitignore -delete
%if 0%{?with_pzstd} %if %{with pzstd}
%patch1 -p1 %patch1 -p1
%endif %endif
@ -54,7 +58,7 @@ export LDFLAGS="$RPM_LD_FLAGS"
for dir in lib programs; do for dir in lib programs; do
%make_build -C "$dir" %make_build -C "$dir"
done done
%if 0%{?with_pzstd} %if %{with pzstd}
export CXXFLAGS="$RPM_OPT_FLAGS -std=c++11" export CXXFLAGS="$RPM_OPT_FLAGS -std=c++11"
%make_build -C contrib/pzstd %make_build -C contrib/pzstd
%endif %endif
@ -63,7 +67,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -std=c++11"
export CFLAGS="$RPM_OPT_FLAGS" export CFLAGS="$RPM_OPT_FLAGS"
export LDFLAGS="$RPM_LD_FLAGS" export LDFLAGS="$RPM_LD_FLAGS"
make -C tests test-zstd make -C tests test-zstd
%if 0%{?with_pzstd} %if %{with pzstd}
export CXXFLAGS="$RPM_OPT_FLAGS -std=c++11" export CXXFLAGS="$RPM_OPT_FLAGS -std=c++11"
make -C contrib/pzstd test make -C contrib/pzstd test
%endif %endif
@ -75,7 +79,7 @@ rm %{buildroot}/%{_bindir}/%{name}less
rm %{buildroot}/%{_bindir}/%{name}grep rm %{buildroot}/%{_bindir}/%{name}grep
# Don't install the static lib # Don't install the static lib
rm %{buildroot}/%{_libdir}/libzstd.a rm %{buildroot}/%{_libdir}/libzstd.a
%if 0%{?with_pzstd} %if %{with pzstd}
install -D -m755 contrib/pzstd/pzstd %{buildroot}/usr/bin/pzstd install -D -m755 contrib/pzstd/pzstd %{buildroot}/usr/bin/pzstd
install -D -m644 programs/%{name}.1 %{buildroot}/%{_mandir}/man1/p%{name}.1 install -D -m644 programs/%{name}.1 %{buildroot}/%{_mandir}/man1/p%{name}.1
%endif %endif
@ -83,7 +87,7 @@ install -D -m644 programs/%{name}.1 %{buildroot}/%{_mandir}/man1/p%{name}.1
%files %files
%doc NEWS README.md %doc NEWS README.md
%{_bindir}/%{name} %{_bindir}/%{name}
%if 0%{?with_pzstd} %if %{with pzstd}
%{_bindir}/p%{name} %{_bindir}/p%{name}
%{_mandir}/man1/p%{name}.1* %{_mandir}/man1/p%{name}.1*
%endif %endif