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
|
--- configure.ac.orig 2012-06-06 19:10:25.000000000 +0200
+++ configure.ac 2013-02-02 17:31:55.193634655 +0100
@@ -89,6 +89,59 @@
fi
WithGhc="$GHC"])
+# system libffi
+
+AC_ARG_WITH([system-libffi],
+[AC_HELP_STRING([--with-system-libffi],
+ [Use system provided libffi for RTS [default=no]])
+])
+
+AS_IF([test "x$with_system_libffi" = "xyes"],
+ [UseSystemLibFFI="YES"], [UseSystemLibFFI="NO"]
+)
+
+AC_SUBST(UseSystemLibFFI)
+
+AC_ARG_WITH([ffi-includes],
+[AC_HELP_STRING([--with-ffi-includes=ARG]
+ [Find includes for libffi in ARG [default=system default]])
+],
+[
+ if test "x$UseSystemLibFFI" != "xYES"; then
+ AC_MSG_WARN([--with-ffi-includes will be ignored, --with-system-libffi not set])
+ else
+ FFIIncludeDir="$withval" LIBFFI_CFLAGS="-I $withval"
+ fi
+])
+
+AC_SUBST(FFIIncludeDir)
+
+AC_ARG_WITH([ffi-libraries],
+[AC_HELP_STRING([--with-ffi-libraries=ARG]
+ [Find libffi in ARG [default=system default]])
+],
+[
+ if test "x$UseSystemLibFFI" != "xYES"; then
+ AC_MSG_WARN([--with-ffi-libraries will be ignored, --with-system-libffi not set])
+ else
+ FFILibDir="$withval" LIBFFI_LDFLAGS="-L$withval"
+ fi
+])
+
+AC_SUBST(FFILibDir)
+
+AS_IF([test "$UseSystemLibFFI" = "YES"], [
+ CFLAGS2="$CFLAGS"
+ CFLAGS="$LIBFFI_CFLAGS $CFLAGS"
+ LDFLAGS2="$LDFLAGS"
+ LDFLAGS="$LIBFFI_LDFLAGS $LDFLAGS"
+ AC_CHECK_LIB(ffi, ffi_call,
+ [AC_CHECK_HEADERS([ffi.h], [break], [])
+ AC_DEFINE([HAVE_LIBFFI], [1], [Define to 1 if you have libffi.])],
+ [UseSystemLibFFI="NO"])
+ CFLAGS="$CFLAGS2"
+ LDFLAGS="$LDFLAGS2"
+])
dnl ** Tell the make system which OS we are using
dnl $OSTYPE is set by the operating system to "msys" or "cygwin" or something
@@ -717,7 +770,6 @@
FP_VISIBILITY_HIDDEN
dnl ** check for librt
-AC_CHECK_LIB(rt, clock_gettime)
AC_CHECK_FUNCS(clock_gettime timer_create timer_settime)
FP_CHECK_TIMER_CREATE
|