]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
fix compile error on macOS Mojave
author默默 <wangqiang1588@sina.com>
Sun, 31 Mar 2019 08:07:03 +0000 (16:07 +0800)
committerTom Rini <trini@konsulko.com>
Wed, 3 Apr 2019 14:26:46 +0000 (10:26 -0400)
Makefile
lib/bch.c

index c1af9307b38e2b941d651bc316dcdf82e1bff8e6..92e04dd6898783912bf8c9984246c1dbc40395b9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -291,6 +291,9 @@ DARWIN_MINOR_VERSION        = $(shell sw_vers -productVersion | cut -f 2 -d '.')
 os_x_before    = $(shell if [ $(DARWIN_MAJOR_VERSION) -le $(1) -a \
        $(DARWIN_MINOR_VERSION) -le $(2) ] ; then echo "$(3)"; else echo "$(4)"; fi ;)
 
+os_x_after = $(shell if [ $(DARWIN_MAJOR_VERSION) -ge $(1) -a \
+       $(DARWIN_MINOR_VERSION) -ge $(2) ] ; then echo "$(3)"; else echo "$(4)"; fi ;)  
+
 # Snow Leopards build environment has no longer restrictions as described above
 HOSTCC       = $(call os_x_before, 10, 5, "cc", "gcc")
 HOSTCFLAGS  += $(call os_x_before, 10, 4, "-traditional-cpp")
@@ -300,6 +303,10 @@ HOSTLDFLAGS += $(call os_x_before, 10, 5, "-multiply_defined suppress")
 # in some host tools which is a problem then ... so disable ASLR for these
 # tools
 HOSTLDFLAGS += $(call os_x_before, 10, 7, "", "-Xlinker -no_pie")
+
+# macOS Mojave (10.14.X) 
+# Undefined symbols for architecture x86_64: "_PyArg_ParseTuple"
+HOSTLDFLAGS += $(call os_x_after, 10, 14, "-lpython -dynamclib", "")
 endif
 
 # Decide whether to build built-in, modular, or both.
index 20079eb9ebd12eb3d38b37f30d515b131f55a383..c4fac77d611456b116b663b0553d4325c6861fda 100644 (file)
--- a/lib/bch.c
+++ b/lib/bch.c
@@ -62,6 +62,9 @@
 #include <errno.h>
 #if defined(__FreeBSD__)
 #include <sys/endian.h>
+#elif defined(__APPLE__)
+#include <machine/endian.h>
+#include <libkern/OSByteOrder.h>
 #else
 #include <endian.h>
 #endif
 #include <string.h>
 
 #undef cpu_to_be32
+#if defined(__APPLE__)
+#define cpu_to_be32 OSSwapHostToBigInt32
+#else
 #define cpu_to_be32 htobe32
+#endif
 #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
 #define kmalloc(size, flags)   malloc(size)
 #define kzalloc(size, flags)   calloc(1, size)
@@ -116,7 +123,7 @@ struct gf_poly_deg1 {
 };
 
 #ifdef USE_HOSTCC
-#if !defined(__DragonFly__) && !defined(__FreeBSD__)
+#if !defined(__DragonFly__) && !defined(__FreeBSD__) && !defined(__APPLE__)
 static int fls(int x)
 {
        int r = 32;