fix up aarch64 build by just disabling neon everywhere (I wish enable-neon=runtime actually worked), minor cleanups

This commit is contained in:
Peter Robinson 2018-03-03 15:30:28 +00:00
parent 50aac7a8be
commit b0c5f9f2c5

View File

@ -1,7 +1,6 @@
Name: webrtc-audio-processing
Version: 0.3
Release: 6%{?dist}
Release: 7%{?dist}
Summary: Library for echo cancellation
License: BSD
@ -27,13 +26,11 @@ Patch15: 0015-doc-file-invalid-reference-to-pulseaudio-mailing-lis.patch
Patch16: 0016-build-Fix-configure-option-with-ns-mode.patch
Patch100: webrtc-fix-typedefs-on-other-arches.patch
# WIP to only explicitly add -mfpu=neon where needed for neon runtime detection
# currently doesn't work due to %%configure injecting incompatible CFLAGS atm, see below
Patch101: webrtc-audio-processing-0.3-neon.patch
# bz#1336466, https://bugs.freedesktop.org/show_bug.cgi?id=95738
Patch104: webrtc-audio-processing-0.2-big-endian.patch
BuildRequires: automake libtool
BuildRequires: autoconf automake libtool
BuildRequires: gcc gcc-c++
%description
%{name} is a library derived from Google WebRTC project that
@ -51,26 +48,14 @@ files for developing applications that use %{name}.
%prep
%autosetup -p1
# for patch1
autoreconf -fi
%build
%ifarch %{arm}
# disable neon support
# can't unconditionally enable neon, and --enable-neon=runtime is broken (WebRtc_GetCPUFeaturesARM is unimplemented)
%global neon --enable-neon=no
## hack to ensure -mfpu=neon flag appears last when using --enable-neon=yes|runtime
#export CFLAGS="%{optflags} -mfpu=neon"
#export CXXFLAGS="%{optflags} -mfpu=neon"
## except that enables it for *all* objects, not just the ones we want (see patch1),
## seems CFLAGS always trumps project flags, see also:
## http://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html
%endif
# for patch1
autoreconf -vif
%configure \
%{?neon} \
%ifarch %{arm} aarch64
--enable-neon=no \
%endif
--disable-silent-rules \
--disable-static
@ -80,8 +65,8 @@ make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot} INSTALL="install -p"
## unpackaged files
rm -fv %{buildroot}%{_libdir}/lib*.la
# remove libtool archives
find %{buildroot} -type f -name "*.la" -delete
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@ -99,6 +84,10 @@ rm -fv %{buildroot}%{_libdir}/lib*.la
%changelog
* Sat Mar 3 2018 Peter Robinson <pbrobinson@fedoraproject.org> 0.3-7
- Add gcc/gcc-c++ build requires
- Add aarch64 to NEON exception
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild