webrtc-fix-typedefs-on-other-arches.patch: port to !{x86,arm}

This commit is contained in:
Kyle McMartin 2014-01-28 19:04:49 -05:00
parent 3d635c8bbb
commit 3ca148decf
2 changed files with 32 additions and 3 deletions

View File

@ -1,14 +1,13 @@
Name: webrtc-audio-processing
Version: 0.1
Release: 5%{?dist}
Release: 6%{?dist}
Summary: Library for echo cancellation
License: BSD
URL: http://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/
Source0: http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/%{name}-%{version}.tar.xz
ExclusiveArch: %{ix86} x86_64 %{arm}
Patch0: webrtc-fix-typedefs-on-other-arches.patch
%description
%{name} is a library derived from Google WebRTC project that
@ -26,6 +25,7 @@ files for developing applications that use %{name}.
%prep
%setup -q
%patch0 -p1 -b .typedef
%build
%configure \
@ -58,6 +58,11 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
%changelog
* Tue Jan 28 2014 Kyle McMartin <kyle@fedoraproject.org> - 0.1-6
- webrtc-fix-typedefs-on-other-arches.patch: fix ftbfs on non-x86/arm due to
a build #error in typedefs.h, however, the defines are not used anywhere in
the code. Fixes build on ppc{,64}, s390x, and aarch64.
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

View File

@ -0,0 +1,24 @@
diff -Nur webrtc-audio-processing-0.1/src/typedefs.h webrtc-audio-processing-0.1.new/src/typedefs.h
--- webrtc-audio-processing-0.1/src/typedefs.h 2011-10-21 00:29:33.000000000 -0400
+++ webrtc-audio-processing-0.1.new/src/typedefs.h 2014-01-28 18:42:57.816865572 -0500
@@ -77,7 +77,19 @@
#define WEBRTC_ARCH_32_BITS
#define WEBRTC_ARCH_LITTLE_ENDIAN
#else
-#error Please add support for your architecture in typedefs.h
+/* instead of failing, use typical unix defines... */
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+#define WEBRTC_ARCH_LITTLE_ENDIAN
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#define WEBRTC_ARCH_BIG_ENDIAN
+#else
+#error __BYTE_ORDER__ isn't defined!
+#endif
+#if defined(__LP64__)
+#define WEBRTC_ARCH_64_BITS
+#else
+#define WEBRTC_ARCH_32_BITS
+#endif
#endif
#if defined(__SSE2__) || defined(_MSC_VER)