aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.6/patches/902-darwin_scripts_include.patch
blob: 0e981def57380e5bfe708a95072bb6a3ab039de8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
Index: linux-2.6.21.7/scripts/genksyms/parse.c_shipped
===================================================================
--- linux-2.6.21.7.orig/scripts/genksyms/parse.c_shipped
+++ linux-2.6.21.7/scripts/genksyms/parse.c_shipped
@@ -144,7 +144,9 @@
 
 
 #include <assert.h>
+#ifndef __APPLE__
 #include <malloc.h>
+#endif
 #include "genksyms.h"
 
 static int is_typedef;
Index: linux-2.6.21.7/scripts/genksyms/parse.y
===================================================================
--- linux-2.6.21.7.orig/scripts/genksyms/parse.y
+++ linux-2.6.21.7/scripts/genksyms/parse.y
@@ -24,7 +24,9 @@
 %{
 
 #include <assert.h>
+#ifndef __APPLE__
 #include <malloc.h>
+#endif
 #include "genksyms.h"
 
 static int is_typedef;
Index: linux-2.6.21.7/scripts/kallsyms.c
===================================================================
--- linux-2.6.21.7.orig/scripts/kallsyms.c
+++ linux-2.6.21.7/scripts/kallsyms.c
@@ -30,6 +30,35 @@
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
+#ifdef __APPLE__
+/* Darwin has no memmem implementation, this one is ripped of the uClibc-0.9.28 source */
+void *memmem (const void *haystack, size_t haystack_len,
+                          const void *needle,  size_t needle_len)
+{
+  const char *begin;
+  const char *const last_possible
+    = (const char *) haystack + haystack_len - needle_len;
+
+  if (needle_len == 0)
+    /* The first occurrence of the empty string is deemed to occur at
+       the beginning of the string.  */
+    return (void *) haystack;
+
+  /* Sanity check, otherwise the loop might search through the whole
+     memory.  */
+  if (__builtin_expect (haystack_len < needle_len, 0))
+    return NULL;
+
+  for (begin = (const char *) haystack; begin <= last_possible; ++begin)
+    if (begin[0] == ((const char *) needle)[0] &&
+        !memcmp ((const void *) &begin[1],
+                 (const void *) ((const char *) needle + 1),
+                 needle_len - 1))
+      return (void *) begin;
+
+  return NULL;
+}
+#endif
 
 #define KSYM_NAME_LEN		127
 
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.