aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-03-16 01:22:35 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-03-16 01:22:35 +0100
commit09b767250ddd874c47a0c9694079227707fd443e (patch)
treee57b4ac88028c375df4d40c88fb892d7cace9ed0
parent820874ed3872877601ee95adc275bda215f2d320 (diff)
downloadbusybox-w32-09b767250ddd874c47a0c9694079227707fd443e.tar.gz
busybox-w32-09b767250ddd874c47a0c9694079227707fd443e.tar.bz2
busybox-w32-09b767250ddd874c47a0c9694079227707fd443e.zip
include/fix_u32.h: try harder to not cause redefinition errors
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--include/fix_u32.h27
1 files changed, 19 insertions, 8 deletions
diff --git a/include/fix_u32.h b/include/fix_u32.h
index 5652e9e48..c26e5d192 100644
--- a/include/fix_u32.h
+++ b/include/fix_u32.h
@@ -8,6 +8,17 @@
8#ifndef FIX_U32_H 8#ifndef FIX_U32_H
9#define FIX_U32_H 1 9#define FIX_U32_H 1
10 10
11/* Try hard to pull in u32 types and such.
12 * Otherwise, #include "fix_u32.h" + #include <linux/foo.h>
13 * may end up typedef'ing bb_hack_u32 inside foo.h,
14 * and repeated typedefs aren't allowed in C/C++.
15 */
16#include <asm/types.h>
17#include <linux/types.h>
18
19/* In case above includes still failed to provide the types,
20 * provide them ourself
21 */
11#undef __u64 22#undef __u64
12#undef u64 23#undef u64
13#undef u32 24#undef u32
@@ -20,15 +31,15 @@
20#undef s8 31#undef s8
21 32
22#define __u64 bb_hack___u64 33#define __u64 bb_hack___u64
23#define u64 bb_hack_u64 34#define u64 bb_hack_u64
24#define u32 bb_hack_u32 35#define u32 bb_hack_u32
25#define u16 bb_hack_u16 36#define u16 bb_hack_u16
26#define u8 bb_hack_u8 37#define u8 bb_hack_u8
27#define __s64 bb_hack___s64 38#define __s64 bb_hack___s64
28#define s64 bb_hack_s64 39#define s64 bb_hack_s64
29#define s32 bb_hack_s32 40#define s32 bb_hack_s32
30#define s16 bb_hack_s16 41#define s16 bb_hack_s16
31#define s8 bb_hack_s8 42#define s8 bb_hack_s8
32 43
33typedef uint64_t __u64; 44typedef uint64_t __u64;
34typedef uint64_t u64; 45typedef uint64_t u64;