From 590b23a46b7ae0f5ec5e8f57a85c0e7578c71141 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 26 Apr 2020 17:15:17 +0200 Subject: [PATCH 1/2] Add compatibility with non Linux hosts This adds some changes to the u-boot tools to make it possible to build them on non Linux hosts like MacOS or FreeBSD. asm/byteorder.h, asm/posix_types.h, asm/types.h and linux/kernel.h are not available on such systems. Remove the include and add the necessary parts for these header files manually or remove the usage too. __u64 is not available on FreeBSD, remove its usage. has been replaced by Signed-off-by: Hauke Mehrtens --- include/image.h | 2 ++ include/imx8image.h | 5 +++++ include/linux/posix_types.h | 2 ++ include/linux/types.h | 4 +++- lib/rsa/rsa-sign.c | 2 +- 5 files changed, 13 insertions(+), 2 deletions(-) --- a/include/image.h +++ b/include/image.h @@ -16,7 +16,9 @@ #define __IMAGE_H__ #include "compiler.h" +#ifdef linux #include +#endif #include /* Define this to avoid #ifdefs later on */ --- a/include/imx8image.h +++ b/include/imx8image.h @@ -11,7 +11,12 @@ #include #include #include "imagetool.h" +#ifdef linux #include "linux/kernel.h" +#else +#define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1) +#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) +#endif #define __packed __attribute__((packed)) --- a/include/linux/posix_types.h +++ b/include/linux/posix_types.h @@ -43,6 +43,8 @@ typedef void (*__kernel_sighandler_t)(in /* Type of a SYSV IPC key. */ typedef int __kernel_key_t; +#ifdef linux #include +#endif #endif /* _LINUX_POSIX_TYPES_H */ --- a/include/linux/types.h +++ b/include/linux/types.h @@ -2,7 +2,9 @@ #define _LINUX_TYPES_H #include +#ifdef linux #include +#endif #include #ifndef __KERNEL_STRICT_NAMES @@ -142,7 +144,7 @@ typedef __u16 __bitwise __le16; typedef __u16 __bitwise __be16; typedef __u32 __bitwise __le32; typedef __u32 __bitwise __be32; -#if defined(__GNUC__) +#if defined(__GNUC__) && defined(linux) typedef __u64 __bitwise __le64; typedef __u64 __bitwise __be64; #endif --- a/lib/rsa/rsa-sign.c +++ b/lib/rsa/rsa-sign.c @@ -4,7 +4,7 @@ */ #include "mkimage.h" -#include +#include #include #include #include