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 Name: webrtc-audio-processing
Version: 0.3 Version: 0.3
Release: 6%{?dist} Release: 7%{?dist}
Summary: Library for echo cancellation Summary: Library for echo cancellation
License: BSD 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 Patch16: 0016-build-Fix-configure-option-with-ns-mode.patch
Patch100: webrtc-fix-typedefs-on-other-arches.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 # bz#1336466, https://bugs.freedesktop.org/show_bug.cgi?id=95738
Patch104: webrtc-audio-processing-0.2-big-endian.patch Patch104: webrtc-audio-processing-0.2-big-endian.patch
BuildRequires: automake libtool BuildRequires: autoconf automake libtool
BuildRequires: gcc gcc-c++
%description %description
%{name} is a library derived from Google WebRTC project that %{name} is a library derived from Google WebRTC project that
@ -51,26 +48,14 @@ files for developing applications that use %{name}.
%prep %prep
%autosetup -p1 %autosetup -p1
# for patch1
autoreconf -fi
%build %build
# for patch1
%ifarch %{arm} autoreconf -vif
# 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
%configure \ %configure \
%{?neon} \ %ifarch %{arm} aarch64
--enable-neon=no \
%endif
--disable-silent-rules \ --disable-silent-rules \
--disable-static --disable-static
@ -80,8 +65,8 @@ make %{?_smp_mflags}
%install %install
make install DESTDIR=%{buildroot} INSTALL="install -p" make install DESTDIR=%{buildroot} INSTALL="install -p"
## unpackaged files # remove libtool archives
rm -fv %{buildroot}%{_libdir}/lib*.la find %{buildroot} -type f -name "*.la" -delete
%post -p /sbin/ldconfig %post -p /sbin/ldconfig
%postun -p /sbin/ldconfig %postun -p /sbin/ldconfig
@ -99,6 +84,10 @@ rm -fv %{buildroot}%{_libdir}/lib*.la
%changelog %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 * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild