1 dnl configure.in for netatalk
3 AC_INIT(bin/adv1tov2/adv1tov2.c)
5 NETATALK_VERSION=`cat VERSION`
6 AC_SUBST(NETATALK_VERSION)
9 AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
10 AM_CONFIG_HEADER(config.h)
13 dnl Reset locations to proper places
14 AC_PREFIX_DEFAULT(/usr)
16 dnl Checks for programs.
24 dnl *********************************************************************
25 dnl FIXME! FIXME! These should be selectable properly, and should produce
26 dnl the proper flags and defines...
27 dnl *********************************************************************
29 dnl Checks for libraries.
30 dnl Replace `main' with a function in -labs:
31 AC_CHECK_LIB(abs, main)
32 dnl Replace `main' with a function in -laudit:
33 AC_CHECK_LIB(audit, main)
34 dnl Replace `main' with a function in -lauth:
35 AC_CHECK_LIB(auth, main)
36 dnl Replace `main' with a function in -lcmd:
37 AC_CHECK_LIB(cmd, main)
38 dnl Replace `main' with a function in -lcom_err:
39 AC_CHECK_LIB(com_err, main)
40 dnl Replace `main' with a function in -lcrypt:
41 AC_CHECK_LIB(crypt, main)
42 dnl Replace `main' with a function in -ld:
44 dnl Replace `main' with a function in -ldb:
45 AC_CHECK_LIB(db, main)
46 dnl Replace `main' with a function in -ldl:
47 AC_CHECK_LIB(dl, main)
48 dnl Replace `main' with a function in -lkauth:
49 AC_CHECK_LIB(kauth, main)
50 dnl Replace `main' with a function in -lkrb:
51 AC_CHECK_LIB(krb, main)
52 dnl Replace `main' with a function in -llwp:
53 AC_CHECK_LIB(lwp, main)
54 dnl Replace `main' with a function in -ln:
56 dnl Replace `main' with a function in -lnsl:
57 AC_CHECK_LIB(nsl, main)
58 dnl Replace `main' with a function in -lprot:
59 AC_CHECK_LIB(prot, main)
60 dnl Replace `main' with a function in -lresolv:
61 AC_CHECK_LIB(resolv, main)
62 dnl Replace `main' with a function in -lrpcsvc:
63 AC_CHECK_LIB(rpcsvc, main)
64 dnl Replace `main' with a function in -lrx:
65 AC_CHECK_LIB(rx, main)
66 dnl Replace `main' with a function in -lrxkad:
67 AC_CHECK_LIB(rxkad, main)
68 dnl Replace `main' with a function in -lsocket:
69 AC_CHECK_LIB(socket, main)
70 dnl Replace `main' with a function in -lsys:
71 AC_CHECK_LIB(sys, main)
72 dnl Replace `main' with a function in -lubik:
73 AC_CHECK_LIB(ubik, main)
75 dnl Checks for header files.
79 AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.h sys/file.h sys/ioctl.h sys/time.h syslog.h unistd.h termios.h netdb.h)
80 AC_CHECK_HEADER(sys/cdefs.h,,
81 AC_MSG_RESULT([enabling generic cdefs.h from tree])
82 CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
85 # Allow user to specify flags
87 [ --with-cflags specify additional flags to pass to compiler],
89 if test "x$withval" != "xno" ; then
90 CFLAGS="$CFLAGS $withval"
95 [ --with-libs specify additional libraries to link with],
97 if test "x$withval" != "xno" ; then
103 dnl Checks for typedefs, structures, and compiler characteristics.
115 dnl Checks for library functions.
117 AC_PROG_GCC_TRADITIONAL
124 AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp)
127 dnl --------------------------------------------------------------------------
128 dnl specific configuration comes in here:
129 dnl --------------------------------------------------------------------------
131 AC_DEFINE(ADMIN_GRP, 1)
133 AC_ARG_WITH(admin-group,
134 [ --disable-admin-group disable admin group],
135 if test "$enableval" = "no"; then
136 AC_DEFINE(ADMIN_GRP, 0)
137 AC_MSG_RESULT([disabling administrative group support])
141 AC_ARG_WITH(auth-printing-dir,
142 [ --with-auth-printing-dir=path
143 path to authenticated printing directory],
145 AC_DEFINE_UNQUOTED(CAPDIR, "$cap_dir")
147 AC_MSG_RESULT([enabling authenticated printing support]),
150 AC_ARG_WITH(config-dir,
151 [ --with-config-dir=path path to config files [default=/etc/atalk]],
152 config_dir="$withval",
153 config_dir="/etc/atalk"
155 AC_DEFINE_UNQUOTED(CONFIG_DIR, "$config_dir",
156 [path to config dir [default=/etc/atalk]])
157 CONFIG_DIR="$config_dir"
159 AC_MSG_RESULT([setting configuration files location to $CONFIG_DIR])
161 AC_ARG_WITH(cracklib,
162 [ --with-cracklib=dict enable/set location of cracklib dictionary],
164 AC_CHECK_LIB(crack, main,
165 AC_DEFINE(USE_CRACKLIB)
167 AC_MSG_RESULT([enabling cracklib support])
168 if test "$cracklib" = "yes"; then
169 cracklib="/usr/lib/cracklib_dict"
171 AC_DEFINE_UNQUOTED(_PATH_CRACKLIB, "$cracklib",
172 [path to cracklib dictionary])
173 AC_MSG_RESULT([setting cracklib dictionary to $cracklib]),
174 AC_MSG_ERROR([cracklib not found!])
179 [ --disable-ddp disable DDP],
180 if test "$enableval" = "no"; then
182 AC_MSG_RESULT([disabling DDP])
186 AC_ARG_ENABLE(force2GB,
187 [ --enable-force2GB enable force 2GB max reported volume size],
188 if test "x$enableval" = "xyes"; then
189 AC_DEFINE(FORCE_2GB, 1)
190 AC_MSG_RESULT([enable forge 2GB])
195 [ --enable-debug enable debug code],
196 if test "$enableval" != "no"; then
197 if test "$enableval" = "yes"; then
200 AC_DEFINE_UNQUOTED(DEBUG, $enableval)
202 AC_MSG_RESULT([enabling debugging code])
209 dnl ----------- A NOTE ABOUT DROPKLUDGE
210 dnl The trouble with this fix is that if you know what the file is called, it
211 dnl can be read from the Unix side. That's okay for most academic institutions
212 dnl since the students don't have telnet access to the Mac servers. There is
213 dnl currently no one working on further development/fixes of DROPKLUDGE.
216 AC_ARG_ENABLE(dropkludge,
217 [ --enable-dropkludge enable the experimental dropbox fix (INSECURE!) ],
218 AC_DEFINE(DROPKLUDGE, 1)
219 AC_MSG_RESULT([enabling experimental dropbox support])
222 AC_ARG_ENABLE(lastdid,
223 [ --enable-lastdid enable build without DID dev/inode mapping kludge],
224 if test "$enableval" = "yes"; then
225 AC_DEFINE(USE_LASTDID, 1)
226 AC_MSG_RESULT([enabling build without DID dev/inode mapping kludge])
231 AC_ARG_WITH(message-dir,
232 [ --with-msg-dir=path path to message files [default=/etc/atalk/msg]],
234 if test x"$msg_dir" = "x"; then
235 msg_dir="$CONFIG_DIR/msg"
237 AC_DEFINE_UNQUOTED(SERVERTEXT, "$msg_dir",
238 [path to message dir [default=$CONFIG_DIR/msg]])
239 SERVERTEXT="$msg_dir"
244 [ --with-pam enable password authentication modules support],
245 AC_CHECK_LIB(pam, pam_start,
246 AC_DEFINE(USE_PAM, 1)
248 AC_MSG_RESULT([enabling pam modules support])
253 [ --with-shadow enable shadow password support],
254 AC_MSG_RESULT([enabling shadow password support])
258 AC_ARG_WITH(flock-locks,
259 [ --with-flock-locks enable flock locks support],
260 AC_MSG_RESULT([enabling flock locks])
261 AC_DEFINE(USE_FLOCK_LOCKS)
264 AC_ARG_WITH(tcp-wrappers,
265 [ --with-tcp-wrappers enable TCP wrappers support],
266 AC_CHECK_LIB(wrap, main,
269 AC_MSG_RESULT([enabling TCP wrappers support])
273 AC_ARG_WITH(uams-path,
274 [ --with-uams-path=path path to UAMs [default=/etc/atalk/uams]],
275 uams_path="$withval",
276 uams_path="/etc/atalk/uams"
278 AC_DEFINE_UNQUOTED(UAMS_PATH, "$uams_path",
279 [path to UAMs [default=/etc/atalk/uams]])
280 UAMS_PATH="$uams_path"
283 dnl --------------------------------------------------------------------------
284 dnl drop in includes for top level directory structures here...
285 dnl --------------------------------------------------------------------------
286 LIBS="$LIBS -L\$(top_srcdir)/libatalk/"
287 CFLAGS="$CFLAGS -I\$(top_srcdir)/include -I\$(top_srcdir)/sys"
289 dnl --------------------------------------------------------------------------
290 dnl specific configuration comes in here:
291 dnl --------------------------------------------------------------------------
293 dnl ac_cv_target_os is now host_os, ac_cv_target_cpu is now host_cpu
295 dnl --------------------- determine operating system from "target"
297 *freebsd*) this_os=freebsd ;;
298 *linux*) this_os=linux ;;
299 *osx*) this_os=macosx ;;
300 *netbsd*) this_os=netbsd ;;
301 *openbsd*) this_os=openbsd ;;
302 *solaris*) this_os=solaris ;;
306 i386|i486|i586|i686|k7) this_cpu=x86 ;;
307 alpha) this_cpu=alpha ;;
308 mips) this_cpu=mips ;;
309 powerpc|ppc) this_cpu=ppc ;;
312 dnl --------------------- operating system specific flags (port from sys/*)
314 dnl ----- FreeBSD specific -----
315 if test x"$this_os" = "xfreebsd"; then
316 AC_MSG_RESULT([ * FreeBSD specific configuration])
318 AC_DEFINE(SENDFILE_FLAVOR_BSD)
321 dnl ----- Linux specific -----
322 if test x"$this_os" = "xlinux"; then
323 AC_MSG_RESULT([ * Linux specific configuration])
324 AC_DEFINE(SENDFILE_FLAVOR_LINUX)
326 dnl ----- check if we need the quotactl wrapper
327 AC_CHECK_HEADER(sys/quota.h,,
328 AC_MSG_RESULT([enabling quotactl wrapper])
329 AC_DEFINE(NEED_QUOTACTL_WRAPPER)
332 dnl ----- Linux/alpha specific -----
333 if test x"$this_cpu" = "xalpha"; then
334 AC_MSG_RESULT([enabling gcc memcpy bug workaround])
335 AC_DEFINE(HAVE_GCC_MEMCPY_BUG)
340 dnl ----- Mac OSX specific -----
341 if test x"$this_os" = "xmacosx"; then
342 AC_MSG_RESULT([ * Mac OSX specific configuration])
344 AC_DEFINE(HAVE_BROKEN_CPP)
345 AC_DEFINE(HAVE_2ARG_DBTOB)
346 AC_DEFINE(NO_DLFCN_H)
347 AC_DEFINE(MACOSX_SERVER)
350 dnl ----- NetBSD specific -----
351 if test x"$this_os" = "xnetbsd"; then
352 AC_MSG_RESULT([ * NetBSD specific configuration])
354 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
355 CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
359 dnl ----- OpenBSD specific -----
360 if test x"$this_os" = "xopenbsd"; then
361 AC_MSG_RESULT([ * OpenBSD specific configuration])
365 dnl ----- Solaris specific -----
366 if test x"$this_os" = "xsolaris"; then
367 AC_MSG_RESULT([ * Solaris specific configuration])
369 AC_DEFINE(_ISOC9X_SOURCE)
370 AC_DEFINE(NO_STRUCT_TM_GMTOFF)
372 CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
376 dnl -- look for openssl
378 [ --with-ssl-dir=PATH specify path to openssl installation (must contain
379 lib and include dirs) ],
381 if test "x$withval" != "$xno"; then
387 for ssldir in "" $tryssldir /usr /usr/local/openssl /usr/lib/openssl/ /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do
388 if test -f "$ssldir/include/openssl/cast.h" ; then
389 LIBS="$LIBS -L$ssldir/lib -L$ssldir"
390 CFLAGS="$CFLAGS -I$ssldir/include -I$ssldir/include/openssl"
391 if test "$need_dash_r" = "yes"; then
392 LIBS="$LIBS -R$ssldir/lib -R$ssldir"
395 dnl Check for the crypto library:
396 AC_CHECK_LIB(crypto, main)
397 LIBS="$LIBS -lcrypto"
398 dnl Check for "DES" library (for SSLeay, not openssl):
399 AC_CHECK_LIB(des, main)
401 AC_DEFINE(OPENSSL_DHX, 1)
402 AC_DEFINE(UAM_DHX, 1)
403 AC_DEFINE(UAM_RNDNUM, 1)
405 AC_MSG_RESULT([Found ssl and enabling RANDNUM and DHX support "$ssldir"])
410 dnl --------------------- last minute substitutions
414 AM_CONDITIONAL(USE_DHX, test x$compile_dhx = xyes)
416 dnl --------------------- generate files
420 bin/adv1tov2/Makefile
423 bin/afppasswd/Makefile
424 bin/getzones/Makefile
425 bin/megatron/Makefile
432 contrib/printing/Makefile
433 contrib/shell_utils/Makefile
434 contrib/timelord/Makefile
436 distrib/config/Makefile
437 distrib/config/netatalk-config
438 distrib/initscripts/Makefile
442 etc/afpd/nls/Makefile
448 include/atalk/Makefile
450 libatalk/adouble/Makefile
451 libatalk/asp/Makefile
452 libatalk/atp/Makefile
453 libatalk/compat/Makefile
454 libatalk/dsi/Makefile
455 libatalk/nbp/Makefile
456 libatalk/netddp/Makefile
457 libatalk/util/Makefile
465 sys/netatalk/Makefile
467 [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]