build: Update configure.in to slightly more modern standards.
[ashd.git] / configure.in
1 AC_INIT([ashd], [0.13])
2 AC_CONFIG_SRCDIR(src/htparser.c)
3 AM_INIT_AUTOMAKE
4 AC_CONFIG_HEADERS(config.h)
5 AC_USE_SYSTEM_EXTENSIONS
6
7 AC_PROG_CC
8 AM_PROG_CC_C_O
9 AC_PROG_INSTALL
10 AC_PROG_RANLIB
11
12 HAS_MAGIC=yes
13 AC_CHECK_LIB(magic, magic_open, [:], [HAS_MAGIC=no])
14 AC_CHECK_HEADER(magic.h, [], [HAS_MAGIC=no])
15 if test "$HAS_MAGIC" = no; then
16         AC_MSG_ERROR([*** cannot find libmagic on this system])
17 fi
18
19 AH_TEMPLATE(HAVE_GLIBC_STDIO, [define to indicate system support for glibc cookie streams])
20 AH_TEMPLATE(HAVE_BSD_STDIO, [define to indicate system support for BSD-style funopen streams])
21
22 HAS_FOPENCOOKIE=yes
23 AC_CHECK_FUNC(fopencookie, [], [HAS_FOPENCOOKIE=no])
24 AC_CHECK_MEMBER([cookie_io_functions_t.read], [], [HAS_FOPENCOOKIE=no])
25
26 HAS_FUNOPEN=yes
27 AC_CHECK_FUNC(funopen, [], [HAS_FUNOPEN=no])
28
29 if test "$HAS_FOPENCOOKIE" = yes; then
30         AC_DEFINE(HAVE_GLIBC_STDIO)
31 elif test "$HAS_FUNOPEN" = yes; then
32         AC_DEFINE(HAVE_BSD_STDIO)
33 else
34         AC_MSG_ERROR([*** libc support for custom stdio streams is required])
35 fi
36
37 AH_TEMPLATE(HAVE_VALGRIND, [define to include debugging support for Valgrind])
38 AC_CHECK_HEADER(valgrind/memcheck.h, [AC_DEFINE(HAVE_VALGRIND)], [])
39
40 AH_TEMPLATE(HAVE_EPOLL, [define to enable epoll support])
41 AC_ARG_WITH(epoll, AS_HELP_STRING([--with-epoll], [enable epoll(2) support]))
42 HAS_EPOLL=""
43 if test "$with_epoll" = no; then HAS_EPOLL=no; fi
44 if test -z "$HAS_EPOLL"; then
45         AC_CHECK_LIB(c, epoll_ctl, [:], [HAS_EPOLL=no])
46 fi
47 if test -z "$HAS_EPOLL"; then
48         AC_CHECK_HEADER(sys/epoll.h, [], [HAS_EPOLL=no])
49 fi
50 if test "$HAS_EPOLL" != no; then HAS_EPOLL=yes; fi
51 if test "$with_epoll" = yes -a "$HAS_EPOLL" = no; then
52         AC_MSG_ERROR([*** cannot find epoll support on this system])
53 fi
54 if test "$HAS_EPOLL" = yes; then
55         AC_DEFINE(HAVE_EPOLL)
56 fi
57
58 AH_TEMPLATE(HAVE_KQUEUE, [define to enable kqueue support])
59 AC_ARG_WITH(kqueue, AS_HELP_STRING([--with-kqueue], [enable kqueue(2) support]))
60 HAS_KQUEUE=""
61 if test "$with_kqueue" = no; then HAS_QUEUE=no; fi
62 if test -z "$HAS_KQUEUE"; then
63         AC_CHECK_FUNC(kqueue, [], [HAS_KQUEUE=no])
64 fi
65 if test -z "$HAS_KQUEUE"; then
66         AC_CHECK_HEADER(sys/event.h, [], [HAS_KQUEUE=no])
67 fi
68 if test "$HAS_KQUEUE" != no; then HAS_KQUEUE=yes; fi
69 if test "$with_kqueue" = yes -a "$HAS_KQUEUE" = no; then
70         AC_MSG_ERROR([*** cannot find kqueue support on this system])
71 fi
72 if test "$HAS_KQUEUE" = yes; then
73         AC_DEFINE(HAVE_KQUEUE)
74 fi
75
76 AM_CONDITIONAL(USE_EPOLL, [test "$HAS_EPOLL" = yes])
77 AM_CONDITIONAL(USE_KQUEUE, [test "$HAS_KQUEUE" = yes])
78
79 AH_TEMPLATE(HAVE_XATTR, [define to compile support for filesystem extended attributes])
80 AC_ARG_WITH(xattr, AS_HELP_STRING([--with-xattr], [enable XATTR support]))
81 HAS_XATTR=""
82 if test "$with_xattr" = no; then HAS_XATTR=no; fi
83 if test -z "$HAS_XATTR"; then
84         AC_CHECK_LIB(attr, getxattr, [:], [HAS_XATTR=no])
85 fi
86 if test -z "$HAS_XATTR"; then
87         AC_CHECK_HEADER(attr/xattr.h, [], [HAS_XATTR=no])
88 fi
89 if test "$HAS_XATTR" != no; then HAS_XATTR=yes; fi
90 if test "$with_xattr" = yes -a "$HAS_XATTR" = no; then
91         AC_MSG_ERROR([*** cannot find xattr support on this system])
92 fi
93 if test "$HAS_XATTR" = yes; then
94         XATTR_LIBS=-lattr
95         AC_DEFINE(HAVE_XATTR)
96 fi
97 AC_SUBST(XATTR_LIBS)
98
99 AH_TEMPLATE(HAVE_GNUTLS, [define to use the GnuTLS library for SSL support])
100 AC_ARG_WITH(gnutls, AS_HELP_STRING([--with-gnutls], [enable SSL support with the GnuTLS library]))
101 HAS_GNUTLS=""
102 if test "$with_gnutls" = no; then HAS_GNUTLS=no; fi
103 if test -z "$HAS_GNUTLS"; then
104         AC_CHECK_LIB(gnutls, gnutls_global_init, [:], [HAS_GNUTLS=no])
105 fi
106 if test -z "$HAS_GNUTLS";  then
107         AC_CHECK_HEADER(gnutls/gnutls.h, [], [HAS_GNUTLS=no])
108 fi
109 if test "$HAS_GNUTLS" != no; then HAS_GNUTLS=yes; fi
110 if test "$with_gnutls" = yes -a "$HAS_GNUTLS" = no; then
111         AC_MSG_ERROR([*** cannot find GnuTLS on this system])
112 fi
113 if test "$HAS_GNUTLS" = yes; then
114         GNUTLS_LIBS=-lgnutls
115         GNUTLS_CPPFLAGS=-D_GNU_SOURCE
116         AC_DEFINE(HAVE_GNUTLS)
117 fi
118 AC_SUBST(GNUTLS_CPPFLAGS)
119 AC_SUBST(GNUTLS_LIBS)
120
121 AC_CONFIG_FILES([
122 Makefile
123 src/Makefile
124 src/dirplex/Makefile
125 lib/Makefile
126 doc/Makefile
127 ])
128 AC_OUTPUT