+Index: linux-2.6.21.7/scripts/kconfig/Makefile
+===================================================================
+--- linux-2.6.21.7.orig/scripts/kconfig/Makefile
++++ linux-2.6.21.7/scripts/kconfig/Makefile
+@@ -87,6 +87,9 @@ check-lxdialog := $(srctree)/$(src)/lxd
+ # we really need to do so. (Do not call gcc as part of make mrproper)
+ HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
+ HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
++ifeq ($(shell uname -s),Darwin)
++HOST_LOADLIBES += -lncurses
++endif
+
+ HOST_EXTRACFLAGS += -DLOCALE
+
+Index: linux-2.6.21.7/scripts/mod/file2alias.c
+===================================================================
+--- linux-2.6.21.7.orig/scripts/mod/file2alias.c
++++ linux-2.6.21.7/scripts/mod/file2alias.c
+@@ -37,7 +37,21 @@ typedef unsigned char __u8;
+ * even potentially has different endianness and word sizes, since
+ * we handle those differences explicitly below */
+ #include "../../include/linux/mod_devicetable.h"
++#ifndef __APPLE__
+ #include "../../include/linux/input.h"
++#else
++#define EV_MAX 0x1f
++#define KEY_MUTE 113
++#define KEY_MIN_INTERESTING KEY_MUTE
++#define KEY_MAX 0x1ff
++#define REL_MAX 0x0f
++#define ABS_MAX 0x3f
++#define MSC_MAX 0x07
++#define LED_MAX 0x0f
++#define SND_MAX 0x07
++#define FF_MAX 0x7f
++#define SW_MAX 0x0f
++#endif
+
+ #define ADD(str, sep, cond, field) \
+ do { \
+Index: linux-2.6.21.7/scripts/mod/mk_elfconfig.c
+===================================================================
+--- linux-2.6.21.7.orig/scripts/mod/mk_elfconfig.c
++++ linux-2.6.21.7/scripts/mod/mk_elfconfig.c
+@@ -1,7 +1,11 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifndef __APPLE__
+ #include <elf.h>
++#else
++#include "../../../../../tools/sstrip/include/elf.h"
++#endif
+
+ int
+ main(int argc, char **argv)
+Index: linux-2.6.21.7/scripts/mod/modpost.h
+===================================================================
+--- linux-2.6.21.7.orig/scripts/mod/modpost.h
++++ linux-2.6.21.7/scripts/mod/modpost.h
+@@ -7,7 +7,11 @@
+ #include <sys/mman.h>
+ #include <fcntl.h>
+ #include <unistd.h>
++#ifndef __APPLE__
+ #include <elf.h>
++#else
++#include "../../../../../tools/sstrip/include/elf.h"
++#endif
+
+ #include "elfconfig.h"
+
+Index: linux-2.6.21.7/scripts/mod/sumversion.c
+===================================================================
+--- linux-2.6.21.7.orig/scripts/mod/sumversion.c
++++ linux-2.6.21.7/scripts/mod/sumversion.c
+@@ -8,6 +8,9 @@
+ #include <errno.h>
+ #include <string.h>
+ #include "modpost.h"
++#ifdef __APPLE__
++#include <limits.h>
++#endif
+
+ /*
+ * Stolen form Cryptographic API.