[dbench @ tridge@samba.org-20070717123945-34sbk2w6rhc3wdm9]
[tridge/dbench.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2
3 AC_INIT()
4 AC_PREREQ(2.52)
5
6 AC_MSG_NOTICE([Configuring dbench])
7
8 AC_CONFIG_HEADER(config.h)
9
10 dnl Checks for programs.
11 AC_PROG_CC
12 AC_PROG_CPP
13 AC_PROG_INSTALL
14
15 AC_DEFINE([_GNU_SOURCE], 1,
16           [Define _GNU_SOURCE so that we get all necessary prototypes])
17
18 # If GCC, turn on warnings.
19 if test "x$GCC" = "xyes"
20 then
21         CFLAGS="$CFLAGS -Wall -W"
22 else
23         CFLAGS="$CFLAGS -O"
24 fi
25
26 AC_HEADER_DIRENT
27 AC_HEADER_TIME
28 AC_HEADER_SYS_WAIT
29
30 AC_CHECK_HEADERS(ctype.h strings.h stdlib.h string.h sys/vfs.h sys/statvfs.h stdint.h)
31
32 AC_CHECK_HEADERS(sys/attributes.h attr/xattr.h sys/xattr.h sys/extattr.h sys/uio.h)
33 AC_CHECK_HEADERS(sys/mount.h)
34
35 AC_CHECK_FUNCS(fdatasync)
36 # Check if we have libattr
37 AC_SEARCH_LIBS(getxattr, [attr])
38 AC_SEARCH_LIBS(socket, [socket])
39 AC_SEARCH_LIBS(gethostbyname, [nsl])
40
41 AC_CHECK_FUNCS(getxattr lgetxattr fgetxattr listxattr llistxattr)
42 AC_CHECK_FUNCS(flistxattr removexattr lremovexattr fremovexattr)
43 AC_CHECK_FUNCS(setxattr lsetxattr fsetxattr)
44 # Check if we have attr_get
45 AC_CHECK_FUNCS(attr_get attr_list attr_set attr_remove)
46 AC_CHECK_FUNCS(attr_getf attr_listf attr_setf attr_removef)
47 # Check if we have extattr
48 AC_CHECK_FUNCS(extattr_delete_fd extattr_delete_file extattr_delete_link)
49 AC_CHECK_FUNCS(extattr_get_fd extattr_get_file extattr_get_link)
50 AC_CHECK_FUNCS(extattr_list_fd extattr_list_file extattr_list_link)
51 AC_CHECK_FUNCS(extattr_set_fd extattr_set_file extattr_set_link)
52 AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf)
53
54 if test x"$ac_cv_func_fgetxattr" = x"yes" -o \
55         x"$ac_cv_func_attr_getf" = x"yes" -o \
56         x"$ac_cv_func_extattr_get_fd" = x"yes"; then
57             AC_DEFINE(HAVE_EA_SUPPORT, 1, [Whether we have EA support])
58 fi
59
60 AC_CACHE_CHECK([for va_copy],dbench_cv_HAVE_VA_COPY,[
61 AC_TRY_LINK([#include <stdarg.h>
62 va_list ap1,ap2;], [va_copy(ap1,ap2);],
63 dbench_cv_HAVE_VA_COPY=yes,dbench_cv_HAVE_VA_COPY=no)])
64 if test x"$dbench_cv_HAVE_VA_COPY" = x"yes"; then
65     AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
66 fi
67
68 if test x"$dbench_cv_HAVE_VA_COPY" != x"yes"; then
69 AC_CACHE_CHECK([for __va_copy],dbench_cv_HAVE___VA_COPY,[
70 AC_TRY_LINK([#include <stdarg.h>
71 va_list ap1,ap2;], [__va_copy(ap1,ap2);],
72 dbench_cv_HAVE___VA_COPY=yes,dbench_cv_HAVE___VA_COPY=no)])
73 if test x"$dbench_cv_HAVE___VA_COPY" = x"yes"; then
74     AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
75 fi
76 fi
77
78 AC_CONFIG_FILES([Makefile])
79 AC_OUTPUT