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>
54 AC_SYS_LARGEFILE([], AC_MSG_ERROR([AFP 3.x support requires Large File Support.]))
56 dnl --------------------------------------------------------------------------
57 dnl check if dlsym needs to add an underscore, uses libtool macros
58 dnl --------------------------------------------------------------------------
60 AC_CHECK_FUNCS(dlopen dlsym dlclose)
62 if test x"$libltdl_cv_need_uscore" = xyes; then
63 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
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)
73 AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, [#include <time.h>])
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)
78 AC_CHECK_FUNCS(mmap utime getpagesize) dnl needed by tbd
80 dnl search for necessary libraries
81 AC_SEARCH_LIBS(gethostbyname, nsl)
82 AC_SEARCH_LIBS(connect, socket)
83 AC_SEARCH_LIBS(pthread_sigmask, pthread,,[AC_MSG_ERROR([missing pthread_sigmask])])
84 if test x"$ac_cv_search_pthread_sigmask" != x"none required" ; then
85 PTHREAD_LIBS=$ac_cv_search_pthread_sigmask
87 AC_SUBST(PTHREAD_LIBS)
89 AC_DEFINE(OPEN_NOFOLLOW_ERRNO, ELOOP, errno returned by open with O_NOFOLLOW)
91 dnl 64bit platform check
92 AC_NETATALK_64BIT_LIBS
94 dnl OS specific checks
95 AC_NETATALK_OS_SPECIFIC
97 dnl Check for optional admin group support
98 AC_NETATALK_ADMIN_GROUP
100 dnl Check for optional AFS support
101 AC_NETATALK_AFS_CHECK
103 dnl --with-pkgconfdir check to change configuration directory location
104 AC_NETATALK_CONFIG_DIRS
106 dnl Check for optional cracklib support
109 dnl Check whether to enable debug code
112 dnl Check whethe to disable tickle SIGALARM stuff, which eases debugging
113 AC_NETATALK_DEBUGGING
115 dnl Check for libiconv support
116 AC_NETATALK_CHECK_ICONV
118 dnl Check for CNID database backends
119 AC_NETATALK_CNID([bdb_required=yes],[bdb_required=no])
121 dnl Check for quota support
122 AC_NETATALK_CHECK_QUOTA
124 dnl Check for optional Zeroconf support
127 dnl Check for optional TCP-wrappers support
128 AC_NETATALK_TCP_WRAPPERS
130 dnl Check for PAM libs
133 dnl Check for optional shadow password support
136 dnl Check for optional valid-shell-check support
137 AC_NETATALK_SHELL_CHECK
139 dnl Check for optional sysv initscript install
140 AC_NETATALK_INIT_STYLE
142 dnl Path where UAM modules shall be installed
143 AC_ARG_WITH(uams-path, [ --with-uams-path=PATH path to UAMs [[$libdir/netatalk/]]], [uams_path="$withval/"], [uams_path="$libdir/netatalk/"])
145 dnl Check for libgcrypt, if found enables DHX2 UAM
146 AC_NETATALK_PATH_LIBGCRYPT([1:1.2.3])
148 dnl Check for openssl, if found enables DHX UAM and Randnum UAM
151 dnl Check for Berkeley DB library
157 dnl Check for building PGP UAM module
160 dnl Check for building Kerberos V UAM module
163 dnl Check for Kerberos 5 support
166 dnl Check for overwrite the config files or not
167 AC_NETATALK_OVERWRITE_CONFIG
169 dnl Check for LDAP support, for client-side ACL visibility
172 dnl Check for ACL support
175 dnl Check for Extended Attributes support
176 AC_NETATALK_EXTENDED_ATTRIBUTES
178 dnl Check for libsmbsharemodes from Samba for Samba/Netatalk access/deny/share modes interop
179 AC_NETATALK_SMB_SHAREMODES
181 dnl Check if realpath() takes NULL
184 dnl Check for sendfile()
187 dnl Check whether bundled libevent shall not be used
190 dnl FHS stuff has to be done last because it overrides other defaults
193 CFLAGS="-I\$(top_srcdir)/include -I\$(top_srcdir)/sys $CFLAGS"
194 UAMS_PATH="${uams_path}"
200 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
201 AM_CONDITIONAL(HAVE_LIBGCRYPT, test x$neta_cv_have_libgcrypt = xyes)
202 AM_CONDITIONAL(HAVE_OPENSSL, test x$neta_cv_have_openssl = xyes)
203 AM_CONDITIONAL(HAVE_ACLS, test x"$with_acl_support" = x"yes")
204 AM_CONDITIONAL(HAVE_LDAP, test x"$netatalk_cv_ldap" = x"yes")
205 AM_CONDITIONAL(USE_DHX, test x$neta_cv_compile_dhx = xyes)
206 AM_CONDITIONAL(USE_DHX2, test x$neta_cv_compile_dhx2 = xyes)
207 AM_CONDITIONAL(USE_RANDNUM, test x$neta_cv_have_openssl = xyes)
208 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
209 AM_CONDITIONAL(USE_PAM, test x$netatalk_cv_install_pam = xyes)
210 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
211 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
212 AM_CONDITIONAL(DEFAULT_HOOK, test x$neta_cv_have_libgcrypt != xyes && test x$neta_cv_have_openssl != xyes)
213 AM_CONDITIONAL(USE_BDB, test x$bdb_required = xyes)
214 AM_CONDITIONAL(HAVE_ATFUNCS, test x"$ac_neta_haveatfuncs" = x"yes")
216 dnl --------------------- generate files
220 bin/afppasswd/Makefile
222 bin/cnid/cnid2_create
223 bin/megatron/Makefile
229 contrib/macusers/Makefile
230 contrib/macusers/macusers
231 contrib/shell_utils/Makefile
232 contrib/shell_utils/apple_dump
233 contrib/shell_utils/asip-status.pl
235 distrib/config/Makefile
236 distrib/config/netatalk-config
237 distrib/initscripts/Makefile
242 etc/cnid_dbd/Makefile
243 etc/netatalk/Makefile
246 include/atalk/Makefile
248 libatalk/acl/Makefile
249 libatalk/adouble/Makefile
250 libatalk/bstring/Makefile
251 libatalk/cnid/Makefile
252 libatalk/cnid/cdb/Makefile
253 libatalk/cnid/last/Makefile
254 libatalk/cnid/dbd/Makefile
255 libatalk/cnid/tdb/Makefile
256 libatalk/compat/Makefile
257 libatalk/dsi/Makefile
258 libatalk/iniparser/Makefile
259 libatalk/tdb/Makefile
260 libatalk/unicode/Makefile
261 libatalk/unicode/charsets/Makefile
262 libatalk/util/Makefile
263 libatalk/vfs/Makefile
272 [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
275 AC_NETATALK_LIBS_SUMMARY
276 AC_NETATALK_CONFIG_SUMMARY