]> arthur.barton.de Git - netatalk.git/blob - configure.ac
Finish renaming
[netatalk.git] / configure.ac
1 dnl configure.ac for netatalk
2
3 AC_INIT(etc/afpd/main.c)
4
5 NETATALK_VERSION=`cat $srcdir/VERSION`
6 AC_SUBST(NETATALK_VERSION)
7
8 AC_CANONICAL_SYSTEM
9 AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
10 AM_CONFIG_HEADER(config.h)
11 AM_MAINTAINER_MODE([enable])
12
13 dnl Checks for programs.
14 AC_PROG_AWK
15 AC_PROG_CC
16 AC_PROG_CC_C99
17 AC_PROG_INSTALL
18 AC_PROG_LN_S
19 AC_PROG_MAKE_SET
20 AC_LIBTOOL_DLOPEN
21 AC_PROG_LIBTOOL
22 AC_PROG_PERL
23 AC_PROG_GREP
24 AC_PROG_PS
25 AM_PROG_CC_C_O
26 AC_C_BIGENDIAN
27 AC_C_INLINE
28
29 dnl Check if we can use attribute unused (gcc only) from ethereal
30 AC_MSG_CHECKING(to see if we can add '__attribute__((unused))' to CFLAGS)
31 if test x$GCC != x ; then
32   CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS"
33   AC_MSG_RESULT(yes)
34 else
35   CFLAGS="-D_U_=\"\" $CFLAGS"
36   AC_MSG_RESULT(no)
37 fi
38
39 dnl Checks for header files, some checks are obsolete, unfortunately the code
40 dnl uses the resulting macros, so the code has to cleaned up too before
41 dnl we can remove the checks here.
42 AC_CHECK_HEADERS(mntent.h unistd.h termios.h ufs/quota.h)
43 AC_CHECK_HEADERS(netdb.h sgtty.h statfs.h dlfcn.h langinfo.h locale.h)
44 AC_CHECK_HEADERS(sys/param.h sys/fcntl.h sys/termios.h)
45 AC_CHECK_HEADERS(sys/mnttab.h sys/statvfs.h sys/stat.h sys/vfs.h)
46 dnl Checks for header files, confirmed to be required as of 2011
47 AC_CHECK_HEADERS([sys/mount.h], , , 
48 [#ifdef HAVE_SYS_PARAM_H
49 #include <sys/param.h>
50 #endif
51 ])
52 AC_CHECK_TYPES([fshare_t], [], [], [[#include <fcntl.h>]])
53
54 AC_SYS_LARGEFILE([], AC_MSG_ERROR([AFP 3.x support requires Large File Support.]))
55
56 dnl --------------------------------------------------------------------------
57 dnl check if dlsym needs to add an underscore, uses libtool macros 
58 dnl --------------------------------------------------------------------------
59 AC_LTDL_DLLIB
60 AC_CHECK_FUNCS(dlopen dlsym dlclose)
61 AC_LTDL_DLSYM_USCORE
62 if test x"$libltdl_cv_need_uscore" = xyes; then
63     AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
64 fi
65
66 dnl Special hecks
67 ac_neta_haveatfuncs=yes
68 AC_CHECK_FUNCS(openat renameat fstatat unlinkat, , ac_neta_haveatfuncs=no)
69 if test x"$ac_neta_haveatfuncs" = x"yes" ; then
70    AC_DEFINE([_ATFILE_SOURCE], 1, AT file source)
71    AC_DEFINE([HAVE_ATFUNCS], 1, whether at funcs are available)
72 fi
73 AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, [#include <time.h>])
74
75 dnl these tests have been comfirmed to be needed in 2011
76 AC_CHECK_FUNCS(backtrace_symbols dirfd getusershell pread pwrite pselect)
77 AC_CHECK_FUNCS(setlinebuf strlcat strlcpy strnlen mempcpy)
78 AC_CHECK_FUNCS(mmap utime getpagesize) dnl needed by tbd
79
80 dnl search for necessary libraries
81 AC_SEARCH_LIBS(gethostbyname, nsl)
82 AC_SEARCH_LIBS(connect, socket)
83 AX_PTHREAD(, [AC_MSG_ERROR([missing pthread_sigmask])])
84
85 AC_DEFINE(OPEN_NOFOLLOW_ERRNO, ELOOP, errno returned by open with O_NOFOLLOW)
86
87 dnl 64bit platform check
88 AC_NETATALK_64BIT_LIBS
89
90 dnl OS specific checks
91 AC_NETATALK_OS_SPECIFIC
92
93 dnl Check for optional admin group support
94 AC_NETATALK_ADMIN_GROUP
95
96 dnl Check for optional AFS support
97 AC_NETATALK_AFS_CHECK
98
99 dnl --with-pkgconfdir check to change configuration directory location
100 AC_NETATALK_CONFIG_DIRS
101
102 dnl Check for optional cracklib support
103 AC_NETATALK_CRACKLIB
104
105 dnl Check whether to enable debug code
106 AC_NETATALK_DEBUG
107
108 dnl Check whethe to disable tickle SIGALARM stuff, which eases debugging
109 AC_NETATALK_DEBUGGING
110
111 dnl     Check for libiconv support
112 AC_NETATALK_CHECK_ICONV
113
114 dnl Check for CNID database backends
115 AC_NETATALK_CNID([bdb_required=yes],[bdb_required=no])
116
117 dnl Check for quota support
118 AC_NETATALK_CHECK_QUOTA
119
120 dnl Check for optional Zeroconf support
121 AC_NETATALK_ZEROCONF
122
123 dnl Check for optional TCP-wrappers support
124 AC_NETATALK_TCP_WRAPPERS
125
126 dnl Check for PAM libs
127 AC_NETATALK_PATH_PAM
128
129 dnl Check for optional shadow password support
130 AC_NETATALK_SHADOW
131         
132 dnl Check for optional valid-shell-check support
133 AC_NETATALK_SHELL_CHECK
134
135 dnl Check for optional sysv initscript install
136 AC_NETATALK_INIT_STYLE
137
138 dnl Path where UAM modules shall be installed
139 AC_ARG_WITH(uams-path, [  --with-uams-path=PATH   path to UAMs [[$libdir/netatalk/]]], [uams_path="$withval/"], [uams_path="$libdir/netatalk/"])
140
141 dnl Check for libgcrypt, if found enables DHX2 UAM
142 AC_NETATALK_PATH_LIBGCRYPT([1:1.2.3])
143
144 dnl Check for openssl, if found enables DHX UAM and Randnum UAM
145 AC_NETATALK_PATH_SSL
146
147 dnl Check for Berkeley DB library
148 AC_NETATALK_PATH_BDB
149
150 dnl Check for crypt
151 AC_NETATALK_CRYPT
152
153 dnl Check for building PGP UAM module
154 AC_NETATALK_PGP_UAM
155
156 dnl Check for building Kerberos V UAM module
157 AC_NETATALK_KRB5_UAM
158
159 dnl Check for Kerberos 5 support
160 AC_NETATALK_KERBEROS
161
162 dnl Check for overwrite the config files or not
163 AC_NETATALK_OVERWRITE_CONFIG
164
165 dnl Check for LDAP support, for client-side ACL visibility
166 AC_NETATALK_LDAP
167
168 dnl Check for ACL support
169 AC_NETATALK_ACL
170
171 dnl Check for Extended Attributes support
172 AC_NETATALK_EXTENDED_ATTRIBUTES
173
174 dnl Check if realpath() takes NULL
175 AC_NETATALK_REALPATH
176
177 dnl Check for sendfile()
178 AC_NETATALK_SENDFILE
179
180 dnl Check whether bundled libevent shall not be used
181 AC_NETATALK_LIBEVENT
182
183 dnl libatalk API checks
184 AC_DEVELOPER
185
186 dnl Check for dtrace
187 AC_NETATALK_DTRACE
188
189 dnl Check for dbus-glib, for AFP stats on dbus
190 AC_NETATALK_DBUS_GLIB
191
192 dnl FHS stuff has to be done last because it overrides other defaults
193 AC_NETATALK_FHS
194
195 dnl netatalk lockfile path, must come after AC_NETATALK_FHS
196 AC_NETATALK_LOCKFILE
197
198 dnl Check for Docbook and build documentation if found
199 AX_CHECK_DOCBOOK
200
201 CFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include $CFLAGS"
202 UAMS_PATH="${uams_path}"
203
204 AC_SUBST(LIBS)
205 AC_SUBST(CFLAGS)
206 AC_SUBST(UAMS_PATH)
207
208 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
209 AM_CONDITIONAL(HAVE_LIBGCRYPT, test x$neta_cv_have_libgcrypt = xyes)
210 AM_CONDITIONAL(HAVE_OPENSSL, test x$neta_cv_have_openssl = xyes)
211 AM_CONDITIONAL(HAVE_ACLS, test x"$with_acl_support" = x"yes")
212 AM_CONDITIONAL(HAVE_LDAP, test x"$netatalk_cv_ldap" = x"yes")
213 AM_CONDITIONAL(USE_DHX, test x$neta_cv_compile_dhx = xyes)
214 AM_CONDITIONAL(USE_DHX2, test x$neta_cv_compile_dhx2 = xyes)
215 AM_CONDITIONAL(USE_RANDNUM, test x$neta_cv_have_openssl = xyes)
216 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
217 AM_CONDITIONAL(USE_PAM, test x$netatalk_cv_install_pam = xyes)
218 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
219 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
220 AM_CONDITIONAL(DEFAULT_HOOK, test x$neta_cv_have_libgcrypt != xyes && test x$neta_cv_have_openssl != xyes)
221 AM_CONDITIONAL(USE_BDB, test x$bdb_required = xyes)
222 AM_CONDITIONAL(HAVE_ATFUNCS, test x"$ac_neta_haveatfuncs" = x"yes")
223 AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes)
224
225 dnl Enable silent Automake rules if present                                                                           
226 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
227
228 dnl --------------------- generate files
229 AC_OUTPUT([Makefile
230         bin/Makefile
231         bin/ad/Makefile
232         bin/afppasswd/Makefile
233         bin/cnid/Makefile
234         bin/cnid/cnid2_create
235         bin/megatron/Makefile
236         bin/misc/Makefile
237         bin/uniconv/Makefile
238         config/Makefile
239         config/pam/Makefile
240         contrib/Makefile
241         contrib/macusers/Makefile
242         contrib/macusers/macusers
243         contrib/shell_utils/Makefile
244         contrib/shell_utils/apple_dump
245         contrib/shell_utils/asip-status.pl
246         distrib/Makefile
247         distrib/config/Makefile
248         distrib/config/netatalk-config
249         distrib/initscripts/Makefile
250         distrib/m4/Makefile
251         doc/Makefile
252     doc/html.xsl
253     doc/man.xsl
254     doc/manual/manual.xml
255     doc/manpages/Makefile
256     doc/manpages/man1/Makefile
257     doc/manpages/man8/Makefile
258         etc/Makefile
259         etc/afpd/Makefile
260         etc/cnid_dbd/Makefile
261         etc/netatalk/Makefile
262         etc/uams/Makefile
263         include/Makefile
264         include/atalk/Makefile
265         libatalk/Makefile
266         libatalk/acl/Makefile
267         libatalk/adouble/Makefile
268         libatalk/bstring/Makefile
269         libatalk/cnid/Makefile
270         libatalk/cnid/cdb/Makefile
271         libatalk/cnid/last/Makefile
272         libatalk/cnid/dbd/Makefile
273         libatalk/cnid/tdb/Makefile
274         libatalk/compat/Makefile
275         libatalk/dsi/Makefile
276         libatalk/iniparser/Makefile
277         libatalk/tdb/Makefile
278         libatalk/unicode/Makefile
279         libatalk/unicode/charsets/Makefile
280         libatalk/util/Makefile
281         libatalk/vfs/Makefile
282         macros/Makefile
283         man/Makefile
284         man/man1/Makefile
285     man/man1/ad.1
286     man/man1/afpldaptest.1
287     man/man1/afppasswd.1
288     man/man1/afpstats.1
289     man/man1/apple_dump.1
290     man/man1/asip-status.pl.1
291     man/man1/dbd.1
292     man/man1/macusers.1
293     man/man1/netatalk-config.1
294     man/man1/uniconv.1
295         man/man5/Makefile
296     man/man5/afp.conf.5
297     man/man5/afp_signature.conf.5
298     man/man5/afp_voluuid.conf.5
299     man/man5/extmap.conf.5
300         man/man8/Makefile
301     man/man8/afpd.8
302     man/man8/cnid_dbd.8
303     man/man8/cnid_metad.8
304     man/man8/netatalk.8
305         test/Makefile
306         test/afpd/Makefile
307         ],
308         [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
309 )
310
311 AC_NETATALK_LIBS_SUMMARY
312 AC_NETATALK_CONFIG_SUMMARY