52 lines
1.7 KiB
Diff
52 lines
1.7 KiB
Diff
Copied from Debian.
|
|
|
|
Description: Disable SSE2 code on i386
|
|
This patch is not complete. A high-graded solution may use automatic switching
|
|
between SSE2 and C++ implementations based on the results of runtime checks.
|
|
The webrtc code already provides for one of them inside its GetCPUInfo function.
|
|
Bug-Debian: https://bugs.debian.org/892823
|
|
Author: Nicholas Guriev <guriev-ns@ya.ru>
|
|
Last-Update: Tue, 29 Jan 2019 23:26:38 +0300
|
|
|
|
--- a/libtgvoip.gyp
|
|
+++ b/libtgvoip.gyp
|
|
@@ -871,11 +871,7 @@
|
|
'WEBRTC_POSIX',
|
|
],
|
|
'conditions': [
|
|
- [ '"<!(uname -m)" == "i686"', {
|
|
- 'cflags_cc': [
|
|
- '-msse2',
|
|
- ],
|
|
- }], ['"<!(uname -s)" == "Linux"', {
|
|
+ [ '"<!(uname -s)" == "Linux"', {
|
|
'defines': [
|
|
'WEBRTC_LINUX',
|
|
],
|
|
--- a/webrtc_dsp/rtc_base/system/arch.h
|
|
+++ b/webrtc_dsp/rtc_base/system/arch.h
|
|
@@ -28,7 +28,10 @@
|
|
#define WEBRTC_ARCH_64_BITS
|
|
#define WEBRTC_ARCH_LITTLE_ENDIAN
|
|
#elif defined(_M_IX86) || defined(__i386__)
|
|
+#if defined(__SSE2__)
|
|
+// This macro is mostly used to detect SSE2 extension.
|
|
#define WEBRTC_ARCH_X86_FAMILY
|
|
+#endif
|
|
#define WEBRTC_ARCH_X86
|
|
#define WEBRTC_ARCH_32_BITS
|
|
#define WEBRTC_ARCH_LITTLE_ENDIAN
|
|
--- a/webrtc_dsp/typedefs.h
|
|
+++ b/webrtc_dsp/typedefs.h
|
|
@@ -28,7 +28,10 @@
|
|
#define WEBRTC_ARCH_64_BITS
|
|
#define WEBRTC_ARCH_LITTLE_ENDIAN
|
|
#elif defined(_M_IX86) || defined(__i386__)
|
|
+#if defined(__SSE2__)
|
|
+// This macro is mostly used to detect SSE2 extension.
|
|
#define WEBRTC_ARCH_X86_FAMILY
|
|
+#endif
|
|
#define WEBRTC_ARCH_X86
|
|
#define WEBRTC_ARCH_32_BITS
|
|
#define WEBRTC_ARCH_LITTLE_ENDIAN
|