09848ac4d8dcde640796bfc03f227aab85623634
[mono.git] / bockbuild / mac-sdk / patches / glib / patch-configure.diff
1 --- configure.orig      2012-10-15 19:29:14.000000000 -0500
2 +++ configure   2012-10-22 17:29:31.000000000 -0500
3 @@ -5602,7 +5602,7 @@
4  fi
5
6  GLIB_RUNTIME_LIBDIR="$with_runtime_libdir"
7 -ABS_GLIB_RUNTIME_LIBDIR="`readlink -f $libdir/$with_runtime_libdir`"
8 +ABS_GLIB_RUNTIME_LIBDIR="`readlink $libdir/$with_runtime_libdir`"
9
10
11   if test "x$with_runtime_libdir" != "x"; then
12 @@ -30649,10 +30649,10 @@
13  *)                     glib_vacopy=''
14  esac
15
16 -if test x$glib_cv_va_val_copy = xno; then
17    glib_vacopy="\$glib_vacopy
18 -#define G_VA_COPY_AS_ARRAY 1"
19 -fi
20 +#ifdef __LP64__
21 +#define G_VA_COPY_AS_ARRAY 1
22 +#endif"
23
24  if test x$glib_cv_hasinline = xyes; then
25      glib_inline='#define G_HAVE_INLINE 1'
26 @@ -32411,18 +32411,32 @@
27         cat >>$outfile <<_______EOF
28  #define G_HAVE_GINT64 1          /* deprecated, always true */
29
30 -${glib_extension}typedef signed $gint64 gint64;
31 -${glib_extension}typedef unsigned $gint64 guint64;
32 +#ifdef __LP64__
33 +${glib_extension}typedef signed long gint64;
34 +${glib_extension}typedef unsigned long guint64;
35
36 -#define G_GINT64_CONSTANT(val) $gint64_constant
37 -#define G_GUINT64_CONSTANT(val)        $guint64_constant
38 +#define G_GINT64_CONSTANT(val) (val##L)
39 +#define G_GUINT64_CONSTANT(val)        (val##UL)
40 +#else
41 +${glib_extension}typedef signed long long gint64;
42 +${glib_extension}typedef unsigned long long guint64;
43 +
44 +#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL))
45 +#define G_GUINT64_CONSTANT(val)        (G_GNUC_EXTENSION (val##ULL))
46 +#endif
47  _______EOF
48
49         if test x$gint64_format != x ; then
50           cat >>$outfile <<_______EOF
51 -#define G_GINT64_MODIFIER $gint64_modifier
52 -#define G_GINT64_FORMAT $gint64_format
53 -#define G_GUINT64_FORMAT $guint64_format
54 +#ifdef __LP64__
55 +#define G_GINT64_MODIFIER "l"
56 +#define G_GINT64_FORMAT "li"
57 +#define G_GUINT64_FORMAT "lu"
58 +#else
59 +#define G_GINT64_MODIFIER "ll"
60 +#define G_GINT64_FORMAT "lli"
61 +#define G_GUINT64_FORMAT "llu"
62 +#endif
63  _______EOF
64          else
65           cat >>$outfile <<_______EOF
66 @@ -32434,9 +32448,15 @@
67
68          cat >>$outfile <<_______EOF
69
70 -#define GLIB_SIZEOF_VOID_P $glib_void_p
71 -#define GLIB_SIZEOF_LONG   $glib_long
72 -#define GLIB_SIZEOF_SIZE_T $glib_size_t
73 +#ifdef __LP64__
74 +#define GLIB_SIZEOF_VOID_P 8
75 +#define GLIB_SIZEOF_LONG   8
76 +#define GLIB_SIZEOF_SIZE_T 8
77 +#else
78 +#define GLIB_SIZEOF_VOID_P 4
79 +#define GLIB_SIZEOF_LONG   4
80 +#define GLIB_SIZEOF_SIZE_T 4
81 +#endif
82
83  _______EOF
84
85 @@ -32464,18 +32484,33 @@
86         if test -z "$glib_unknown_void_p"; then
87           cat >>$outfile <<_______EOF
88
89 -#define GPOINTER_TO_INT(p)     ((gint)  ${glib_gpi_cast} (p))
90 -#define GPOINTER_TO_UINT(p)    ((guint) ${glib_gpui_cast} (p))
91 +#ifdef __LP64__
92 +#define GPOINTER_TO_INT(p)     ((gint)  (glong) (p))
93 +#define GPOINTER_TO_UINT(p)    ((guint) (gulong) (p))
94 +
95 +#define GINT_TO_POINTER(i)     ((gpointer) (glong) (i))
96 +#define GUINT_TO_POINTER(u)    ((gpointer) (gulong) (u))
97 +
98 +typedef signed long gintptr;
99 +typedef unsigned long guintptr;
100 +
101 +#define G_GINTPTR_MODIFIER      "l"
102 +#define G_GINTPTR_FORMAT        "li"
103 +#define G_GUINTPTR_FORMAT       "lu"
104 +#else
105 +#define GPOINTER_TO_INT(p)     ((gint)   (p))
106 +#define GPOINTER_TO_UINT(p)    ((guint)  (p))
107
108 -#define GINT_TO_POINTER(i)     ((gpointer) ${glib_gpi_cast} (i))
109 -#define GUINT_TO_POINTER(u)    ((gpointer) ${glib_gpui_cast} (u))
110 +#define GINT_TO_POINTER(i)     ((gpointer)  (i))
111 +#define GUINT_TO_POINTER(u)    ((gpointer)  (u))
112
113 -typedef signed $glib_intptr_type_define gintptr;
114 -typedef unsigned $glib_intptr_type_define guintptr;
115 +typedef signed int gintptr;
116 +typedef unsigned int guintptr;
117
118 -#define G_GINTPTR_MODIFIER      $gintptr_modifier
119 -#define G_GINTPTR_FORMAT        $gintptr_format
120 -#define G_GUINTPTR_FORMAT       $guintptr_format
121 +#define G_GINTPTR_MODIFIER      ""
122 +#define G_GINTPTR_FORMAT        "i"
123 +#define G_GUINTPTR_FORMAT       "u"
124 +#endif
125  _______EOF
126         else
127           echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
128 @@ -32588,7 +32623,9 @@
129
130         if test x"$g_memory_barrier_needed" != xno; then
131           echo >>$outfile
132 +         echo "#ifdef __BIG_ENDIAN__" >>$outfile
133           echo "#define G_ATOMIC_OP_MEMORY_BARRIER_NEEDED 1" >>$outfile
134 +         echo "#endif" >>$outfile
135         fi
136         if test x"$g_atomic_lock_free" = xyes; then
137            echo >>$outfile
138 @@ -32598,27 +32635,52 @@
139         g_bit_sizes="16 32 64"
140         for bits in $g_bit_sizes; do
141           cat >>$outfile <<_______EOF
142 -#define GINT${bits}_TO_${g_bs_native}(val)     ((gint${bits}) (val))
143 -#define GUINT${bits}_TO_${g_bs_native}(val)    ((guint${bits}) (val))
144 -#define GINT${bits}_TO_${g_bs_alien}(val)      ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
145 -#define GUINT${bits}_TO_${g_bs_alien}(val)     (GUINT${bits}_SWAP_LE_BE (val))
146 +#ifdef __BIG_ENDIAN__
147 +#define GINT${bits}_TO_BE(val) ((gint${bits}) (val))
148 +#define GUINT${bits}_TO_BE(val)        ((guint${bits}) (val))
149 +#define GINT${bits}_TO_LE(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
150 +#define GUINT${bits}_TO_LE(val)        (GUINT${bits}_SWAP_LE_BE (val))
151 +#else
152 +#define GINT${bits}_TO_LE(val) ((gint${bits}) (val))
153 +#define GUINT${bits}_TO_LE(val)        ((guint${bits}) (val))
154 +#define GINT${bits}_TO_BE(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
155 +#define GUINT${bits}_TO_BE(val)        (GUINT${bits}_SWAP_LE_BE (val))
156 +#endif
157  _______EOF
158         done
159
160         cat >>$outfile <<_______EOF
161 -#define GLONG_TO_LE(val)       ((glong) GINT${glongbits}_TO_LE (val))
162 -#define GULONG_TO_LE(val)      ((gulong) GUINT${glongbits}_TO_LE (val))
163 -#define GLONG_TO_BE(val)       ((glong) GINT${glongbits}_TO_BE (val))
164 -#define GULONG_TO_BE(val)      ((gulong) GUINT${glongbits}_TO_BE (val))
165 +#ifdef __LP64__
166 +#define GLONG_TO_LE(val)       ((glong) GINT64_TO_LE (val))
167 +#define GULONG_TO_LE(val)      ((gulong) GUINT64_TO_LE (val))
168 +#define GLONG_TO_BE(val)       ((glong) GINT64_TO_BE (val))
169 +#define GULONG_TO_BE(val)      ((gulong) GUINT64_TO_BE (val))
170 +#else
171 +#define GLONG_TO_LE(val)       ((glong) GINT32_TO_LE (val))
172 +#define GULONG_TO_LE(val)      ((gulong) GUINT32_TO_LE (val))
173 +#define GLONG_TO_BE(val)       ((glong) GINT32_TO_BE (val))
174 +#define GULONG_TO_BE(val)      ((gulong) GUINT32_TO_BE (val))
175 +#endif
176  #define GINT_TO_LE(val)                ((gint) GINT${gintbits}_TO_LE (val))
177  #define GUINT_TO_LE(val)       ((guint) GUINT${gintbits}_TO_LE (val))
178  #define GINT_TO_BE(val)                ((gint) GINT${gintbits}_TO_BE (val))
179  #define GUINT_TO_BE(val)       ((guint) GUINT${gintbits}_TO_BE (val))
180 -#define GSIZE_TO_LE(val)       ((gsize) GUINT${gsizebits}_TO_LE (val))
181 -#define GSSIZE_TO_LE(val)      ((gssize) GINT${gsizebits}_TO_LE (val))
182 -#define GSIZE_TO_BE(val)       ((gsize) GUINT${gsizebits}_TO_BE (val))
183 -#define GSSIZE_TO_BE(val)      ((gssize) GINT${gsizebits}_TO_BE (val))
184 -#define G_BYTE_ORDER $g_byte_order
185 +#ifdef __LP64__
186 +#define GSIZE_TO_LE(val)       ((gsize) GUINT64_TO_LE (val))
187 +#define GSSIZE_TO_LE(val)      ((gssize) GINT64_TO_LE (val))
188 +#define GSIZE_TO_BE(val)       ((gsize) GUINT64_TO_BE (val))
189 +#define GSSIZE_TO_BE(val)      ((gssize) GINT64_TO_BE (val))
190 +#else
191 +#define GSIZE_TO_LE(val)       ((gsize) GUINT32_TO_LE (val))
192 +#define GSSIZE_TO_LE(val)      ((gssize) GINT32_TO_LE (val))
193 +#define GSIZE_TO_BE(val)       ((gsize) GUINT32_TO_BE (val))
194 +#define GSSIZE_TO_BE(val)      ((gssize) GINT32_TO_BE (val))
195 +#endif
196 +#ifdef __BIG_ENDIAN__
197 +#define G_BYTE_ORDER G_BIG_ENDIAN
198 +#else
199 +#define G_BYTE_ORDER G_LITTLE_ENDIAN
200 +#endif
201
202  #define GLIB_SYSDEF_POLLIN =$g_pollin
203  #define GLIB_SYSDEF_POLLOUT =$g_pollout