1 dnl Copyright 1998 The OpenLDAP Foundation. All Rights Reserved.
3 dnl Redistribution and use in source and binary forms are permitted only
4 dnl as authorized by the OpenLDAP Public License. A copy of this
5 dnl license is available at http://www.OpenLDAP.org/license.html or
6 dnl in file LICENSE in the top-level directory of the distribution.
8 dnl Configure.in for OpenLDAP
10 AC_INIT(include/ldap.h)
13 AC_PREREQ(2.10)dnl Required Autoconf version
14 dnl Do not use AutoConf 2.12; it produces a configuration script
15 dnl that causes an "internal 2K buffer" error on HPUX when run
16 dnl with /bin/sh. Autoconf 2.10 seems to be okay.
17 AC_CONFIG_AUX_DIR(build)
18 AC_CONFIG_HEADER(include/portable.h)dnl
21 AC_MSG_CHECKING(configure arguments)
22 AC_PREFIX_DEFAULT(/usr/local)
24 dnl General "enable" options
25 OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
26 dnl OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
27 OL_ARG_ENABLE(libui,[ --enable-libui enable library user interface], yes)dnl
28 OL_ARG_ENABLE(cache,[ --enable-cache enable caching], yes)dnl
29 OL_ARG_ENABLE(dns,[ --enable-dns enable dns support], no)dnl
30 OL_ARG_ENABLE(referrals,[ --enable-referrals enable referrals], yes)dnl
31 OL_ARG_ENABLE(cldap,[ --enable-clapd enable connectionless ldap], no)dnl
33 dnl General "with" options
34 OL_ARG_WITH(kerberos,[ --with-kerberos use Kerberos],
35 auto, [auto k5 k4 afs yes no])
36 OL_ARG_WITH(threads,[ --with-threads use threads],
37 auto, [auto posix dce mach yes no manual] )
42 OL_ARG_ENABLE(ldapd,[ --enable-ldapd enable building ldapd], no)dnl
45 OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
46 OL_ARG_ENABLE(aclgroup,[ --enable-aclgroup enable ACL group support], auto)dnl
47 OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], auto)dnl
48 OL_ARG_ENABLE(md5,[ --enable-md5 enable MD5 passwords], auto)dnl
49 OL_ARG_ENABLE(sha1,[ --enable-sha1 enable SHA1 passwords], auto)dnl
50 OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
51 OL_ARG_ENABLE(phonetic,[ --enable-phonetic enable phonetic/soundex], no)dnl
52 OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups], auto)dnl
54 dnl SLAPD Backend options
55 OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend], yes)dnl
56 OL_ARG_WITH(ldbm_api,[ --with-ldbm-api use LDBM API], auto,
57 [auto db2 db gdbm ndbm manual])
58 OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type], auto,
61 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], no)dnl
62 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend], no)dnl
65 OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
67 if test $ol_enable_slapd = no ; then
68 dnl SLAPD was specificallly disabled
69 if test $ol_enable_ldbm = yes ; then
70 AC_MSG_WARN([slapd disabled, ignoring --enable_ldbm argument]);
72 if test $ol_enable_passwd = yes ; then
73 AC_MSG_WARN([slapd disabled, ignoring --enable_passwd argument]);
75 if test $ol_enable_shell = yes ; then
76 AC_MSG_WARN([slapd disabled, ignoring --enable_shell argument]);
78 if test $ol_enable_aclgroup = yes ; then
79 AC_MSG_WARN([slapd disabled, ignoring --enable_aclgroup argument]);
81 if test $ol_enable_crypt = yes ; then
82 AC_MSG_WARN([slapd disabled, ignoring --enable_crypt argument]);
84 if test $ol_enable_md5 = yes ; then
85 AC_MSG_WARN([slapd disabled, ignoring --enable_md5 argument]);
87 if test $ol_enable_sha1 = yes ; then
88 AC_MSG_WARN([slapd disabled, ignoring --enable_sha1 argument]);
90 if test $ol_enable_wrappers = yes ; then
91 AC_MSG_WARN([slapd disabled, ignoring --enable_wrappers argument]);
93 if test $ol_enable_phonetic = yes ; then
94 AC_MSG_WARN([slapd disabled, ignoring --enable_phonetic argument]);
96 if test $ol_enable_rlookups = yes ; then
97 AC_MSG_WARN([slapd disabled, ignoring --enable_rlookups argument]);
99 if test $ol_with_ldbm_api != auto ; then
100 AC_MSG_WARN([slapd disabled, ignoring --with_ldbm_api argument]);
102 if test $ol_with_ldbm_type != auto ; then
103 AC_MSG_WARN([slapd disabled, ignoring --with_ldbm_type argument]);
105 if test $ol_enable_slurpd = yes ; then
106 AC_MSG_ERROR([slurpd requires slapd]);
109 # force settings to no
113 ol_enable_aclgroup=no
117 ol_enable_wrappers=no
118 ol_enable_phonetic=no
119 ol_enable_rlookups=no
124 elif test $ol_enable_ldbm = no ; then
125 dnl SLAPD without LDBM
127 if test $ol_with_ldbm_api != auto ; then
128 AC_MSG_WARN([LDBM disabled, ignoring --with_ldbm_api argument]);
131 if test $ol_with_ldbm_type != auto ; then
132 AC_MSG_WARN([LDBM disabled, ignoring --with_ldbm_type argument]);
135 if test $ol_enable_passwd = no -a $ol_enable_shell = no ; then
136 AC_MSG_ERROR([slapd requires a backend]);
145 if test $ol_with_ldbm_api = gdbm -a \
146 $ol_with_ldbm_type = btree ; then
147 AC_MSG_ERROR([GDBM only supports LDBM type hash]);
149 if test $ol_with_ldbm_api = ndbm -a \
150 $ol_with_ldbm_type = btree ; then
151 AC_MSG_ERROR([NDBM only supports LDBM type hash]);
155 if test $ol_enable_slurpd = yes ; then
156 dnl SLURPD was specifically enabled
157 if test $ol_with_threads = no ; then
158 AC_MSG_ERROR([slurpd requires threads]);
189 dnl ----------------------------------------------------------------
190 dnl Checks for programs
193 AC_PROG_GCC_TRADITIONAL
200 AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
201 $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
202 AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
203 AC_PATH_PROG(FINGER, finger, /usr/ucb/finger, $PATH:/usr/ucb)
205 dnl ----------------------------------------------------------------
206 dnl Checks for libraries
208 AC_CHECK_FUNC(socket, :,
209 [ AC_CHECK_LIB(nsl, gethostname)
210 AC_CHECK_LIB(socket, socket)
211 AC_CHECK_LIB(inet, socket)
215 if test $ol_with_threads = auto -o $ol_with_threads = posix ; then
216 AC_CHECK_HEADERS(pthread.h sched.h)
218 if test "$ac_cv_header_pthread_h" = yes ; then
219 OL_POSIX_THREAD_VERSION
221 if test $ol_cv_pthread_version = final ; then
222 LTHREAD_DEFS="$LTHREAD_DEFS -DPOSIX_THREADS"
223 elif test $ol_cv_pthread_version = draft4 ; then
224 LTHREAD_DEFS="$LTHREAD_DEFS -DTHREAD_MIT_PTHREADS"
226 AC_MSG_ERROR([unknown pthread version])
229 # consider threads found
230 ol_with_threads=found
234 if test $ol_cv_linux_threads = yes ; then
235 dnl AC_DEFINE(HAVE_LINUX_THREADS,1)
236 LTHREAD_DEFS="$LTHREAD_DEFS -DHAVE_LINUX_THREADS"
239 dnl Now the hard part, how to link
241 dnl A few platforms have pthread support in standard libraries
242 AC_CHECK_FUNC(pthread_create,[ol_link_threads=yes])
244 if test $ol_link_threads = no ; then
246 AC_CACHE_CHECK([for pthread_create with -pthread],
247 [ol_cv_pthread_flag], [
248 dnl save the CPPFLAGS
250 LIBS="-pthread $LIBS"
251 AC_TRY_LINK([#include <pthread.h>],[
252 pthread_create((pthread_t*) 0,
253 (pthread_attr_t*) 0, 0, 0);
254 ], ol_cv_pthread_flag=yes, ol_cv_pthread_flag=no)
259 if test $ol_cv_pthread_flag = yes ; then
260 LTHREAD_LIBS="$LTHREAD_LIBS -pthread"
261 ol_link_threads=posix
265 if test $ol_link_threads = no ; then
268 AC_CHECK_LIB(pthread, pthread_create, [
269 ol_link_threads=posix
270 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread"])
274 if test $ol_link_threads = no ; then
277 AC_CHECK_LIB(c_r, pthread_create, [
278 ol_link_threads=posix
279 LTHREAD_LIBS="$LTHREAD_LIBS -lc_r"])
283 if test $ol_link_threads = no ; then
286 AC_CHECK_LIB(pthread, pthread_create, [
287 ol_link_threads=posix
288 LTHREAD_DEFS="$LTHREAD_DEFS -DDEC_THREADS"
289 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread -lmach -lexc -lc"],,
294 if test $ol_link_threads != no ; then
295 dnl All POSIX Thread (final) implementations should have
296 dnl sched_yield instead of pthread yield.
298 AC_CHECK_FUNCS(sched_yield pthread_yield)
300 if test $ac_cv_func_sched_yield = no -a \
301 $ac_cv_func_pthread_yield = no ; then
303 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
304 AC_MSG_ERROR([POSIX Threads are not usable])
307 AC_MSG_ERROR([could not link with POSIX Threads])
311 if test $ol_with_threads = posix ; then
312 AC_MSG_ERROR([could not locate POSIX Threads])
316 if test $ol_with_threads = manual ; then
317 dnl User thinks he can manually configure threads.
320 AC_MSG_WARN([thread defines and link options must be set manually])
322 AC_CHECK_HEADERS(pthread.h sched.h)
323 AC_CHECK_FUNCS(sched_yield pthread_yield)
327 if test $ol_link_threads = no ; then
328 if test $ol_with_threads = yes ; then
329 AC_MSG_ERROR([no suitable thread support])
332 if test $ol_with_threads = auto ; then
333 AC_MSG_WARN([no suitable thread support, disabling threads])
334 $ol_with_threads = no
337 LTHREAD_DEFS="-DNO_THREADS"
342 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db2 ; then
345 if test $ol_cv_berkeley_db2 = yes ; then
349 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DB2"
351 if test $ol_with_ldbm_type = hash ; then
352 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DBHASH"
354 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DBBTREE"
357 dnl $ol_cv_lib_db2 should be yes or -ldb
358 dnl (it could be no, but that would be an error
359 if test $ol_cv_lib_db2 != yes ; then
360 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db2"
365 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db ; then
368 if test $ol_cv_berkeley_db = yes ; then
372 if test $ac_cv_header_db_185_h = yes ; then
373 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DB2_COMPAT185"
376 if test $ol_with_ldbm_type = hash ; then
377 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DBHASH"
379 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DBBTREE"
382 dnl $ol_cv_lib_db should be yes or -ldb
383 dnl (it could be no, but that would be an error
384 if test $ol_cv_lib_db != yes ; then
385 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
390 if test $ol_with_ldbm_api = manual ; then
391 dnl User thinks he can manually configure LDBM api.
394 AC_MSG_WARN([LDBM defines and link options must be set manually])
396 AC_CHECK_HEADERS(db.h db_185.h gdbm.h ndbm.h)
399 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
400 AC_MSG_WARN(Could not find LDBM with BTREE support);
401 $ol_with_ldbm_api=none
404 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
407 if test $ol_cv_gdbm = yes ; then
409 ol_with_ldbm_api=gdbm
411 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_GDBM"
413 if test $ol_cv_lib_gdbm != yes ; then
414 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
419 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = ndbm ; then
422 if test $ol_cv_ndbm = yes ; then
424 ol_with_ldbm_api=ndbm
426 if test $ol_with_ldbm_api = ndbm ; then
427 AC_WARN([Attempting to use NDBM. Functionality will be limited.])
430 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_NDBM"
432 if test $ol_cv_lib_ndbm != yes ; then
433 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
438 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
439 AC_MSG_WARN(could not find suitable LDBM backend)
440 if test $ol_enable_ldbm = yes ; then
441 AC_MSG_ERROR(select appropriate LDBM options or disable)
444 AC_MSG_WARN(disabling LDBM)
448 if test $ol_enable_wrappers = yes ; then
449 AC_CHECK_LIB(wrap, hosts_access,
450 [have_wrappers=yes], [have_wrappers=no])
452 if test $have_wrappers = yes ; then
454 dnl AC_DEFINE(HAVE_TCPD)
455 SLAPD_DEFS="$SLAPD_DEFS -DTCP_WRAPPERS"
456 SLAPD_LIBS="$SLAPD_LIBS -lwrap"
458 AC_MSG_WARN(could not find -lwrap)
459 if test $ol_enable_wrappers = yes ; then
460 AC_MSG_ERROR(could not find wrappers, select appropriate options or disable)
463 AC_MSG_WARN(disabling wrappers support)
464 ol_enable_wrappers=no
469 # ud needs termcap (should insert check here)
475 AC_CHECK_HEADERS(termcap.h ncurses.h)
477 if test $ol_link_termcap = no ; then
478 AC_CHECK_LIB(termcap, tputs, [have_termcap=yes], [have_termcap=no])
479 if test $have_termcap = yes ; then
481 TERMCAP_LIBS=-ltermcap
485 if test $ol_link_termcap = no ; then
486 AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
487 if test $have_ncurses = yes ; then
489 TERMCAP_LIBS=-lncurses
493 if test $ol_link_termcap = no ; then
494 TERMCAP_DEFS="-DNOTERMCAP"
498 AC_SUBST(TERMCAP_DEFS)
499 AC_SUBST(TERMCAP_LIBS)
501 # FreeBSD (and others) have crypt(3) in -lcrypt
502 if test $ol_enable_crypt != no ; then
503 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
504 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
505 have_crypt=yes], [have_crypt=no])])
507 if test $have_crypt = yes ; then
508 dnl AC_DEFINE(SLAPD_CRYPT,1)
509 LUTIL_DEFS="$LUTIL_DEFS -DLDAP_CRYPT"
511 AC_MSG_WARN(could not find crypt)
512 if test $ol_enable_crypt = yes ; then
513 AC_MSG_ERROR(could not find crypt, select appropriate options or disable)
516 AC_MSG_WARN(disabling crypt support)
521 dnl ----------------------------------------------------------------
522 dnl Checks for header files.
540 dnl ----------------------------------------------------------------
541 dnl Checks for typedefs, structures, and compiler characteristics.
556 dnl ----------------------------------------------------------------
557 dnl Checks for library functions.
580 AC_REPLACE_FUNCS(strdup)
582 dnl ----------------------------------------------------------------
583 # Check Configuration
586 dnl ----------------------------------------------------------------
589 if test $ol_enable_debug != no ; then
590 LDAP_DEFS="$LDAP_DEFS -DLDAP_DEBUG"
592 dnl if test $ol_enable_syslog != no ; then
593 dnl LDAP_DEFS="$LDAP_DEFS -DLDAP_SYSLOG"
595 if test $ol_enable_libui = no ; then
596 LDAP_DEFS="$LDAP_DEFS -DNO_USERINTERFACE"
598 if test $ol_enable_cache = no ; then
599 LDAP_DEFS="$LDAP_DEFS -DNO_CACHE"
601 if test $ol_enable_dns != no ; then
602 LDAP_DEFS="$LDAP_DEFS -DLDAP_DNS"
604 if test $ol_enable_referrals != no ; then
605 LDAP_DEFS="$LDAP_DEFS -DLDAP_REFERRALS"
607 if test $ol_enable_cldap != no ; then
608 LDAP_DEFS="$LDAP_DEFS -DCLDAP"
611 if test $ol_enable_aclgroup != no ; then
612 AC_DEFINE(SLAPD_ACLGROUP,1)
613 SLAPD_DEFS="$SLAPD_DEFS -DACLGROUP"
616 if test $ol_enable_md5 != no ; then
617 dnl AC_DEFINE(SLAPD_MD5,1)
618 LUTIL_DEFS="$LUTIL_DEFS -DLDAP_MD5"
621 if test $ol_enable_sha1 != no ; then
622 dnl AC_DEFINE(SLAPD_SHA1,1)
623 LUTIL_DEFS="$LUTIL_DEFS -DLDAP_SHA1"
626 if test $ol_enable_phonetic != no ; then
627 AC_DEFINE(SLAPD_PHONETIC,1)
628 SLAPD_DEFS="$SLAPD_DEFS -DSOUNDEX"
631 if test $ol_enable_rlookups != no ; then
632 AC_DEFINE(SLAPD_RLOOKUPS,1)
633 SLAPD_DEFS="$SLAPD_DEFS -DREVERSE_LOOKUPS"
636 if test $ol_link_ldbm != no ; then
637 dnl AC_DEFINE(SLAPD_LDBM,1)
640 LDBM_DEFS="-DLDAP_LDBM $LDBM_DEFS"
643 if test $ol_enable_passwd != no ; then
644 dnl AC_DEFINE(SLAPD_PASSWD,1)
647 SLAPD_DEFS="-DLDAP_PASSWD $SLAPD_DEFS"
650 if test $ol_enable_shell != no ; then
651 dnl AC_DEFINE(SLAPD_SHELL,1)
654 SLAPD_DEFS="-DLDAP_SHELL $SLAPD_DEFS"
657 if test $ol_enable_slurpd != no -a $ol_link_threads != no -a \
658 $BUILD_SLAPD = yes ; then
662 dnl ----------------------------------------------------------------
664 AC_SUBST(BUILD_LDAPD)
665 AC_SUBST(BUILD_SLAPD)
667 AC_SUBST(BUILD_PASSWD)
668 AC_SUBST(BUILD_SHELL)
669 AC_SUBST(BUILD_SLURPD)
678 AC_SUBST(SLURPD_DEFS)
679 AC_SUBST(SLURPD_LIBS)
682 AC_SUBST(LTHREAD_DEFS)
683 AC_SUBST(LTHREAD_LIBS)
687 dnl ----------------------------------------------------------------
692 dnl contrib/Makefile:build/top.mk:contrib/Makefile.in:build/dir.mk \
693 dnl contrib/saucer/Makefile:build/top.mk:contrib/saucer/Makefile.in:build/rules.mk \
694 dnl contrib/whois++/Makefile:build/top.mk:contrib/whois++/Makefile.in:build/rules.mk \
695 dnl [date > stamp-h])
698 Makefile:build/top.mk:Makefile.in:build/dir.mk \
699 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
700 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
701 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
702 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
703 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
704 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
705 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
706 clients/finger/Makefile:build/top.mk:clients/finger/Makefile.in:build/rules.mk \
707 clients/fax500/Makefile:build/top.mk:clients/fax500/Makefile.in:build/rules.mk \
708 clients/gopher/Makefile:build/top.mk:clients/gopher/Makefile.in:build/rules.mk \
709 clients/mail500/Makefile:build/top.mk:clients/mail500/Makefile.in:build/rules.mk \
710 clients/rcpt500/Makefile:build/top.mk:clients/rcpt500/Makefile.in:build/rules.mk \
711 clients/ud/Makefile:build/top.mk:clients/ud/Makefile.in:build/rules.mk \
712 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
713 include/Makefile:build/top.mk:include/Makefile.in \
714 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
715 libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk \
716 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk \
717 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk \
718 libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk \
719 libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk \
720 libraries/liblthread/Makefile:build/top.mk:libraries/liblthread/Makefile.in:build/lib.mk \
721 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk \
722 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
723 servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
724 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
725 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/srv.mk \
726 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/srv.mk \
727 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/srv.mk \
728 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
729 servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
730 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
731 tests/Makefile:build/top.mk:tests/Makefile.in \