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-09b767250ddd874c47a0c9694079227707fd443e.tar.gz |
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 @@ #ifndef FIX_U32_H #define FIX_U32_H 1 +/* Try hard to pull in u32 types and such. + * Otherwise, #include "fix_u32.h" + #include <linux/foo.h> + * may end up typedef'ing bb_hack_u32 inside foo.h, + * and repeated typedefs aren't allowed in C/C++. + */ +#include <asm/types.h> +#include <linux/types.h> + +/* In case above includes still failed to provide the types, + * provide them ourself + */ #undef __u64 #undef u64 #undef u32 @@ -20,15 +31,15 @@ #undef s8 #define __u64 bb_hack___u64 -#define u64 bb_hack_u64 -#define u32 bb_hack_u32 -#define u16 bb_hack_u16 -#define u8 bb_hack_u8 +#define u64 bb_hack_u64 +#define u32 bb_hack_u32 +#define u16 bb_hack_u16 +#define u8 bb_hack_u8 #define __s64 bb_hack___s64 -#define s64 bb_hack_s64 -#define s32 bb_hack_s32 -#define s16 bb_hack_s16 -#define s8 bb_hack_s8 +#define s64 bb_hack_s64 +#define s32 bb_hack_s32 +#define s16 bb_hack_s16 +#define s8 bb_hack_s8 typedef uint64_t __u64; typedef uint64_t u64; |