Commit | Line | Data |
---|---|---|
3d76922f FT |
1 | AC_INIT([ashd], [0.13]) |
2 | AC_CONFIG_SRCDIR(src/htparser.c) | |
3 | AM_INIT_AUTOMAKE | |
6dcc172b | 4 | AC_CONFIG_HEADERS(config.h) |
945d02f5 | 5 | AC_USE_SYSTEM_EXTENSIONS |
0b26618e FT |
6 | |
7 | AC_PROG_CC | |
f0bbedf7 | 8 | AM_PROG_CC_C_O |
0b26618e | 9 | AC_PROG_INSTALL |
f0bbedf7 | 10 | AC_PROG_RANLIB |
0b26618e | 11 | |
5518f5b5 FT |
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 | ||
945d02f5 | 19 | AH_TEMPLATE(HAVE_GLIBC_STDIO, [define to indicate system support for glibc cookie streams]) |
2a619a21 | 20 | AH_TEMPLATE(HAVE_BSD_STDIO, [define to indicate system support for BSD-style funopen streams]) |
945d02f5 FT |
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 | ||
2a619a21 FT |
26 | HAS_FUNOPEN=yes |
27 | AC_CHECK_FUNC(funopen, [], [HAS_FUNOPEN=no]) | |
28 | ||
945d02f5 | 29 | if test "$HAS_FOPENCOOKIE" = yes; then |
2a619a21 FT |
30 | AC_DEFINE(HAVE_GLIBC_STDIO) |
31 | elif test "$HAS_FUNOPEN" = yes; then | |
32 | AC_DEFINE(HAVE_BSD_STDIO) | |
945d02f5 | 33 | else |
2a619a21 | 34 | AC_MSG_ERROR([*** libc support for custom stdio streams is required]) |
945d02f5 FT |
35 | fi |
36 | ||
28260620 FT |
37 | AH_TEMPLATE(HAVE_VALGRIND, [define to include debugging support for Valgrind]) |
38 | AC_CHECK_HEADER(valgrind/memcheck.h, [AC_DEFINE(HAVE_VALGRIND)], []) | |
39 | ||
16accb88 | 40 | AH_TEMPLATE(HAVE_EPOLL, [define to enable epoll support]) |
695e99c8 | 41 | AC_ARG_WITH(epoll, AS_HELP_STRING([--with-epoll], [enable epoll(2) support])) |
16accb88 FT |
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 | |
ac612570 FT |
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]) | |
16accb88 | 78 | |
0328ac04 | 79 | AH_TEMPLATE(HAVE_XATTR, [define to compile support for filesystem extended attributes]) |
695e99c8 | 80 | AC_ARG_WITH(xattr, AS_HELP_STRING([--with-xattr], [enable XATTR support])) |
0328ac04 FT |
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 | ||
6ca53b2e | 99 | AH_TEMPLATE(HAVE_GNUTLS, [define to use the GnuTLS library for SSL support]) |
3c5954e9 | 100 | AH_TEMPLATE(HAVE_OPENSSL, [define to use the OpenSSL library for SSL support]) |
695e99c8 | 101 | AC_ARG_WITH(gnutls, AS_HELP_STRING([--with-gnutls], [enable SSL support with the GnuTLS library])) |
3c5954e9 | 102 | AC_ARG_WITH(openssl, AS_HELP_STRING([--with-openssl], [enable SSL support with the OpenSSL library])) |
6ca53b2e | 103 | HAS_GNUTLS="" |
3c5954e9 FT |
104 | HAS_OPENSSL="" |
105 | ||
6ca53b2e FT |
106 | if test "$with_gnutls" = no; then HAS_GNUTLS=no; fi |
107 | if test -z "$HAS_GNUTLS"; then | |
108 | AC_CHECK_LIB(gnutls, gnutls_global_init, [:], [HAS_GNUTLS=no]) | |
109 | fi | |
110 | if test -z "$HAS_GNUTLS"; then | |
111 | AC_CHECK_HEADER(gnutls/gnutls.h, [], [HAS_GNUTLS=no]) | |
112 | fi | |
113 | if test "$HAS_GNUTLS" != no; then HAS_GNUTLS=yes; fi | |
114 | if test "$with_gnutls" = yes -a "$HAS_GNUTLS" = no; then | |
115 | AC_MSG_ERROR([*** cannot find GnuTLS on this system]) | |
116 | fi | |
117 | if test "$HAS_GNUTLS" = yes; then | |
118 | GNUTLS_LIBS=-lgnutls | |
119 | GNUTLS_CPPFLAGS=-D_GNU_SOURCE | |
120 | AC_DEFINE(HAVE_GNUTLS) | |
121 | fi | |
122 | AC_SUBST(GNUTLS_CPPFLAGS) | |
123 | AC_SUBST(GNUTLS_LIBS) | |
124 | ||
3c5954e9 FT |
125 | if test "$with_openssl" = no; then |
126 | HAS_OPENSSL=no | |
127 | elif test -z "$with_openssl" -a "$HAS_GNUTLS" = yes; then | |
128 | HAS_OPENSSL=no | |
129 | fi | |
130 | if test -z "$HAS_OPENSSL"; then | |
131 | AC_CHECK_LIB(ssl, SSL_CTX_new, [:], [HAS_OPENSSL=no]) | |
132 | fi | |
133 | if test -z "$HAS_OPENSSL"; then | |
134 | AC_CHECK_LIB(crypto, ERR_get_error, [:], [HAS_OPENSSL=no]) | |
135 | fi | |
136 | if test -z "$HAS_OPENSSL"; then | |
137 | AC_CHECK_HEADER(openssl/ssl.h, [], [HAS_OPENSSL=no]) | |
138 | fi | |
139 | if test "$HAS_OPENSSL" != no; then HAS_OPENSSL=yes; fi | |
140 | if test "$with_openssl" = yes -a "$HAS_OPENSSL" = no; then | |
141 | AC_MSG_ERROR([*** cannot find OpenSSL on this system]) | |
142 | fi | |
143 | if test "$HAS_OPENSSL" = yes; then | |
144 | OPENSSL_LIBS="-lssl -lcrypto" | |
145 | GNUTLS_CPPFLAGS= | |
146 | AC_DEFINE(HAVE_OPENSSL) | |
147 | fi | |
148 | AC_SUBST(OPENSSL_CPPFLAGS) | |
149 | AC_SUBST(OPENSSL_LIBS) | |
150 | ||
151 | if test "$HAS_GNUTLS" = yes -a "$HAS_OPENSSL" = yes; then | |
152 | AC_MSG_ERROR([*** only one of GnuTLS and OpenSSL must be enabled]) | |
153 | fi | |
154 | ||
6dcc172b | 155 | AC_CONFIG_FILES([ |
0b26618e FT |
156 | Makefile |
157 | src/Makefile | |
600a1ce7 | 158 | src/dirplex/Makefile |
f0bbedf7 | 159 | lib/Makefile |
5c9badda | 160 | doc/Makefile |
0b26618e | 161 | ]) |
6dcc172b | 162 | AC_OUTPUT |