summaryrefslogtreecommitdiffstats
path: root/third_party/libjingle/overrides
diff options
context:
space:
mode:
authorfbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-11 21:23:05 +0000
committerfbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-11 21:23:05 +0000
commit53ee6f09cccc95c6aafac82ab93da66123dd0c0e (patch)
tree721b675204bc0b6a7d60a18c42c737867b5260fb /third_party/libjingle/overrides
parent4d5dd98cf1fdfaaa54219a24d61f2210e6259350 (diff)
downloadchromium_src-53ee6f09cccc95c6aafac82ab93da66123dd0c0e.zip
chromium_src-53ee6f09cccc95c6aafac82ab93da66123dd0c0e.tar.gz
chromium_src-53ee6f09cccc95c6aafac82ab93da66123dd0c0e.tar.bz2
Add CPU_ and ARCH_ for jingle overlay
BUG=none TEST=try bots Review URL: https://codereview.chromium.org/13918005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193756 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/libjingle/overrides')
-rw-r--r--third_party/libjingle/overrides/talk/base/basictypes.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/third_party/libjingle/overrides/talk/base/basictypes.h b/third_party/libjingle/overrides/talk/base/basictypes.h
index 2cc1dbc..ddd6812 100644
--- a/third_party/libjingle/overrides/talk/base/basictypes.h
+++ b/third_party/libjingle/overrides/talk/base/basictypes.h
@@ -41,6 +41,33 @@ typedef __int64 int64;
#endif /* COMPILER_MSVC */
#endif // INT_TYPES_DEFINED
+// Detect compiler is for x86 or x64.
+#if defined(__x86_64__) || defined(_M_X64) || \
+ defined(__i386__) || defined(_M_IX86)
+#define CPU_X86 1
+#endif
+// Detect compiler is for arm.
+#if defined(__arm__) || defined(_M_ARM)
+#define CPU_ARM 1
+#endif
+#if defined(CPU_X86) && defined(CPU_ARM)
+#error CPU_X86 and CPU_ARM both defined.
+#endif
+#if !defined(ARCH_CPU_BIG_ENDIAN) && !defined(ARCH_CPU_LITTLE_ENDIAN)
+// x86, arm or GCC provided __BYTE_ORDER__ macros
+#if CPU_X86 || CPU_ARM || \
+ (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+#define ARCH_CPU_LITTLE_ENDIAN
+#elif defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#define ARCH_CPU_BIG_ENDIAN
+#else
+#error ARCH_CPU_BIG_ENDIAN or ARCH_CPU_LITTLE_ENDIAN should be defined.
+#endif
+#endif
+#if defined(ARCH_CPU_BIG_ENDIAN) && defined(ARCH_CPU_LITTLE_ENDIAN)
+#error ARCH_CPU_BIG_ENDIAN and ARCH_CPU_LITTLE_ENDIAN both defined.
+#endif
+
#ifdef WIN32
typedef int socklen_t;
#endif