a178ff76f73dfbab79880ac24803d355001a3c5c
[packages.git] / libs / ucl / patches / 002-missing-macros.patch
1 --- /dev/null
2 +++ b/acinclude.m4
3 @@ -0,0 +1,361 @@
4 +# /***********************************************************************
5 +# // standard ACC macros
6 +# ************************************************************************/
7 +
8 +AC_DEFUN([mfx_ACC_CHECK_ENDIAN], [
9 +AC_C_BIGENDIAN([AC_DEFINE(ACC_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(ACC_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])])
10 +])#
11 +
12 +AC_DEFUN([mfx_ACC_CHECK_HEADERS], [
13 +AC_HEADER_TIME
14 +AC_CHECK_HEADERS([assert.h ctype.h dirent.h errno.h fcntl.h float.h limits.h malloc.h memory.h setjmp.h signal.h stdarg.h stddef.h stdint.h stdio.h stdlib.h string.h strings.h time.h unistd.h utime.h sys/mman.h sys/resource.h sys/stat.h sys/time.h sys/types.h sys/wait.h])
15 +])#
16 +
17 +AC_DEFUN([mfx_ACC_CHECK_FUNCS], [
18 +AC_CHECK_FUNCS(access alloca atexit atoi atol chmod chown clock_getcpuclockid clock_getres clock_gettime ctime difftime fstat getenv getpagesize getrusage gettimeofday gmtime isatty localtime longjmp lstat memcmp memcpy memmove memset mkdir mktime mmap mprotect munmap qsort raise rmdir setjmp signal snprintf strcasecmp strchr strdup strerror strftime stricmp strncasecmp strnicmp strrchr strstr time umask utime vsnprintf)
19 +])#
20 +
21 +
22 +AC_DEFUN([mfx_ACC_CHECK_SIZEOF], [
23 +AC_CHECK_SIZEOF(short)
24 +AC_CHECK_SIZEOF(int)
25 +AC_CHECK_SIZEOF(long)
26 +
27 +AC_CHECK_SIZEOF(long long)
28 +AC_CHECK_SIZEOF(__int16)
29 +AC_CHECK_SIZEOF(__int32)
30 +AC_CHECK_SIZEOF(__int64)
31 +
32 +AC_CHECK_SIZEOF(void *)
33 +AC_CHECK_SIZEOF(char *)
34 +AC_CHECK_SIZEOF(size_t)
35 +AC_CHECK_SIZEOF(ptrdiff_t)
36 +])#
37 +
38 +
39 +# /***********************************************************************
40 +# // Check for ACC_conformance
41 +# ************************************************************************/
42 +
43 +AC_DEFUN([mfx_ACC_ACCCHK], [
44 +mfx_tmp=$1
45 +mfx_save_CPPFLAGS=$CPPFLAGS
46 +dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here
47 +test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS"
48 +
49 +AC_MSG_CHECKING([whether your compiler passes the ACC conformance test])
50 +
51 +AC_LANG_CONFTEST([AC_LANG_PROGRAM(
52 +[[#define ACC_CONFIG_NO_HEADER 1
53 +#include "acc/acc.h"
54 +#include "acc/acc_incd.h"
55 +#undef ACCCHK_ASSERT
56 +#define ACCCHK_ASSERT(expr)     ACC_COMPILE_TIME_ASSERT_HEADER(expr)
57 +#include "acc/acc_chk.ch"
58 +#undef ACCCHK_ASSERT
59 +static void test_acc_compile_time_assert(void) {
60 +#define ACCCHK_ASSERT(expr)     ACC_COMPILE_TIME_ASSERT(expr)
61 +#include "acc/acc_chk.ch"
62 +#undef ACCCHK_ASSERT
63 +}
64 +#undef NDEBUG
65 +#include <assert.h>
66 +static int test_acc_run_time_assert(int r) {
67 +#define ACCCHK_ASSERT(expr)     assert(expr);
68 +#include "acc/acc_chk.ch"
69 +#undef ACCCHK_ASSERT
70 +return r;
71 +}
72 +]], [[
73 +test_acc_compile_time_assert();
74 +if (test_acc_run_time_assert(1) != 1) return 1;
75 +]]
76 +)])
77 +
78 +mfx_tmp=FAILED
79 +_AC_COMPILE_IFELSE([], [mfx_tmp=yes])
80 +rm -f conftest.$ac_ext conftest.$ac_objext
81 +
82 +CPPFLAGS=$mfx_save_CPPFLAGS
83 +
84 +AC_MSG_RESULT([$mfx_tmp])
85 +case x$mfx_tmp in
86 +  xpassed | xyes) ;;
87 +  *)
88 +    AC_MSG_NOTICE([])
89 +    AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ])
90 +    AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending])
91 +    AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.])
92 +    AC_MSG_NOTICE([Thanks for your support.])
93 +    AC_MSG_NOTICE([])
94 +    AC_MSG_ERROR([ACC conformance test failed. Stop.])
95 +dnl    AS_EXIT
96 +    ;;
97 +esac
98 +])# mfx_ACC_ACCCHK
99 +
100 +
101 +# /***********************************************************************
102 +# // Check for ACC_conformance
103 +# ************************************************************************/
104 +
105 +AC_DEFUN([mfx_MINIACC_ACCCHK], [
106 +mfx_tmp=$1
107 +mfx_save_CPPFLAGS=$CPPFLAGS
108 +dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here
109 +test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS"
110 +
111 +AC_MSG_CHECKING([whether your compiler passes the ACC conformance test])
112 +
113 +AC_LANG_CONFTEST([AC_LANG_PROGRAM(
114 +[[#define ACC_CONFIG_NO_HEADER 1
115 +#define ACC_WANT_ACC_INCD_H 1
116 +#include $2
117 +
118 +#define ACC_WANT_ACC_CHK_CH 1
119 +#undef ACCCHK_ASSERT
120 +#define ACCCHK_ASSERT(expr)     ACC_COMPILE_TIME_ASSERT_HEADER(expr)
121 +#include $2
122 +
123 +#define ACC_WANT_ACC_CHK_CH 1
124 +#undef ACCCHK_ASSERT
125 +#define ACCCHK_ASSERT(expr)     ACC_COMPILE_TIME_ASSERT(expr)
126 +static void test_acc_compile_time_assert(void) {
127 +#include $2
128 +}
129 +
130 +#undef NDEBUG
131 +#include <assert.h>
132 +#define ACC_WANT_ACC_CHK_CH 1
133 +#undef ACCCHK_ASSERT
134 +#define ACCCHK_ASSERT(expr)  assert(expr);
135 +static int test_acc_run_time_assert(int r) {
136 +#include $2
137 +return r;
138 +}
139 +]], [[
140 +test_acc_compile_time_assert();
141 +if (test_acc_run_time_assert(1) != 1) return 1;
142 +]]
143 +)])
144 +
145 +mfx_tmp=FAILED
146 +_AC_COMPILE_IFELSE([], [mfx_tmp=yes])
147 +rm -f conftest.$ac_ext conftest.$ac_objext
148 +
149 +CPPFLAGS=$mfx_save_CPPFLAGS
150 +
151 +AC_MSG_RESULT([$mfx_tmp])
152 +case x$mfx_tmp in
153 +  xpassed | xyes) ;;
154 +  *)
155 +    AC_MSG_NOTICE([])
156 +    AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ])
157 +    AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending])
158 +    AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.])
159 +    AC_MSG_NOTICE([Thanks for your support.])
160 +    AC_MSG_NOTICE([])
161 +    AC_MSG_ERROR([ACC conformance test failed. Stop.])
162 +dnl    AS_EXIT
163 +    ;;
164 +esac
165 +])# mfx_MINIACC_ACCCHK
166 +
167 +
168 +
169 +# serial 1
170 +
171 +AC_DEFUN([mfx_PROG_CPPFLAGS], [
172 +AC_MSG_CHECKING([whether the C preprocessor needs special flags])
173 +
174 +AC_LANG_CONFTEST([AC_LANG_PROGRAM(
175 +[[#include <limits.h>
176 +#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul)
177 +#  include "your C preprocessor is broken 1"
178 +#elif (0xffffu == 0xfffffffful)
179 +#  include "your C preprocessor is broken 2"
180 +#elif (32767 >= ULONG_MAX) || (65535u >= ULONG_MAX)
181 +#  include "your C preprocessor is broken 3"
182 +#endif
183 +]], [[ ]]
184 +)])
185 +
186 +mfx_save_CPPFLAGS=$CPPFLAGS
187 +mfx_tmp=ERROR
188 +for mfx_arg in "" -no-cpp-precomp
189 +do
190 +  CPPFLAGS="$mfx_arg $mfx_save_CPPFLAGS"
191 +  _AC_COMPILE_IFELSE([],
192 +[mfx_tmp=$mfx_arg
193 +break])
194 +done
195 +CPPFLAGS=$mfx_save_CPPFLAGS
196 +rm -f conftest.$ac_ext conftest.$ac_objext
197 +case x$mfx_tmp in
198 +  x)
199 +    AC_MSG_RESULT([none needed]) ;;
200 +  xERROR)
201 +    AC_MSG_RESULT([ERROR])
202 +    AC_MSG_ERROR([your C preprocessor is broken - for details see config.log])
203 +    ;;
204 +  *)
205 +    AC_MSG_RESULT([$mfx_tmp])
206 +    CPPFLAGS="$mfx_tmp $CPPFLAGS"
207 +    ;;
208 +esac
209 +])# mfx_PROG_CPPFLAGS
210 +
211 +# serial 3
212 +
213 +AC_DEFUN([mfx_CHECK_HEADER_SANE_LIMITS_H], [
214 +AC_CACHE_CHECK([whether limits.h is sane],
215 +mfx_cv_header_sane_limits_h,
216 +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <limits.h>
217 +#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul)
218 +#  if defined(__APPLE__) && defined(__GNUC__)
219 +#    error "your preprocessor is broken - use compiler option -no-cpp-precomp"
220 +#  else
221 +#    include "your preprocessor is broken"
222 +#  endif
223 +#endif
224 +#define MFX_0xffff          0xffff
225 +#define MFX_0xffffffffL     4294967295ul
226 +#if !defined(CHAR_BIT) || (CHAR_BIT != 8)
227 +#  include "error CHAR_BIT"
228 +#endif
229 +#if !defined(UCHAR_MAX)
230 +#  include "error UCHAR_MAX 1"
231 +#endif
232 +#if !defined(USHRT_MAX)
233 +#  include "error USHRT_MAX 1"
234 +#endif
235 +#if !defined(UINT_MAX)
236 +#  include "error UINT_MAX 1"
237 +#endif
238 +#if !defined(ULONG_MAX)
239 +#  include "error ULONG_MAX 1"
240 +#endif
241 +#if !defined(SHRT_MAX)
242 +#  include "error SHRT_MAX 1"
243 +#endif
244 +#if !defined(INT_MAX)
245 +#  include "error INT_MAX 1"
246 +#endif
247 +#if !defined(LONG_MAX)
248 +#  include "error LONG_MAX 1"
249 +#endif
250 +#if (UCHAR_MAX < 1)
251 +#  include "error UCHAR_MAX 2"
252 +#endif
253 +#if (USHRT_MAX < 1)
254 +#  include "error USHRT_MAX 2"
255 +#endif
256 +#if (UINT_MAX < 1)
257 +#  include "error UINT_MAX 2"
258 +#endif
259 +#if (ULONG_MAX < 1)
260 +#  include "error ULONG_MAX 2"
261 +#endif
262 +#if (UCHAR_MAX < 0xff)
263 +#  include "error UCHAR_MAX 3"
264 +#endif
265 +#if (USHRT_MAX < MFX_0xffff)
266 +#  include "error USHRT_MAX 3"
267 +#endif
268 +#if (UINT_MAX < MFX_0xffff)
269 +#  include "error UINT_MAX 3"
270 +#endif
271 +#if (ULONG_MAX < MFX_0xffffffffL)
272 +#  include "error ULONG_MAX 3"
273 +#endif
274 +#if (USHRT_MAX > UINT_MAX)
275 +#  include "error USHRT_MAX vs UINT_MAX"
276 +#endif
277 +#if (UINT_MAX > ULONG_MAX)
278 +#  include "error UINT_MAX vs ULONG_MAX"
279 +#endif
280 +]], [[
281 +#if (USHRT_MAX == MFX_0xffff)
282 +{ typedef char a_short2a[1 - 2 * !(sizeof(short) == 2)]; }
283 +#elif (USHRT_MAX >= MFX_0xffff)
284 +{ typedef char a_short2b[1 - 2 * !(sizeof(short) > 2)]; }
285 +#endif
286 +#if (UINT_MAX == MFX_0xffff)
287 +{ typedef char a_int2a[1 - 2 * !(sizeof(int) == 2)]; }
288 +#elif (UINT_MAX >= MFX_0xffff)
289 +{ typedef char a_int2b[1 - 2 * !(sizeof(int) > 2)]; }
290 +#endif
291 +#if (ULONG_MAX == MFX_0xffff)
292 +{ typedef char a_long2a[1 - 2 * !(sizeof(long) == 2)]; }
293 +#elif (ULONG_MAX >= MFX_0xffff)
294 +{ typedef char a_long2b[1 - 2 * !(sizeof(long) > 2)]; }
295 +#endif
296 +#if !defined(_CRAY1) /* CRAY PVP systems */
297 +#if (USHRT_MAX == MFX_0xffffffffL)
298 +{ typedef char a_short4a[1 - 2 * !(sizeof(short) == 4)]; }
299 +#elif (USHRT_MAX >= MFX_0xffffffffL)
300 +{ typedef char a_short4b[1 - 2 * !(sizeof(short) > 4)]; }
301 +#endif
302 +#endif /* _CRAY1 */
303 +#if (UINT_MAX == MFX_0xffffffffL)
304 +{ typedef char a_int4a[1 - 2 * !(sizeof(int) == 4)]; }
305 +#elif (UINT_MAX >= MFX_0xffffffffL)
306 +{ typedef char a_int4b[1 - 2 * !(sizeof(int) > 4)]; }
307 +#endif
308 +#if (ULONG_MAX == MFX_0xffffffffL)
309 +{ typedef char a_long4a[1 - 2 * !(sizeof(long) == 4)]; }
310 +#elif (ULONG_MAX >= MFX_0xffffffffL)
311 +{ typedef char a_long4b[1 - 2 * !(sizeof(long) > 4)]; }
312 +#endif
313 +]])],
314 +[mfx_cv_header_sane_limits_h=yes],
315 +[mfx_cv_header_sane_limits_h=no])])
316 +])
317 +
318 +# /***********************************************************************
319 +# // standard
320 +# ************************************************************************/
321 +
322 +AC_DEFUN([mfx_LZO_CHECK_ENDIAN], [
323 +AC_C_BIGENDIAN([AC_DEFINE(LZO_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(LZO_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])])
324 +])#
325 +
326 +
327 +# /***********************************************************************
328 +# //
329 +# ************************************************************************/
330 +
331 +dnl more types which are not yet covered by ACC
332 +
333 +AC_DEFUN([mfx_CHECK_SIZEOF], [
334 +AC_CHECK_SIZEOF(__int32)
335 +AC_CHECK_SIZEOF(intmax_t)
336 +AC_CHECK_SIZEOF(uintmax_t)
337 +AC_CHECK_SIZEOF(intptr_t)
338 +AC_CHECK_SIZEOF(uintptr_t)
339 +
340 +AC_CHECK_SIZEOF(float)
341 +AC_CHECK_SIZEOF(double)
342 +AC_CHECK_SIZEOF(long double)
343 +
344 +AC_CHECK_SIZEOF(dev_t)
345 +AC_CHECK_SIZEOF(fpos_t)
346 +AC_CHECK_SIZEOF(mode_t)
347 +AC_CHECK_SIZEOF(off_t)
348 +AC_CHECK_SIZEOF(ssize_t)
349 +AC_CHECK_SIZEOF(time_t)
350 +])#
351 +
352 +
353 +
354 +AC_DEFUN([mfx_CHECK_LIB_WINMM], [
355 +if test "X$GCC" = Xyes; then
356 +case $host_os in
357 +cygwin* | mingw* | pw32*)
358 +     test "X$LIBS" != "X" && LIBS="$LIBS "
359 +     LIBS="${LIBS}-lwinmm" ;;
360 +*)
361 +     ;;
362 +esac
363 +fi
364 +])#