aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/nbd/files/cross-compile.patch
blob: 1d0a135bb94402bd969f6f5316098b8c3a1952df (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
Cross Compile fixes:
    The sanitized kernel headers use __u32 and __u64
    let us define those.


Index: nbd-2.8.7/configure.ac
===================================================================
--- nbd-2.8.7.orig/configure.ac	2006-10-17 19:42:11.000000000 +0200
+++ nbd-2.8.7/configure.ac	2007-01-19 14:19:09.000000000 +0100
@@ -68,15 +68,16 @@
               man8_MANS=nbd-client.8
 	      AC_MSG_RESULT(yes)
               ;;
-     *) AC_MSG_RESULT(no) ;;
+     dnl uname is a pretty stupid idea... we could be on freeBSD,OS X...
+     *) AC_MSG_RESULT(yes) ;;
 esac
 AC_MSG_CHECKING(where to find a working nbd.h)
 dnl We need to check for NBD_CMD_DISC, but that's part of an enum, it is not
 dnl #define'd. Therefore, we check for something which is differently #define'd
 dnl in the old or new versions, even if we don't really care about that.
 dnl This might break at some time, but it should work for now, so...
-AC_TRY_COMPILE([#define u32 int
-#define u64 int
+AC_TRY_COMPILE([#define __u32 int
+#define __u64 int
 #define __be32 int
 #define __be64 int
 #include "nbd.h"
Index: nbd-2.8.7/cliserv.h
===================================================================
--- nbd-2.8.7.orig/cliserv.h	2006-10-17 19:29:12.000000000 +0200
+++ nbd-2.8.7/cliserv.h	2007-01-19 14:17:15.000000000 +0100
@@ -17,20 +17,26 @@
 
 #if SIZEOF_UNSIGNED_SHORT_INT==4
 typedef unsigned short u32;
+typedef unsigned short __u32;
 #elif SIZEOF_UNSIGNED_INT==4
 typedef unsigned int u32;
+typedef unsigned int __u32;
 #elif SIZEOF_UNSIGNED_LONG_INT==4
 typedef unsigned long u32;
+typedef unsigned long __u32;
 #else
 #error I need at least some 32-bit type
 #endif
 
 #if SIZEOF_UNSIGNED_INT==8
 typedef unsigned int u64;
+typedef unsigned int __u64;
 #elif SIZEOF_UNSIGNED_LONG_INT==8
 typedef unsigned long u64;
+typedef unsigned long __u64;
 #elif SIZEOF_UNSIGNED_LONG_LONG_INT==8
 typedef unsigned long long u64;
+typedef unsigned long long __u64;
 #else
 #error I need at least some 64-bit type
 #endif