diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-03-16 01:22:35 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-03-16 01:22:35 +0100 |
commit | 09b767250ddd874c47a0c9694079227707fd443e (patch) | |
tree | e57b4ac88028c375df4d40c88fb892d7cace9ed0 | |
parent | 820874ed3872877601ee95adc275bda215f2d320 (diff) | |
download | busybox-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.h | 27 |
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 | ||
33 | typedef uint64_t __u64; | 44 | typedef uint64_t __u64; |
34 | typedef uint64_t u64; | 45 | typedef uint64_t u64; |