1 dnl configure.ac for netatalk
3 AC_INIT(etc/afpd/main.c)
5 NETATALK_VERSION=`cat $srcdir/VERSION`
6 AC_SUBST(NETATALK_VERSION)
9 AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
10 AM_CONFIG_HEADER(config.h)
11 AM_MAINTAINER_MODE([enable])
13 dnl Checks for programs.
27 dnl Checks for typedefs, structures, and compiler characteristics.
30 dnl Check if we can use attribute unused (gcc only) from ethereal
31 AC_MSG_CHECKING(to see if we can add '__attribute__((unused))' to CFLAGS)
32 if test x$GCC != x ; then
33 CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS"
36 CFLAGS="-D_U_=\"\" $CFLAGS"
40 dnl Checks for header files, some checks are obsolete, unfortunately the code
41 dnl uses the resulting macros, so the code has to cleaned up too before
42 dnl we can remove the checks here.
43 AC_CHECK_HEADERS(mntent.h unistd.h termios.h ufs/quota.h)
44 AC_CHECK_HEADERS(netdb.h sgtty.h statfs.h dlfcn.h langinfo.h locale.h)
45 AC_CHECK_HEADERS(sys/param.h sys/fcntl.h sys/termios.h)
46 AC_CHECK_HEADERS(sys/mnttab.h sys/statvfs.h sys/stat.h sys/vfs.h)
47 dnl Checks for header files, confirmed to be required as of 2011
48 AC_CHECK_HEADERS([sys/mount.h], , ,
49 [#ifdef HAVE_SYS_PARAM_H
50 #include <sys/param.h>
53 AC_CHECK_TYPES([fshare_t], [], [], [[#include <fcntl.h>]])
55 AC_SYS_LARGEFILE([], AC_MSG_ERROR([AFP 3.x support requires Large File Support.]))
57 dnl --------------------------------------------------------------------------
58 dnl check if dlsym needs to add an underscore, uses libtool macros
59 dnl --------------------------------------------------------------------------
61 AC_CHECK_FUNCS(dlopen dlsym dlclose)
63 if test x"$libltdl_cv_need_uscore" = xyes; then
64 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
68 ac_neta_haveatfuncs=yes
69 AC_CHECK_FUNCS(openat renameat fstatat unlinkat, , ac_neta_haveatfuncs=no)
70 if test x"$ac_neta_haveatfuncs" = x"yes" ; then
71 AC_DEFINE([_ATFILE_SOURCE], 1, AT file source)
72 AC_DEFINE([HAVE_ATFUNCS], 1, whether at funcs are available)
74 AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, [#include <time.h>])
76 dnl these tests have been comfirmed to be needed in 2011
77 AC_CHECK_FUNCS(backtrace_symbols dirfd getusershell pread pwrite pselect)
78 AC_CHECK_FUNCS(setlinebuf strlcat strlcpy strnlen)
79 AC_CHECK_FUNCS(mmap utime getpagesize) dnl needed by tbd
81 dnl search for necessary libraries
82 AC_SEARCH_LIBS(gethostbyname, nsl)
83 AC_SEARCH_LIBS(connect, socket)
84 AC_SEARCH_LIBS(pthread_sigmask, pthread,,[AC_MSG_ERROR([missing pthread_sigmask])])
85 if test x"$ac_cv_search_pthread_sigmask" != x"none required" ; then
86 PTHREAD_LIBS=$ac_cv_search_pthread_sigmask
88 AC_SUBST(PTHREAD_LIBS)
90 AC_DEFINE(OPEN_NOFOLLOW_ERRNO, ELOOP, errno returned by open with O_NOFOLLOW)
92 dnl 64bit platform check
93 AC_NETATALK_64BIT_LIBS
95 dnl OS specific checks
96 AC_NETATALK_OS_SPECIFIC
98 dnl Check for optional admin group support
99 AC_NETATALK_ADMIN_GROUP
101 dnl Check for optional AFS support
102 AC_NETATALK_AFS_CHECK
104 dnl --with-pkgconfdir check to change configuration directory location
105 AC_NETATALK_CONFIG_DIRS
107 dnl Check for optional cracklib support
110 dnl Check whether to enable debug code
113 dnl Check whethe to disable tickle SIGALARM stuff, which eases debugging
114 AC_NETATALK_DEBUGGING
116 dnl Check for libiconv support
117 AC_NETATALK_CHECK_ICONV
119 dnl Check for CNID database backends
120 AC_NETATALK_CNID([bdb_required=yes],[bdb_required=no])
122 dnl Check for quota support
123 AC_NETATALK_CHECK_QUOTA
125 dnl Check for optional Zeroconf support
128 dnl Check for optional TCP-wrappers support
129 AC_NETATALK_TCP_WRAPPERS
131 dnl Check for PAM libs
134 dnl Check for optional shadow password support
137 dnl Check for optional valid-shell-check support
138 AC_NETATALK_SHELL_CHECK
140 dnl Check for optional sysv initscript install
141 AC_NETATALK_INIT_STYLE
143 dnl Path where UAM modules shall be installed
144 AC_ARG_WITH(uams-path, [ --with-uams-path=PATH path to UAMs [[$libdir/netatalk/]]], [uams_path="$withval/"], [uams_path="$libdir/netatalk/"])
146 dnl Check for libgcrypt, if found enables DHX2 UAM
147 AC_NETATALK_PATH_LIBGCRYPT([1:1.2.3])
149 dnl Check for openssl, if found enables DHX UAM and Randnum UAM
152 dnl Check for Berkeley DB library
158 dnl Check for building PGP UAM module
161 dnl Check for building Kerberos V UAM module
164 dnl Check for Kerberos 5 support
167 dnl Check for overwrite the config files or not
168 AC_NETATALK_OVERWRITE_CONFIG
170 dnl Check for LDAP support, for client-side ACL visibility
173 dnl Check for ACL support
176 dnl Check for Extended Attributes support
177 AC_NETATALK_EXTENDED_ATTRIBUTES
179 dnl Check for libsmbsharemodes from Samba for Samba/Netatalk access/deny/share modes interop
180 AC_NETATALK_SMB_SHAREMODES
182 dnl Check if realpath() takes NULL
185 dnl Check for sendfile()
188 dnl Check whether bundled libevent shall not be used
191 dnl FHS stuff has to be done last because it overrides other defaults
194 CFLAGS="-I\$(top_srcdir)/include -I\$(top_srcdir)/sys $CFLAGS"
195 UAMS_PATH="${uams_path}"
201 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
202 AM_CONDITIONAL(HAVE_LIBGCRYPT, test x$neta_cv_have_libgcrypt = xyes)
203 AM_CONDITIONAL(HAVE_OPENSSL, test x$neta_cv_have_openssl = xyes)
204 AM_CONDITIONAL(HAVE_ACLS, test x"$with_acl_support" = x"yes")
205 AM_CONDITIONAL(HAVE_LDAP, test x"$netatalk_cv_ldap" = x"yes")
206 AM_CONDITIONAL(USE_DHX, test x$neta_cv_compile_dhx = xyes)
207 AM_CONDITIONAL(USE_DHX2, test x$neta_cv_compile_dhx2 = xyes)
208 AM_CONDITIONAL(USE_RANDNUM, test x$neta_cv_have_openssl = xyes)
209 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
210 AM_CONDITIONAL(USE_PAM, test x$netatalk_cv_install_pam = xyes)
211 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
212 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
213 AM_CONDITIONAL(DEFAULT_HOOK, test x$neta_cv_have_libgcrypt != xyes && test x$neta_cv_have_openssl != xyes)
214 AM_CONDITIONAL(USE_BDB, test x$bdb_required = xyes)
215 AM_CONDITIONAL(HAVE_ATFUNCS, test x"$ac_neta_haveatfuncs" = x"yes")
217 dnl --------------------- generate files
221 bin/afppasswd/Makefile
223 bin/cnid/cnid2_create
224 bin/megatron/Makefile
230 contrib/macusers/Makefile
231 contrib/macusers/macusers
232 contrib/shell_utils/Makefile
233 contrib/shell_utils/apple_dump
234 contrib/shell_utils/asip-status.pl
236 distrib/config/Makefile
237 distrib/config/netatalk-config
238 distrib/initscripts/Makefile
243 etc/cnid_dbd/Makefile
244 etc/netatalk/Makefile
247 include/atalk/Makefile
249 libatalk/acl/Makefile
250 libatalk/adouble/Makefile
251 libatalk/bstring/Makefile
252 libatalk/cnid/Makefile
253 libatalk/cnid/cdb/Makefile
254 libatalk/cnid/last/Makefile
255 libatalk/cnid/dbd/Makefile
256 libatalk/cnid/tdb/Makefile
257 libatalk/compat/Makefile
258 libatalk/dsi/Makefile
259 libatalk/iniparser/Makefile
260 libatalk/tdb/Makefile
261 libatalk/unicode/Makefile
262 libatalk/unicode/charsets/Makefile
263 libatalk/util/Makefile
264 libatalk/vfs/Makefile
273 [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
276 AC_NETATALK_LIBS_SUMMARY
277 AC_NETATALK_CONFIG_SUMMARY