1 dnl Process this file with autoconf to produce a configure script.
3 AC_INIT([linux nfs-utils],[1.2.3],[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 [ --with-statedir=/foo use state dir /foo [/var/lib/nfs]],
23 statedir=/var/lib/nfs)
25 AC_ARG_WITH(statduser,
26 [AC_HELP_STRING([--with-statduser=rpcuser],
27 [statd to run under @<:@rpcuser or nobody@:>@]
30 if test "x$cross_compiling" = "xno"; then
31 if grep -s '^rpcuser:' /etc/passwd > /dev/null; then
40 AC_ARG_WITH(start-statd,
41 [AC_HELP_STRING([--with-start-statd=scriptname],
42 [When an nfs filesystems is mounted with locking, run this script]
45 startstatd=/usr/sbin/start-statd
48 AC_DEFINE_UNQUOTED(START_STATD, "$startstatd", [Define this to a script which can start statd on mount])
50 [AC_HELP_STRING([--enable-nfsv3],
51 [enable support for NFSv3 @<:@default=yes@:>@])],
52 enable_nfsv3=$enableval,
54 if test "$enable_nfsv3" = yes; then
55 AC_DEFINE(NFS3_SUPPORTED, 1, [Define this if you want NFSv3 support compiled in])
59 AC_SUBST(enable_nfsv3)
61 [AC_HELP_STRING([--enable-nfsv4],
62 [enable support for NFSv4 @<:@default=yes@:>@])],
63 enable_nfsv4=$enableval,
65 if test "$enable_nfsv4" = yes; then
66 AC_DEFINE(NFS4_SUPPORTED, 1, [Define this if you want NFSv4 support compiled in])
73 AC_SUBST(enable_nfsv4)
74 AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"])
77 [AC_HELP_STRING([--enable-nfsv41],
78 [enable support for NFSv41 @<:@default=no@:>@])],
79 enable_nfsv41=$enableval,
81 if test "$enable_nfsv41" = yes; then
82 AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in])
86 AC_SUBST(enable_nfsv41)
87 AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"])
90 [AC_HELP_STRING([--enable-gss],
91 [enable support for rpcsec_gss @<:@default=yes@:>@])],
92 enable_gss=$enableval,
94 if test "$enable_gss" = yes; then
95 AC_DEFINE(GSS_SUPPORTED, 1, [Define this if you want rpcsec_gss support compiled in])
106 AM_CONDITIONAL(CONFIG_GSS, [test "$enable_gss" = "yes"])
107 AC_ARG_ENABLE(kprefix,
108 [AC_HELP_STRING([--enable-kprefix], [install progs as rpc.knfsd etc])],
109 test "$enableval" = "yes" && kprefix=k,
113 [AC_HELP_STRING([--with-rpcgen=internal], [use internal rpcgen instead of system one])],
114 rpcgen_path=$withval,
117 if test "$rpcgen_path" == "yes"; then
118 for p in /usr/local/bin/rpcgen /usr/bin/rpcgen /bin/rpcgen
119 do if test -f $p ; then RPCGEN_PATH=$p ; break; fi ; done
120 elif test "$rpcgen_path" != "internal"; then
121 RPCGEN_PATH=$rpcgen_path
123 AC_SUBST(RPCGEN_PATH)
124 AM_CONDITIONAL(CONFIG_RPCGEN, [test "$RPCGEN_PATH" == ""])
126 [AC_HELP_STRING([--disable-uuid], [Exclude uuid support to avoid buggy libblkid])],
127 if test "$enableval" = "yes" ; then choose_blkid=yes; else choose_blkid=no; fi,
128 choose_blkid=default)
130 [AC_HELP_STRING([--enable-mount],
131 [Create mount.nfs and don't use the util-linux mount(8) functionality. @<:@default=yes@:>@])],
132 enable_mount=$enableval,
134 AM_CONDITIONAL(CONFIG_MOUNT, [test "$enable_mount" = "yes"])
136 [AC_HELP_STRING([--enable-tirpc],
137 [enable use of TI-RPC @<:@default=yes@:>@])],
138 enable_tirpc=$enableval,
141 [AC_HELP_STRING([--enable-ipv6],
142 [enable support for IPv6 @<:@default=no@:>@])],
143 enable_ipv6=$enableval,
145 if test "$enable_ipv6" = yes; then
146 AC_DEFINE(IPV6_SUPPORTED, 1, [Define this if you want IPv6 support compiled in])
150 AC_SUBST(enable_ipv6)
151 AM_CONDITIONAL(CONFIG_IPV6, [test "$enable_ipv6" = "yes"])
153 if test "$enable_mount" = yes; then
154 AC_ARG_ENABLE(mountconfig,
155 [AC_HELP_STRING([--enable-mountconfig],
156 [enable mount to use a configuration file])],
157 mountconfig=$enableval,
159 if test "$enable_mountconfig" = yes; then
160 AC_DEFINE(MOUNT_CONFIG, 1,
161 [Define this if you want mount to read a configuration file])
162 AC_ARG_WITH(mountfile,
163 [AC_HELP_STRING([--with-mountfile=filename],
164 [Using filename as the NFS mount options file [/etc/nfsmounts.conf]]
167 mountfile=/etc/nfsmount.conf)
169 AC_DEFINE_UNQUOTED(MOUNTOPTS_CONFFILE, "$mountfile",
170 [This defines the location of the NFS mount configuration file])
174 AC_SUBST(enable_mountconfig)
175 AM_CONDITIONAL(MOUNT_CONFIG, [test "$enable_mountconfig" = "yes"])
177 AM_CONDITIONAL(MOUNT_CONFIG, [test "$enable_mount" = "yes"])
180 dnl Check for TI-RPC library and headers
186 # Check whether user wants TCP wrappers support
189 # Arrange for large-file support
192 AC_CONFIG_SRCDIR([support/include/config.h.in])
193 AC_CONFIG_HEADERS([support/include/config.h])
195 # Checks for programs.
205 if test "x$cross_compiling" = "xno"; then
206 CC_FOR_BUILD=${CC_FOR_BUILD-${CC-gcc}}
208 CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
211 AC_SUBST(CC_FOR_BUILD)
213 AC_CHECK_TOOL(AR, ar)
214 AC_CHECK_TOOL(LD, ld)
220 dnl *************************************************************
221 dnl * Check for required libraries
222 dnl *************************************************************
224 AC_CHECK_FUNC([gethostbyname], ,
225 [AC_CHECK_LIB([nsl], [gethostbyname], [LIBNSL="-lnsl"])])
228 AC_CHECK_FUNC([connect], ,
229 [AC_CHECK_LIB([socket], [connect], [LIBSOCKET="-lsocket"],
230 [AC_MSG_ERROR([Function 'socket' not found.])], [$LIBNSL])])
232 AC_CHECK_FUNC([getaddrinfo], ,
233 [AC_MSG_ERROR([Function 'getaddrinfo' not found.])])
235 AC_CHECK_FUNC([getrpcbynumber], ,
236 [AC_MSG_ERROR([Function 'getrpcbynumber' not found.])])
238 AC_CHECK_FUNC([getservbyname], ,
239 [AC_MSG_ERROR([Function 'getservbyname' not found.])])
241 AC_CHECK_LIB([crypt], [crypt], [LIBCRYPT="-lcrypt"])
243 if test "$enable_nfsv4" = yes; then
244 dnl check for libevent libraries and headers
247 dnl check for nfsidmap libraries and headers
250 dnl check for the keyutils libraries and headers
253 dnl librpcsecgss already has a dependency on libgssapi,
254 dnl but we need to make sure we get the right version
255 if test "$enable_gss" = yes; then
260 if test "$knfsd_cv_glibc2" = no; then
261 AC_CHECK_LIB(bsd, daemon, [LIBBSD="-lbsd"])
264 if test "$choose_blkid" != no; then
265 AC_CHECK_LIB(blkid, blkid_get_library_version, [LIBBLKID="-lblkid"], AC_MSG_ERROR([libblkid needed]))
266 AC_CHECK_HEADER(blkid/blkid.h, , AC_MSG_ERROR([Cannot find libblkid header file blkid/blkid.h]))
268 if test $choose_blkid = yes; then
270 test $libblkid_cv_is_recent = no && AC_MSG_WARN([libblkid is old and may cause mountd to leak memory])
272 if test $libblkid_cv_is_recent = yes
275 AC_MSG_WARN([uuid support disabled as libblkid is too old])
278 AC_DEFINE_UNQUOTED(USE_BLKID, $use_blkid, [Define if you want to use blkid to find uuid of filesystems])
285 if test "$enable_gss" = yes; then
286 dnl 'gss' requires getnameinfo - at least for gssd_proc.c
287 AC_CHECK_FUNC([getnameinfo], , [AC_MSG_ERROR([GSSAPI support requires 'getnameinfo' function])])
289 dnl 'gss' also depends on nfsidmap.h - at least for svcgssd_proc.c
292 AC_CHECK_HEADERS([spkm3.h], ,
293 [AC_MSG_WARN([Could not locate SPKM3 header; will not have SPKM3 support])])
295 dnl Check for Kerberos V5
298 dnl Invoked after AC_KERBEROS_V5; AC_LIBRPCSECGSS needs to have KRBLIBS set
303 dnl Check for IPv6 support
306 dnl *************************************************************
307 dnl Check for headers
308 dnl *************************************************************
309 AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h \
310 malloc.h memory.h netdb.h netinet/in.h paths.h \
311 stdlib.h string.h sys/file.h sys/ioctl.h sys/mount.h \
312 sys/param.h sys/socket.h sys/time.h sys/vfs.h \
313 syslog.h unistd.h com_err.h et/com_err.h \
316 dnl *************************************************************
317 dnl Checks for typedefs, structures, and compiler characteristics
318 dnl *************************************************************
328 dnl *************************************************************
329 dnl Check for functions
330 dnl *************************************************************
332 AC_FUNC_CLOSEDIR_VOID
333 AC_FUNC_ERROR_AT_LINE
337 AC_PROG_GCC_TRADITIONAL
339 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
344 AC_FUNC_SELECT_ARGTYPES
348 AC_CHECK_FUNCS([alarm atexit dup2 fdatasync ftruncate getcwd \
349 gethostbyaddr gethostbyname gethostname getmntent \
350 getnameinfo getrpcbyname getifaddrs \
351 gettimeofday hasmntopt inet_ntoa innetgr memset mkdir pathconf \
352 realpath rmdir select socket strcasecmp strchr strdup \
353 strerror strrchr strtol strtoul sigprocmask])
356 dnl *************************************************************
357 dnl Check for data sizes
358 dnl *************************************************************
359 AC_CHECK_SIZEOF(short)
361 AC_CHECK_SIZEOF(long)
362 AC_CHECK_SIZEOF(size_t)
363 AC_CHECK_SIZEOF(socklen_t)
366 dnl *************************************************************
367 dnl Export some path names to config.h
368 dnl *************************************************************
369 AC_DEFINE_UNQUOTED(NFS_STATEDIR, "$statedir", [This defines the location of the NFS state files. Warning: this must match definitions in config.mk!])
371 if test "x$cross_compiling" = "xno"; then
372 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-"$CFLAGS"}
373 CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-"$CXXFLAGS"}
374 CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
375 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-"$LDFLAGS"}
377 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-""}
378 CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-""}
379 CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
380 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
388 AC_SUBST(CFLAGS_FOR_BUILD)
389 AC_SUBST(CXXFLAGS_FOR_BUILD)
390 AC_SUBST(CPPFLAGS_FOR_BUILD)
391 AC_SUBST(LDFLAGS_FOR_BUILD)
393 dnl *************************************************************
394 dnl Set up "global" CFLAGS
395 dnl *************************************************************
396 dnl Use architecture-specific compile flags
397 dnl (We use $host and not $build in case we are cross-compiling)
398 dnl *************************************************************
399 dnl Note: we no longer have arch specific compile flags, but
400 dnl the stub is left here in case they are needed one day.
406 my_am_cflags="-Wall -Wextra -Wstrict-prototypes $ARCHFLAGS -pipe"
408 AC_SUBST([AM_CFLAGS], ["$my_am_cflags"])
410 # Make sure that $ACLOCAL_FLAGS are used during a rebuild
411 AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"])
417 support/export/Makefile
418 support/include/nfs/Makefile
419 support/include/rpcsvc/Makefile
420 support/include/sys/fs/Makefile
421 support/include/sys/Makefile
422 support/include/Makefile
423 support/misc/Makefile
427 tools/locktest/Makefile
428 tools/nlmtest/Makefile
429 tools/rpcdebug/Makefile
430 tools/rpcgen/Makefile
431 tools/mountstats/Makefile
432 tools/nfs-iostat/Makefile
434 utils/exportfs/Makefile
436 utils/idmapd/Makefile
438 utils/mountd/Makefile
440 utils/nfsstat/Makefile
441 utils/nfsidmap/Makefile
442 utils/showmount/Makefile
445 tests/nsm_client/Makefile])