1 dnl Process this file with autoconf to produce a configure script.
3 AC_INIT([linux nfs-utils],[1.2.4],[linux-nfs@vger.kernel.org],[nfs-utils])
6 AC_CONFIG_MACRO_DIR(aclocal)
9 AC_PREFIX_DEFAULT(/usr)
12 dnl *************************************************************
13 dnl * Define the set of applicable options
14 dnl *************************************************************
16 [AC_HELP_STRING([--with-release=XXX], [set release to XXX [1]])],
21 [AC_HELP_STRING([--with-statedir=/foo],
22 [use state dir /foo @<:@default=/var/lib/nfs@:>@])],
24 statedir=/var/lib/nfs)
26 AC_ARG_WITH(statdpath,
27 [AC_HELP_STRING([--with-statdpath=/foo @<:@default=/var/lib/nfs@:>@],
28 [define statd's state dir as /foo instead of the NFS statedir]
34 AC_ARG_WITH(statduser,
35 [AC_HELP_STRING([--with-statduser=rpcuser],
36 [statd to run under @<:@rpcuser or nobody@:>@]
39 if test "x$cross_compiling" = "xno"; then
40 if grep -s '^rpcuser:' /etc/passwd > /dev/null; then
49 AC_ARG_WITH(start-statd,
50 [AC_HELP_STRING([--with-start-statd=scriptname],
51 [When an nfs filesystems is mounted with locking, run this script]
54 startstatd=/usr/sbin/start-statd
57 AC_DEFINE_UNQUOTED(START_STATD, "$startstatd", [Define this to a script which can start statd on mount])
59 [AC_HELP_STRING([--enable-nfsv4],
60 [enable support for NFSv4 @<:@default=yes@:>@])],
61 enable_nfsv4=$enableval,
63 if test "$enable_nfsv4" = yes; then
70 AC_SUBST(enable_nfsv4)
71 AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"])
74 [AC_HELP_STRING([--enable-nfsv41],
75 [enable support for NFSv41 @<:@default=yes@:>@])],
76 enable_nfsv41=$enableval,
78 if test "$enable_nfsv41" = yes; then
84 AC_SUBST(enable_nfsv41)
85 AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"])
88 [AC_HELP_STRING([--enable-gss],
89 [enable support for rpcsec_gss @<:@default=yes@:>@])],
90 enable_gss=$enableval,
92 if test "$enable_gss" = yes; then
103 AM_CONDITIONAL(CONFIG_GSS, [test "$enable_gss" = "yes"])
104 AC_ARG_ENABLE(kprefix,
105 [AC_HELP_STRING([--enable-kprefix], [install progs as rpc.knfsd etc])],
106 test "$enableval" = "yes" && kprefix=k,
110 [AC_HELP_STRING([--with-rpcgen=internal], [use internal rpcgen instead of system one])],
111 rpcgen_path=$withval,
114 if test "$rpcgen_path" = "yes"; then
115 for p in /usr/local/bin/rpcgen /usr/bin/rpcgen /bin/rpcgen
116 do if test -f $p ; then RPCGEN_PATH=$p ; break; fi ; done
117 elif test "$rpcgen_path" != "internal"; then
118 RPCGEN_PATH=$rpcgen_path
120 AC_SUBST(RPCGEN_PATH)
121 AM_CONDITIONAL(CONFIG_RPCGEN, [test "$RPCGEN_PATH" = ""])
123 [AC_HELP_STRING([--disable-uuid], [Exclude uuid support to avoid buggy libblkid])],
124 if test "$enableval" = "yes" ; then choose_blkid=yes; else choose_blkid=no; fi,
125 choose_blkid=default)
127 [AC_HELP_STRING([--enable-mount],
128 [Create mount.nfs and do not use the util-linux mount(8) functionality. @<:@default=yes@:>@])],
129 enable_mount=$enableval,
131 AM_CONDITIONAL(CONFIG_MOUNT, [test "$enable_mount" = "yes"])
133 if test "$enable_mount" = yes; then
134 AC_ARG_ENABLE(libmount-mount,
135 [AC_HELP_STRING([--enable-libmount-mount],
136 [Link mount.nfs with libmount (EXPERIMENTAL)])],
137 enable_libmount=$enableval,
142 [AC_HELP_STRING([--enable-tirpc],
143 [enable use of TI-RPC @<:@default=yes@:>@])],
144 enable_tirpc=$enableval,
147 [AC_HELP_STRING([--enable-ipv6],
148 [enable support for IPv6 @<:@default=no@:>@])],
149 enable_ipv6=$enableval,
151 if test "$enable_ipv6" = yes; then
152 AC_DEFINE(IPV6_SUPPORTED, 1, [Define this if you want IPv6 support compiled in])
156 AC_SUBST(enable_ipv6)
157 AM_CONDITIONAL(CONFIG_IPV6, [test "$enable_ipv6" = "yes"])
159 if test "$enable_mount" = yes; then
160 AC_ARG_ENABLE(mountconfig,
161 [AC_HELP_STRING([--enable-mountconfig],
162 [enable mount to use a configuration file])],
163 mountconfig=$enableval,
165 if test "$enable_mountconfig" = yes; then
166 AC_DEFINE(MOUNT_CONFIG, 1,
167 [Define this if you want mount to read a configuration file])
168 AC_ARG_WITH(mountfile,
169 [AC_HELP_STRING([--with-mountfile=filename],
170 [Using filename as the NFS mount options file [/etc/nfsmounts.conf]]
173 mountfile=/etc/nfsmount.conf)
175 AC_DEFINE_UNQUOTED(MOUNTOPTS_CONFFILE, "$mountfile",
176 [This defines the location of the NFS mount configuration file])
180 AC_SUBST(enable_mountconfig)
181 AM_CONDITIONAL(MOUNT_CONFIG, [test "$enable_mountconfig" = "yes"])
183 AM_CONDITIONAL(MOUNT_CONFIG, [test "$enable_mount" = "yes"])
186 dnl Check for TI-RPC library and headers
192 # Check whether user wants TCP wrappers support
195 # Arrange for large-file support
198 AC_CONFIG_SRCDIR([support/include/config.h.in])
199 AC_CONFIG_HEADERS([support/include/config.h])
201 # Checks for programs.
211 if test "x$cross_compiling" = "xno"; then
212 CC_FOR_BUILD=${CC_FOR_BUILD-${CC-gcc}}
214 CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
217 AC_SUBST(CC_FOR_BUILD)
219 AC_CHECK_TOOL(AR, ar)
220 AC_CHECK_TOOL(LD, ld)
226 dnl *************************************************************
227 dnl * Check for required libraries
228 dnl *************************************************************
230 AC_CHECK_FUNC([gethostbyname], ,
231 [AC_CHECK_LIB([nsl], [gethostbyname], [LIBNSL="-lnsl"])])
234 AC_CHECK_FUNC([connect], ,
235 [AC_CHECK_LIB([socket], [connect], [LIBSOCKET="-lsocket"],
236 [AC_MSG_ERROR([Function 'socket' not found.])], [$LIBNSL])])
238 AC_CHECK_FUNC([getaddrinfo], ,
239 [AC_MSG_ERROR([Function 'getaddrinfo' not found.])])
241 AC_CHECK_FUNC([getrpcbynumber], ,
242 [AC_MSG_ERROR([Function 'getrpcbynumber' not found.])])
244 AC_CHECK_FUNC([getservbyname], ,
245 [AC_MSG_ERROR([Function 'getservbyname' not found.])])
247 AC_CHECK_LIB([crypt], [crypt], [LIBCRYPT="-lcrypt"])
249 if test "$enable_nfsv4" = yes; then
250 dnl check for libevent libraries and headers
253 dnl check for nfsidmap libraries and headers
256 dnl check for the keyutils libraries and headers
259 dnl librpcsecgss already has a dependency on libgssapi,
260 dnl but we need to make sure we get the right version
261 if test "$enable_gss" = yes; then
265 dnl enable nfsidmap when its support by libnfsidmap
266 AM_CONDITIONAL(CONFIG_NFSIDMAP, [test "$ac_cv_header_keyutils_h$ac_cv_lib_nfsidmap_nfs4_owner_to_uid" = "yesyes"])
269 if test "$knfsd_cv_glibc2" = no; then
270 AC_CHECK_LIB(bsd, daemon, [LIBBSD="-lbsd"])
273 if test "$choose_blkid" != no; then
274 AC_CHECK_LIB(blkid, blkid_get_library_version, [LIBBLKID="-lblkid"], AC_MSG_ERROR([libblkid needed]))
275 AC_CHECK_HEADER(blkid/blkid.h, , AC_MSG_ERROR([Cannot find libblkid header file blkid/blkid.h]))
277 if test $choose_blkid = yes; then
279 test $libblkid_cv_is_recent = no && AC_MSG_WARN([libblkid is old and may cause mountd to leak memory])
281 if test $libblkid_cv_is_recent = yes
284 AC_MSG_WARN([uuid support disabled as libblkid is too old])
287 AC_DEFINE_UNQUOTED(USE_BLKID, $use_blkid, [Define if you want to use blkid to find uuid of filesystems])
294 if test "$enable_libmount" != no; then
295 AC_CHECK_LIB(mount, mnt_context_do_mount, [LIBMOUNT="-lmount"], AC_MSG_ERROR([libmount needed]))
296 AC_CHECK_HEADER(libmount/libmount.h, , AC_MSG_ERROR([Cannot find libmount header file libmount/libmount.h]))
298 AM_CONDITIONAL(CONFIG_LIBMOUNT, [test "$enable_libmount" = "yes"])
301 if test "$enable_gss" = yes; then
302 dnl 'gss' requires getnameinfo - at least for gssd_proc.c
303 AC_CHECK_FUNC([getnameinfo], , [AC_MSG_ERROR([GSSAPI support requires 'getnameinfo' function])])
305 dnl 'gss' also depends on nfsidmap.h - at least for svcgssd_proc.c
308 AC_CHECK_HEADERS([spkm3.h], ,
309 [AC_MSG_WARN([Could not locate SPKM3 header; will not have SPKM3 support])])
311 dnl Check for Kerberos V5
314 dnl Invoked after AC_KERBEROS_V5; AC_LIBRPCSECGSS needs to have KRBLIBS set
319 dnl Check for IPv6 support
322 dnl *************************************************************
323 dnl Check for headers
324 dnl *************************************************************
325 AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h \
326 malloc.h memory.h netdb.h netinet/in.h paths.h \
327 stdlib.h string.h sys/file.h sys/ioctl.h sys/mount.h \
328 sys/param.h sys/socket.h sys/time.h sys/vfs.h \
329 syslog.h unistd.h com_err.h et/com_err.h \
332 dnl *************************************************************
333 dnl Checks for typedefs, structures, and compiler characteristics
334 dnl *************************************************************
344 dnl *************************************************************
345 dnl Check for functions
346 dnl *************************************************************
348 AC_FUNC_CLOSEDIR_VOID
349 AC_FUNC_ERROR_AT_LINE
353 AC_PROG_GCC_TRADITIONAL
355 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
360 AC_FUNC_SELECT_ARGTYPES
364 AC_CHECK_FUNCS([alarm atexit dup2 fdatasync ftruncate getcwd \
365 gethostbyaddr gethostbyname gethostname getmntent \
366 getnameinfo getrpcbyname getifaddrs \
367 gettimeofday hasmntopt inet_ntoa innetgr memset mkdir pathconf \
368 realpath rmdir select socket strcasecmp strchr strdup \
369 strerror strrchr strtol strtoul sigprocmask])
372 dnl *************************************************************
373 dnl Check for data sizes
374 dnl *************************************************************
375 AC_CHECK_SIZEOF(short)
377 AC_CHECK_SIZEOF(long)
378 AC_CHECK_SIZEOF(size_t)
379 AC_CHECK_SIZEOF(socklen_t)
382 dnl *************************************************************
383 dnl Export some path names to config.h
384 dnl *************************************************************
385 AC_DEFINE_UNQUOTED(NFS_STATEDIR, "$statedir", [This defines the location of the NFS state files. Warning: this must match definitions in config.mk!])
386 AC_DEFINE_UNQUOTED(NSM_DEFAULT_STATEDIR, "$statdpath", [Define this to the pathname where statd keeps its state file])
388 if test "x$cross_compiling" = "xno"; then
389 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-"$CFLAGS"}
390 CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-"$CXXFLAGS"}
391 CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
392 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-"$LDFLAGS"}
394 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-""}
395 CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-""}
396 CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
397 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
405 AC_SUBST(CFLAGS_FOR_BUILD)
406 AC_SUBST(CXXFLAGS_FOR_BUILD)
407 AC_SUBST(CPPFLAGS_FOR_BUILD)
408 AC_SUBST(LDFLAGS_FOR_BUILD)
410 dnl *************************************************************
411 dnl Set up "global" CFLAGS
412 dnl *************************************************************
413 dnl Use architecture-specific compile flags
414 dnl (We use $host and not $build in case we are cross-compiling)
415 dnl *************************************************************
416 dnl Note: we no longer have arch specific compile flags, but
417 dnl the stub is left here in case they are needed one day.
423 my_am_cflags="-Wall -Wextra -Wstrict-prototypes $ARCHFLAGS -pipe"
425 AC_SUBST([AM_CFLAGS], ["$my_am_cflags"])
427 # Make sure that $ACLOCAL_FLAGS are used during a rebuild
428 AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"])
434 support/export/Makefile
435 support/include/nfs/Makefile
436 support/include/rpcsvc/Makefile
437 support/include/sys/fs/Makefile
438 support/include/sys/Makefile
439 support/include/Makefile
440 support/misc/Makefile
444 tools/locktest/Makefile
445 tools/nlmtest/Makefile
446 tools/rpcdebug/Makefile
447 tools/rpcgen/Makefile
448 tools/mountstats/Makefile
449 tools/nfs-iostat/Makefile
451 utils/blkmapd/Makefile
452 utils/exportfs/Makefile
454 utils/idmapd/Makefile
456 utils/mountd/Makefile
458 utils/nfsstat/Makefile
459 utils/nfsidmap/Makefile
460 utils/showmount/Makefile
463 tests/nsm_client/Makefile])