Remove TARGET_PC and cruft from typedefs.h.
Additionally remove all TARGET defines (e.g. TARGET_MAC), which weren't used anyway.
BUG=
TEST=build on Linux, Mac, Win
Review URL: https://webrtc-codereview.appspot.com/432001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1822 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/src/typedefs.h b/src/typedefs.h
index ba87309..f9055d9 100644
--- a/src/typedefs.h
+++ b/src/typedefs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
@@ -19,53 +19,24 @@
#define G_CONST const
#define WEBRTC_INLINE extern __inline
-// Define WebRTC preprocessor identifiers based on the current build platform.
-// TODO(andrew): Clean these up. We can probably remove everything in this
-// block.
-// - TARGET_MAC_INTEL and TARGET_MAC aren't used anywhere.
-// - In the few places where TARGET_PC is used, it should be replaced by
-// something more specific.
-// - Do we really support PowerPC? Probably not. Remove WEBRTC_MAC_INTEL
-// from build/common.gypi as well.
-#if defined(WIN32)
- // Windows & Windows Mobile.
- #if !defined(WEBRTC_TARGET_PC)
- #define WEBRTC_TARGET_PC
- #endif
-#elif defined(__APPLE__)
- // Mac OS X.
- #if defined(__LITTLE_ENDIAN__ )
- #if !defined(WEBRTC_TARGET_MAC_INTEL)
- #define WEBRTC_TARGET_MAC_INTEL
- #endif
- #else
- #if !defined(WEBRTC_TARGET_MAC)
- #define WEBRTC_TARGET_MAC
- #endif
- #endif
-#else
- // Linux etc.
- #if !defined(WEBRTC_TARGET_PC)
- #define WEBRTC_TARGET_PC
- #endif
-#endif
-
// Derived from Chromium's build/build_config.h
// Processor architecture detection. For more info on what's defined, see:
// http://msdn.microsoft.com/en-us/library/b0084kay.aspx
// http://www.agner.org/optimize/calling_conventions.pdf
// or with gcc, run: "echo | gcc -E -dM -"
-// TODO(andrew): replace WEBRTC_LITTLE_ENDIAN with WEBRTC_ARCH_LITTLE_ENDIAN?
+// TODO(andrew): replace WEBRTC_LITTLE_ENDIAN with WEBRTC_ARCH_LITTLE_ENDIAN.
#if defined(_M_X64) || defined(__x86_64__)
#define WEBRTC_ARCH_X86_FAMILY
#define WEBRTC_ARCH_X86_64
#define WEBRTC_ARCH_64_BITS
#define WEBRTC_ARCH_LITTLE_ENDIAN
+#define WEBRTC_LITTLE_ENDIAN
#elif defined(_M_IX86) || defined(__i386__)
#define WEBRTC_ARCH_X86_FAMILY
#define WEBRTC_ARCH_X86
#define WEBRTC_ARCH_32_BITS
#define WEBRTC_ARCH_LITTLE_ENDIAN
+#define WEBRTC_LITTLE_ENDIAN
#elif defined(__ARMEL__)
// TODO(andrew): We'd prefer to control platform defines here, but this is
// currently provided by the Android makefiles. Commented to avoid duplicate
@@ -76,6 +47,7 @@
//#define WEBRTC_ARCH_ARMEL
#define WEBRTC_ARCH_32_BITS
#define WEBRTC_ARCH_LITTLE_ENDIAN
+#define WEBRTC_LITTLE_ENDIAN
#else
#error Please add support for your architecture in typedefs.h
#endif
@@ -84,59 +56,31 @@
#define WEBRTC_USE_SSE2
#endif
-#if defined(WEBRTC_TARGET_PC)
-
#if !defined(_MSC_VER)
- #include <stdint.h>
+#include <stdint.h>
#else
- // Define C99 equivalent types.
- // Since MSVC doesn't include these headers, we have to write our own
- // version to provide a compatibility layer between MSVC and the WebRTC
- // headers.
- typedef signed char int8_t;
- typedef signed short int16_t;
- typedef signed int int32_t;
- typedef signed long long int64_t;
- typedef unsigned char uint8_t;
- typedef unsigned short uint16_t;
- typedef unsigned int uint32_t;
- typedef unsigned long long uint64_t;
+// Define C99 equivalent types, since MSVC doesn't provide stdint.h.
+typedef signed char int8_t;
+typedef signed short int16_t;
+typedef signed int int32_t;
+typedef __int64 int64_t;
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+typedef unsigned __int64 uint64_t;
#endif
-#if defined(WIN32)
- typedef __int64 WebRtc_Word64;
- typedef unsigned __int64 WebRtc_UWord64;
-#else
- typedef int64_t WebRtc_Word64;
- typedef uint64_t WebRtc_UWord64;
-#endif
- typedef int32_t WebRtc_Word32;
- typedef uint32_t WebRtc_UWord32;
- typedef int16_t WebRtc_Word16;
- typedef uint16_t WebRtc_UWord16;
- typedef char WebRtc_Word8;
- typedef uint8_t WebRtc_UWord8;
-
- // Define endian for the platform
- #define WEBRTC_LITTLE_ENDIAN
-
-#elif defined(WEBRTC_TARGET_MAC_INTEL)
- #include <stdint.h>
-
- typedef int64_t WebRtc_Word64;
- typedef uint64_t WebRtc_UWord64;
- typedef int32_t WebRtc_Word32;
- typedef uint32_t WebRtc_UWord32;
- typedef int16_t WebRtc_Word16;
- typedef char WebRtc_Word8;
- typedef uint16_t WebRtc_UWord16;
- typedef uint8_t WebRtc_UWord8;
-
- // Define endian for the platform
- #define WEBRTC_LITTLE_ENDIAN
-
-#else
- #error "No platform defined for WebRTC type definitions (typedefs.h)"
-#endif
+// TODO(andrew): remove WebRtc_ types:
+// http://code.google.com/p/webrtc/issues/detail?id=314
+// TODO(leozwang): change to WebRtc_Word8 to use int8_t:
+// http://code.google.com/p/webrtc/issues/detail?id=311
+typedef char WebRtc_Word8;
+typedef int16_t WebRtc_Word16;
+typedef int32_t WebRtc_Word32;
+typedef int64_t WebRtc_Word64;
+typedef uint8_t WebRtc_UWord8;
+typedef uint16_t WebRtc_UWord16;
+typedef uint32_t WebRtc_UWord32;
+typedef uint64_t WebRtc_UWord64;
#endif // WEBRTC_TYPEDEFS_H_