3 changed files with 1 additions and 959 deletions
@ -1,957 +0,0 @@ |
|||
From ee78fb48444fe96213e9fcab6b579cf3d47136fd Mon Sep 17 00:00:00 2001 |
|||
From: Waldemar Brodkorb <wbx@openadk.org> |
|||
Date: Tue, 27 Jun 2017 18:11:56 +0200 |
|||
Subject: [PATCH] use pkg-config to search for libtirpc to fix |
|||
cross-compilation |
|||
|
|||
When trying to cross-compile autofs for example with a buildsystem |
|||
like buildroot, the compilation fails in case the user wants to use |
|||
libtirpc library as RPC implementation. A hard coded include path |
|||
in aclocal.m4 is used. Other opensource software like rpcbind or |
|||
nfs-utils are suing autotools pkgconfig infrastructure to find |
|||
the libtirpc headers and to pass the correct linker flags. |
|||
|
|||
Convert configure.in to use PKG_CHECK_MODULES and remove the |
|||
hand written autoconf macros from aclocal.m4. Move aclocal.m4 |
|||
to m4 directory, so that autoconf does not skip global |
|||
directories, otherwise pkg.m4 (pkg-config macros) are not found. |
|||
|
|||
This fixes cross-compilation of autofs and allows to use |
|||
alternative C libraries as uClibc-ng without internal RPC |
|||
support to be used in cross-compiling environments. |
|||
|
|||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> |
|||
---
|
|||
Makefile.conf.in | 3 +- |
|||
Makefile.rules | 2 +- |
|||
aclocal.m4 | 449 ---------------------------------------------------- |
|||
configure.in | 14 +- |
|||
m4/autofs-macros.m4 | 401 ++++++++++++++++++++++++++++++++++++++++++++++ |
|||
5 files changed, 416 insertions(+), 453 deletions(-) |
|||
delete mode 100644 aclocal.m4 |
|||
create mode 100644 m4/autofs-macros.m4 |
|||
|
|||
diff --git a/Makefile.conf.in b/Makefile.conf.in
|
|||
index 2bc3202..f879e26 100644
|
|||
--- a/Makefile.conf.in
|
|||
+++ b/Makefile.conf.in
|
|||
@@ -64,7 +64,8 @@ RPCGEN = @PATH_RPCGEN@
|
|||
RANLIB = @PATH_RANLIB@ |
|||
|
|||
# Use libtirpc if requested and available |
|||
-TIRPCLIB = @TIRPCLIB@
|
|||
+TIRPCLIB = @TIRPC_LIBS@
|
|||
+TIRPCCFLAGS = @TIRPC_CFLAGS@
|
|||
|
|||
# Use dmalloc for memory debuging |
|||
DMALLOCLIB = @DMALLOCLIB@ |
|||
diff --git a/Makefile.rules b/Makefile.rules
|
|||
index 7d1af2e..0edf9bf 100644
|
|||
--- a/Makefile.rules
|
|||
+++ b/Makefile.rules
|
|||
@@ -46,7 +46,7 @@ CFLAGS += -D_REENTRANT -D_FILE_OFFSET_BITS=64
|
|||
LIBS += -lpthread |
|||
|
|||
ifdef TIRPCLIB |
|||
-CFLAGS += -I/usr/include/tirpc
|
|||
+CFLAGS += $(TIRPCCFLAGS)
|
|||
LIBS += $(TIRPCLIB) |
|||
endif |
|||
|
|||
diff --git a/aclocal.m4 b/aclocal.m4
|
|||
deleted file mode 100644 |
|||
index 00811e0..0000000
|
|||
--- a/aclocal.m4
|
|||
+++ /dev/null
|
|||
@@ -1,449 +0,0 @@
|
|||
-dnl
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_PATH_INCLUDE:
|
|||
-dnl
|
|||
-dnl Like AC_PATH_PROGS, but add to the .h file as well
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_PATH_INCLUDE,
|
|||
-[AC_PATH_PROGS($1,$2,$3,$4)
|
|||
-if test -n "$$1"; then
|
|||
- AC_DEFINE(HAVE_$1,1,[define if you have $1])
|
|||
- AC_DEFINE_UNQUOTED(PATH_$1, "$$1", [define if you have $1])
|
|||
- HAVE_$1=1
|
|||
-else
|
|||
- HAVE_$1=0
|
|||
-fi
|
|||
-AC_SUBST(HAVE_$1)])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_CHECK_PROG:
|
|||
-dnl
|
|||
-dnl Like AC_CHECK_PROG, but fail configure if not found
|
|||
-dnl and only define PATH_<name> variable
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_CHECK_PROG,
|
|||
-[AC_PATH_PROGS($1,$2,$3,$4)
|
|||
-if test -n "$$1"; then
|
|||
- AC_DEFINE_UNQUOTED(PATH_$1, "$$1", [define if you have $1])
|
|||
- PATH_$1="$$1"
|
|||
-else
|
|||
- AC_MSG_ERROR([required program $1 not found])
|
|||
-fi
|
|||
-AC_SUBST(PATH_$1)])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_CHECK_SSS_LIB:
|
|||
-dnl
|
|||
-dnl Check if a sss autofs library exists.
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_CHECK_SSS_LIB,
|
|||
-[if test -z "$sssldir"; then
|
|||
- AC_MSG_CHECKING(for sssd autofs library)
|
|||
- for libd in /usr/lib64 /usr/lib; do
|
|||
- if test -z "$sssldir"; then
|
|||
- if test -e "$libd/sssd/modules/$2"; then
|
|||
- sssldir=$libd/sssd/modules
|
|||
- fi
|
|||
- fi
|
|||
- done
|
|||
- if test -n "$sssldir"; then
|
|||
- HAVE_$1=1
|
|||
- AC_MSG_RESULT(yes)
|
|||
- else
|
|||
- HAVE_$1=0
|
|||
- AC_MSG_RESULT(no)
|
|||
- fi
|
|||
-fi])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_SLOPPY_MOUNT
|
|||
-dnl
|
|||
-dnl Check to see if mount(8) supports the sloppy (-s) option, and define
|
|||
-dnl the cpp variable HAVE_SLOPPY_MOUNT if so. This requires that MOUNT is
|
|||
-dnl already defined by a call to AF_PATH_INCLUDE or AC_PATH_PROGS.
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_SLOPPY_MOUNT,
|
|||
-[if test -n "$MOUNT" ; then
|
|||
- AC_MSG_CHECKING([if mount accepts the -s option])
|
|||
- if "$MOUNT" -s > /dev/null 2>&1 ; then
|
|||
- enable_sloppy_mount=yes
|
|||
- AC_MSG_RESULT(yes)
|
|||
- else
|
|||
- AC_MSG_RESULT(no)
|
|||
- fi
|
|||
-fi])
|
|||
-
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_LINUX_PROCFS
|
|||
-dnl
|
|||
-dnl Check for the Linux /proc filesystem
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_LINUX_PROCFS,
|
|||
-[AC_CACHE_CHECK([for Linux proc filesystem], [ac_cv_linux_procfs],
|
|||
- [ac_cv_linux_procfs=no
|
|||
- test "x`cat /proc/sys/kernel/ostype 2>&-`" = "xLinux" && ac_cv_linux_procfs=yes])
|
|||
- if test $ac_cv_linux_procfs = yes
|
|||
- then
|
|||
- AC_DEFINE(HAVE_LINUX_PROCFS, 1,
|
|||
- [Define if you have the Linux /proc filesystem.])
|
|||
-fi])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_INIT_D
|
|||
-dnl
|
|||
-dnl Check the location of the init.d directory
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_INIT_D,
|
|||
-[if test -z "$initdir"; then
|
|||
- AC_MSG_CHECKING([location of the init.d directory])
|
|||
- for init_d in /etc/init.d /etc/rc.d/init.d; do
|
|||
- if test -z "$initdir"; then
|
|||
- if test -d "$init_d"; then
|
|||
- initdir="$init_d"
|
|||
- AC_MSG_RESULT($initdir)
|
|||
- fi
|
|||
- fi
|
|||
- done
|
|||
-fi])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_CONF_D
|
|||
-dnl
|
|||
-dnl Check the location of the configuration defaults directory
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_CONF_D,
|
|||
-[if test -z "$confdir"; then
|
|||
- for conf_d in /etc/sysconfig /etc/defaults /etc/conf.d /etc/default; do
|
|||
- if test -z "$confdir"; then
|
|||
- if test -d "$conf_d"; then
|
|||
- confdir="$conf_d"
|
|||
- fi
|
|||
- fi
|
|||
- done
|
|||
-fi])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_MAP_D
|
|||
-dnl
|
|||
-dnl Check the location of the autofs maps directory
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_MAP_D,
|
|||
-[if test -z "$mapdir"; then
|
|||
- for map_d in /etc/autofs /etc; do
|
|||
- if test -z "$mapdir"; then
|
|||
- if test -d "$map_d"; then
|
|||
- mapdir="$map_d"
|
|||
- fi
|
|||
- fi
|
|||
- done
|
|||
-fi])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_PID_D
|
|||
-dnl
|
|||
-dnl Check the location of the pid file directory.
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_PID_D,
|
|||
-[if test -z "$piddir"; then
|
|||
- for pid_d in /run /var/run /tmp; do
|
|||
- if test -z "$piddir"; then
|
|||
- if test -d "$pid_d"; then
|
|||
- piddir="$pid_d"
|
|||
- fi
|
|||
- fi
|
|||
- done
|
|||
-fi])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_FIFO_D
|
|||
-dnl
|
|||
-dnl Check the location of the autofs fifos directory
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_FIFO_D,
|
|||
-[if test -z "$fifodir"; then
|
|||
- for fifo_d in /run /var/run /tmp; do
|
|||
- if test -z "$fifodir"; then
|
|||
- if test -d "$fifo_d"; then
|
|||
- fifodir="$fifo_d"
|
|||
- fi
|
|||
- fi
|
|||
- done
|
|||
-fi])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_FLAG_D
|
|||
-dnl
|
|||
-dnl Check the location of the autofs flag file directory
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN(AF_FLAG_D,
|
|||
-[if test -z "$flagdir"; then
|
|||
- for flag_d in /run /var/run /tmp; do
|
|||
- if test -z "$flagdir"; then
|
|||
- if test -d "$flag_d"; then
|
|||
- flagdir="$flag_d"
|
|||
- fi
|
|||
- fi
|
|||
- done
|
|||
-fi])
|
|||
-
|
|||
-dnl ----------------------------------- ## -*- Autoconf -*-
|
|||
-dnl Check if --with-dmalloc was given. ##
|
|||
-dnl From Franc,ois Pinard ##
|
|||
-dnl ----------------------------------- ##
|
|||
-dnl
|
|||
-dnl Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005
|
|||
-dnl Free Software Foundation, Inc.
|
|||
-dnl
|
|||
-dnl This file is free software; the Free Software Foundation
|
|||
-dnl gives unlimited permission to copy and/or distribute it,
|
|||
-dnl with or without modifications, as long as this notice is preserved.
|
|||
-
|
|||
-dnl serial 3
|
|||
-
|
|||
-AC_DEFUN([AM_WITH_DMALLOC],
|
|||
-[AC_MSG_CHECKING([if malloc debugging is wanted])
|
|||
-AC_ARG_WITH(dmalloc,
|
|||
-[ --with-dmalloc use dmalloc, as in
|
|||
- http://www.dmalloc.com/dmalloc.tar.gz],
|
|||
-[if test "$withval" = yes; then
|
|||
- AC_MSG_RESULT(yes)
|
|||
- AC_DEFINE(WITH_DMALLOC,1,
|
|||
- [Define if using the dmalloc debugging malloc package])
|
|||
- DMALLOCLIB="-ldmallocth"
|
|||
- LDFLAGS="$LDFLAGS -g"
|
|||
-else
|
|||
- AC_MSG_RESULT(no)
|
|||
-fi], [AC_MSG_RESULT(no)])
|
|||
-])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_WITH_SYSTEMD
|
|||
-dnl
|
|||
-dnl Check the location of the systemd unit files directory
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN([AF_WITH_SYSTEMD],
|
|||
-[AC_ARG_WITH(systemd,
|
|||
-[ --with-systemd@<:@=systemddir@:>@ install systemd unit file. If 'yes'
|
|||
- probe the system for unit directory.
|
|||
- If a path is specified, assume that
|
|||
- is a valid install path.],
|
|||
-[if test "$withval" = yes; then
|
|||
- if test -z "$systemddir"; then
|
|||
- AC_MSG_CHECKING([location of the systemd unit files directory])
|
|||
- for systemd_d in /usr/lib/systemd/system /usr/lib64/systemd/system /lib/systemd/system /lib64/systemd/system; do
|
|||
- if test -z "$systemddir"; then
|
|||
- if test -d "$systemd_d"; then
|
|||
- systemddir="$systemd_d"
|
|||
- fi
|
|||
- fi
|
|||
- done
|
|||
- fi
|
|||
- if test -n "$systemddir"; then
|
|||
- AC_MSG_RESULT($systemddir)
|
|||
- else
|
|||
- AC_MSG_RESULT(not found)
|
|||
- fi
|
|||
-else
|
|||
- if test "$withval" != no; then
|
|||
- systemddir=$withval
|
|||
- fi
|
|||
-fi])
|
|||
-])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_CHECK_LIBXML
|
|||
-dnl
|
|||
-dnl Check for lib xml
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN([AF_CHECK_LIBXML],
|
|||
-[AC_PATH_PROGS(XML_CONFIG, xml2-config, no)
|
|||
-AC_MSG_CHECKING(for libxml2)
|
|||
-if test "$XML_CONFIG" = "no"
|
|||
-then
|
|||
- AC_MSG_RESULT(no)
|
|||
- HAVE_LIBXML=0
|
|||
-else
|
|||
- AC_MSG_RESULT(yes)
|
|||
- HAVE_LIBXML=1
|
|||
- XML_LIBS=`$XML_CONFIG --libs`
|
|||
- XML_FLAGS=`$XML_CONFIG --cflags`
|
|||
- XML_VER=`$XML_CONFIG --version`
|
|||
- XML_MAJOR=`echo $XML_VER|cut -d\. -f1`
|
|||
- if test $XML_MAJOR -le 99
|
|||
- then
|
|||
- XML_MINOR=`echo $XML_VER|cut -d\. -f2`
|
|||
- if test $XML_MINOR -le 99
|
|||
- then
|
|||
- XML_REV=`echo $XML_VER|cut -d\. -f3`
|
|||
- if test $XML_REV -le 99; then
|
|||
- AC_DEFINE(LIBXML2_WORKAROUND,1, [Use libxml2 tsd usage workaround])
|
|||
- fi
|
|||
- fi
|
|||
- fi
|
|||
-fi])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_CHECK_KRB5
|
|||
-dnl
|
|||
-dnl Check for Kerberos 5
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN([AF_CHECK_KRB5],
|
|||
-[AC_PATH_PROGS(KRB5_CONFIG, krb5-config, no)
|
|||
-AC_MSG_CHECKING(for Kerberos library)
|
|||
-if test "$KRB5_CONFIG" = "no"
|
|||
-then
|
|||
- AC_MSG_RESULT(no)
|
|||
- HAVE_KRB5=0
|
|||
-else
|
|||
- AC_MSG_RESULT(yes)
|
|||
- HAVE_KRB5=1
|
|||
- KRB5_LIBS=`$KRB5_CONFIG --libs`
|
|||
- KRB5_FLAGS=`$KRB5_CONFIG --cflags`
|
|||
-
|
|||
- SAVE_CFLAGS=$CFLAGS
|
|||
- SAVE_LIBS=$LIBS
|
|||
- CFLAGS="$CFLAGS $KRB5_FLAGS"
|
|||
- LIBS="$LIBS $KRB5_LIBS"
|
|||
-
|
|||
- AC_CHECK_FUNCS([krb5_principal_get_realm])
|
|||
-fi])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_CHECK_LIBHESIOD
|
|||
-dnl
|
|||
-dnl Check for lib hesiod
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN([AF_CHECK_LIBHESIOD],
|
|||
-[AC_MSG_CHECKING(for libhesiod)
|
|||
-
|
|||
-# save current libs
|
|||
-af_check_hesiod_save_libs="$LIBS"
|
|||
-LIBS="$LIBS -lhesiod -lresolv"
|
|||
-
|
|||
-AC_TRY_LINK(
|
|||
- [ #include <hesiod.h> ],
|
|||
- [ void *c; hesiod_init(&c); ],
|
|||
- [ HAVE_HESIOD=1
|
|||
- LIBHESIOD="$LIBHESIOD -lhesiod -lresolv"
|
|||
- AC_MSG_RESULT(yes) ],
|
|||
- [ AC_MSG_RESULT(no) ])
|
|||
-
|
|||
-# restore libs
|
|||
-LIBS="$af_check_hesiod_save_libs"
|
|||
-])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_CHECK_FUNC_LDAP_CREATE_PAGE_CONTROL
|
|||
-dnl
|
|||
-dnl Check for function ldap_create_page_control
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN([AF_CHECK_FUNC_LDAP_CREATE_PAGE_CONTROL],
|
|||
-[AC_MSG_CHECKING(for ldap_create_page_control in -lldap)
|
|||
-
|
|||
-# save current libs
|
|||
-af_check_ldap_create_page_control_save_libs="$LIBS"
|
|||
-LIBS="$LIBS -lldap"
|
|||
-
|
|||
-AC_TRY_LINK(
|
|||
- [ #include <ldap.h> ],
|
|||
- [ LDAP *ld;
|
|||
- ber_int_t ps;
|
|||
- struct berval *c;
|
|||
- int ic, ret;
|
|||
- LDAPControl **clp;
|
|||
- ret = ldap_create_page_control(ld,ps,c,ic,clp); ],
|
|||
- [ af_have_ldap_create_page_control=yes
|
|||
- AC_MSG_RESULT(yes) ],
|
|||
- [ AC_MSG_RESULT(no) ])
|
|||
-
|
|||
-if test "$af_have_ldap_create_page_control" = "yes"; then
|
|||
- AC_DEFINE(HAVE_LDAP_CREATE_PAGE_CONTROL, 1,
|
|||
- [Define to 1 if you have the `ldap_create_page_control' function.])
|
|||
-fi
|
|||
-
|
|||
-# restore libs
|
|||
-LIBS="$af_check_ldap_create_page_control_save_libs"
|
|||
-])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_CHECK_FUNC_LDAP_PARSE_PAGE_CONTROL
|
|||
-dnl
|
|||
-dnl Check for function ldap_parse_page_control
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN([AF_CHECK_FUNC_LDAP_PARSE_PAGE_CONTROL],
|
|||
-[AC_MSG_CHECKING(for ldap_parse_page_control in -lldap)
|
|||
-
|
|||
-# save current libs
|
|||
-af_check_ldap_parse_page_control_save_libs="$LIBS"
|
|||
-LIBS="$LIBS -lldap"
|
|||
-
|
|||
-AC_TRY_LINK(
|
|||
- [ #include <ldap.h> ],
|
|||
- [ LDAP *ld;
|
|||
- ber_int_t ct;
|
|||
- struct berval *c;
|
|||
- int ret;
|
|||
- LDAPControl **clp;
|
|||
- ret = ldap_parse_page_control(ld,clp,ct,c); ],
|
|||
- [ af_have_ldap_parse_page_control=yes
|
|||
- AC_MSG_RESULT(yes) ],
|
|||
- [ AC_MSG_RESULT(no) ])
|
|||
-
|
|||
-if test "$af_have_ldap_create_page_control" = "yes"; then
|
|||
- AC_DEFINE(HAVE_LDAP_PARSE_PAGE_CONTROL, 1,
|
|||
- [Define to 1 if you have the `ldap_parse_page_control' function.])
|
|||
-fi
|
|||
-
|
|||
-# restore libs
|
|||
-LIBS="$af_check_ldap_parse_page_control_save_libs"
|
|||
-])
|
|||
-
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-dnl AF_CHECK_LIBTIRPC
|
|||
-dnl
|
|||
-dnl Use libtirpc for rpc transport
|
|||
-dnl --------------------------------------------------------------------------
|
|||
-AC_DEFUN([AF_CHECK_LIBTIRPC],
|
|||
-[
|
|||
-# save current flags
|
|||
-af_check_libtirpc_save_cflags="$CFLAGS"
|
|||
-af_check_libtirpc_save_libs="$LIBS"
|
|||
-CFLAGS="$CFLAGS -I/usr/include/tirpc"
|
|||
-LIBS="$LIBS -ltirpc"
|
|||
-
|
|||
-AC_TRY_LINK(
|
|||
- [ #include <rpc/rpc.h> ],
|
|||
- [ CLIENT *cl;
|
|||
- struct sockaddr_in addr;
|
|||
- int fd;
|
|||
- unsigned long ul; struct timeval t; unsigned int ui;
|
|||
- cl = clntudp_bufcreate(&addr,ul,ul,t,&fd,ui,ui); ],
|
|||
- [ af_have_libtirpc=yes
|
|||
- AC_MSG_RESULT(yes) ],
|
|||
- [ AC_MSG_RESULT(no) ])
|
|||
-
|
|||
-if test "$af_have_libtirpc" = "yes"; then
|
|||
- AC_DEFINE(WITH_LIBTIRPC,1, [Define to 1 if you have the libtirpc library installed])
|
|||
- AC_DEFINE(TIRPC_WORKAROUND,1, [Define to 1 to use the libtirpc tsd usage workaround])
|
|||
- TIRPCLIB="-ltirpc"
|
|||
-fi
|
|||
-
|
|||
-AC_CHECK_FUNCS([getrpcbyname getservbyname])
|
|||
-
|
|||
-# restore flags
|
|||
-CFLAGS="$af_check_libtirpc_save_cflags"
|
|||
-LIBS="$af_check_libtirpc_save_libs"
|
|||
-])
|
|||
-
|
|||
-AC_DEFUN([AF_WITH_LIBTIRPC],
|
|||
-[AC_MSG_CHECKING([if libtirpc is requested and available])
|
|||
-AC_ARG_WITH(libtirpc,
|
|||
-[ --with-libtirpc use libtirpc if available],
|
|||
-[if test "$withval" = yes; then
|
|||
- AF_CHECK_LIBTIRPC()
|
|||
-else
|
|||
- AC_MSG_RESULT(no)
|
|||
-fi], [AC_MSG_RESULT(no)])
|
|||
-])
|
|||
-
|
|||
diff --git a/configure.in b/configure.in
|
|||
index 0521252..16653ed 100644
|
|||
--- a/configure.in
|
|||
+++ b/configure.in
|
|||
@@ -11,6 +11,7 @@ define([AC_CACHE_LOAD], )dnl
|
|||
define([AC_CACHE_SAVE], )dnl |
|||
AC_INIT(.autofs-5.1.3) |
|||
|
|||
+AC_CONFIG_MACRO_DIR([m4])
|
|||
# |
|||
# autofs installs by default in /usr |
|||
# |
|||
@@ -124,8 +125,17 @@ AC_SUBST(flagdir)
|
|||
# |
|||
# Use libtirpc |
|||
# |
|||
-AF_WITH_LIBTIRPC()
|
|||
-AC_SUBST(TIRPCLIB)
|
|||
+PKG_PROG_PKG_CONFIG()
|
|||
+AC_ARG_WITH([libtirpc], AS_HELP_STRING([--with-libtirpc], [use libtirpc if available]))
|
|||
+if test "x$with_libtirpc" = "xyes"; then
|
|||
+ PKG_CHECK_MODULES([TIRPC],[libtirpc],[
|
|||
+ AC_DEFINE(WITH_LIBTIRPC,1,
|
|||
+ [Define to 1 if you have the libtirpc library installed])
|
|||
+ AC_DEFINE(TIRPC_WORKAROUND,1,
|
|||
+ [Define to 1 to use the libtirpc tsd usage workaround])
|
|||
+ ])
|
|||
+ AC_CHECK_FUNCS([getrpcbyname getservbyname])
|
|||
+fi
|
|||
|
|||
# |
|||
# Optional include dmalloc |
|||
diff --git a/m4/autofs-macros.m4 b/m4/autofs-macros.m4
|
|||
new file mode 100644 |
|||
index 0000000..31ca602
|
|||
--- /dev/null
|
|||
+++ b/m4/autofs-macros.m4
|
|||
@@ -0,0 +1,401 @@
|
|||
+dnl
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_PATH_INCLUDE:
|
|||
+dnl
|
|||
+dnl Like AC_PATH_PROGS, but add to the .h file as well
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_PATH_INCLUDE,
|
|||
+[AC_PATH_PROGS($1,$2,$3,$4)
|
|||
+if test -n "$$1"; then
|
|||
+ AC_DEFINE(HAVE_$1,1,[define if you have $1])
|
|||
+ AC_DEFINE_UNQUOTED(PATH_$1, "$$1", [define if you have $1])
|
|||
+ HAVE_$1=1
|
|||
+else
|
|||
+ HAVE_$1=0
|
|||
+fi
|
|||
+AC_SUBST(HAVE_$1)])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_CHECK_PROG:
|
|||
+dnl
|
|||
+dnl Like AC_CHECK_PROG, but fail configure if not found
|
|||
+dnl and only define PATH_<name> variable
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_CHECK_PROG,
|
|||
+[AC_PATH_PROGS($1,$2,$3,$4)
|
|||
+if test -n "$$1"; then
|
|||
+ AC_DEFINE_UNQUOTED(PATH_$1, "$$1", [define if you have $1])
|
|||
+ PATH_$1="$$1"
|
|||
+else
|
|||
+ AC_MSG_ERROR([required program $1 not found])
|
|||
+fi
|
|||
+AC_SUBST(PATH_$1)])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_CHECK_SSS_LIB:
|
|||
+dnl
|
|||
+dnl Check if a sss autofs library exists.
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_CHECK_SSS_LIB,
|
|||
+[if test -z "$sssldir"; then
|
|||
+ AC_MSG_CHECKING(for sssd autofs library)
|
|||
+ for libd in /usr/lib64 /usr/lib; do
|
|||
+ if test -z "$sssldir"; then
|
|||
+ if test -e "$libd/sssd/modules/$2"; then
|
|||
+ sssldir=$libd/sssd/modules
|
|||
+ fi
|
|||
+ fi
|
|||
+ done
|
|||
+ if test -n "$sssldir"; then
|
|||
+ HAVE_$1=1
|
|||
+ AC_MSG_RESULT(yes)
|
|||
+ else
|
|||
+ HAVE_$1=0
|
|||
+ AC_MSG_RESULT(no)
|
|||
+ fi
|
|||
+fi])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_SLOPPY_MOUNT
|
|||
+dnl
|
|||
+dnl Check to see if mount(8) supports the sloppy (-s) option, and define
|
|||
+dnl the cpp variable HAVE_SLOPPY_MOUNT if so. This requires that MOUNT is
|
|||
+dnl already defined by a call to AF_PATH_INCLUDE or AC_PATH_PROGS.
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_SLOPPY_MOUNT,
|
|||
+[if test -n "$MOUNT" ; then
|
|||
+ AC_MSG_CHECKING([if mount accepts the -s option])
|
|||
+ if "$MOUNT" -s > /dev/null 2>&1 ; then
|
|||
+ enable_sloppy_mount=yes
|
|||
+ AC_MSG_RESULT(yes)
|
|||
+ else
|
|||
+ AC_MSG_RESULT(no)
|
|||
+ fi
|
|||
+fi])
|
|||
+
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_LINUX_PROCFS
|
|||
+dnl
|
|||
+dnl Check for the Linux /proc filesystem
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_LINUX_PROCFS,
|
|||
+[AC_CACHE_CHECK([for Linux proc filesystem], [ac_cv_linux_procfs],
|
|||
+ [ac_cv_linux_procfs=no
|
|||
+ test "x`cat /proc/sys/kernel/ostype 2>&-`" = "xLinux" && ac_cv_linux_procfs=yes])
|
|||
+ if test $ac_cv_linux_procfs = yes
|
|||
+ then
|
|||
+ AC_DEFINE(HAVE_LINUX_PROCFS, 1,
|
|||
+ [Define if you have the Linux /proc filesystem.])
|
|||
+fi])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_INIT_D
|
|||
+dnl
|
|||
+dnl Check the location of the init.d directory
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_INIT_D,
|
|||
+[if test -z "$initdir"; then
|
|||
+ AC_MSG_CHECKING([location of the init.d directory])
|
|||
+ for init_d in /etc/init.d /etc/rc.d/init.d; do
|
|||
+ if test -z "$initdir"; then
|
|||
+ if test -d "$init_d"; then
|
|||
+ initdir="$init_d"
|
|||
+ AC_MSG_RESULT($initdir)
|
|||
+ fi
|
|||
+ fi
|
|||
+ done
|
|||
+fi])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_CONF_D
|
|||
+dnl
|
|||
+dnl Check the location of the configuration defaults directory
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_CONF_D,
|
|||
+[if test -z "$confdir"; then
|
|||
+ for conf_d in /etc/sysconfig /etc/defaults /etc/conf.d /etc/default; do
|
|||
+ if test -z "$confdir"; then
|
|||
+ if test -d "$conf_d"; then
|
|||
+ confdir="$conf_d"
|
|||
+ fi
|
|||
+ fi
|
|||
+ done
|
|||
+fi])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_MAP_D
|
|||
+dnl
|
|||
+dnl Check the location of the autofs maps directory
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_MAP_D,
|
|||
+[if test -z "$mapdir"; then
|
|||
+ for map_d in /etc/autofs /etc; do
|
|||
+ if test -z "$mapdir"; then
|
|||
+ if test -d "$map_d"; then
|
|||
+ mapdir="$map_d"
|
|||
+ fi
|
|||
+ fi
|
|||
+ done
|
|||
+fi])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_PID_D
|
|||
+dnl
|
|||
+dnl Check the location of the pid file directory.
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_PID_D,
|
|||
+[if test -z "$piddir"; then
|
|||
+ for pid_d in /run /var/run /tmp; do
|
|||
+ if test -z "$piddir"; then
|
|||
+ if test -d "$pid_d"; then
|
|||
+ piddir="$pid_d"
|
|||
+ fi
|
|||
+ fi
|
|||
+ done
|
|||
+fi])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_FIFO_D
|
|||
+dnl
|
|||
+dnl Check the location of the autofs fifos directory
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_FIFO_D,
|
|||
+[if test -z "$fifodir"; then
|
|||
+ for fifo_d in /run /var/run /tmp; do
|
|||
+ if test -z "$fifodir"; then
|
|||
+ if test -d "$fifo_d"; then
|
|||
+ fifodir="$fifo_d"
|
|||
+ fi
|
|||
+ fi
|
|||
+ done
|
|||
+fi])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_FLAG_D
|
|||
+dnl
|
|||
+dnl Check the location of the autofs flag file directory
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN(AF_FLAG_D,
|
|||
+[if test -z "$flagdir"; then
|
|||
+ for flag_d in /run /var/run /tmp; do
|
|||
+ if test -z "$flagdir"; then
|
|||
+ if test -d "$flag_d"; then
|
|||
+ flagdir="$flag_d"
|
|||
+ fi
|
|||
+ fi
|
|||
+ done
|
|||
+fi])
|
|||
+
|
|||
+dnl ----------------------------------- ## -*- Autoconf -*-
|
|||
+dnl Check if --with-dmalloc was given. ##
|
|||
+dnl From Franc,ois Pinard ##
|
|||
+dnl ----------------------------------- ##
|
|||
+dnl
|
|||
+dnl Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005
|
|||
+dnl Free Software Foundation, Inc.
|
|||
+dnl
|
|||
+dnl This file is free software; the Free Software Foundation
|
|||
+dnl gives unlimited permission to copy and/or distribute it,
|
|||
+dnl with or without modifications, as long as this notice is preserved.
|
|||
+
|
|||
+dnl serial 3
|
|||
+
|
|||
+AC_DEFUN([AM_WITH_DMALLOC],
|
|||
+[AC_MSG_CHECKING([if malloc debugging is wanted])
|
|||
+AC_ARG_WITH(dmalloc,
|
|||
+[ --with-dmalloc use dmalloc, as in
|
|||
+ http://www.dmalloc.com/dmalloc.tar.gz],
|
|||
+[if test "$withval" = yes; then
|
|||
+ AC_MSG_RESULT(yes)
|
|||
+ AC_DEFINE(WITH_DMALLOC,1,
|
|||
+ [Define if using the dmalloc debugging malloc package])
|
|||
+ DMALLOCLIB="-ldmallocth"
|
|||
+ LDFLAGS="$LDFLAGS -g"
|
|||
+else
|
|||
+ AC_MSG_RESULT(no)
|
|||
+fi], [AC_MSG_RESULT(no)])
|
|||
+])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_WITH_SYSTEMD
|
|||
+dnl
|
|||
+dnl Check the location of the systemd unit files directory
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN([AF_WITH_SYSTEMD],
|
|||
+[AC_ARG_WITH(systemd,
|
|||
+[ --with-systemd@<:@=systemddir@:>@ install systemd unit file. If 'yes'
|
|||
+ probe the system for unit directory.
|
|||
+ If a path is specified, assume that
|
|||
+ is a valid install path.],
|
|||
+[if test "$withval" = yes; then
|
|||
+ if test -z "$systemddir"; then
|
|||
+ AC_MSG_CHECKING([location of the systemd unit files directory])
|
|||
+ for systemd_d in /usr/lib/systemd/system /usr/lib64/systemd/system /lib/systemd/system /lib64/systemd/system; do
|
|||
+ if test -z "$systemddir"; then
|
|||
+ if test -d "$systemd_d"; then
|
|||
+ systemddir="$systemd_d"
|
|||
+ fi
|
|||
+ fi
|
|||
+ done
|
|||
+ fi
|
|||
+ if test -n "$systemddir"; then
|
|||
+ AC_MSG_RESULT($systemddir)
|
|||
+ else
|
|||
+ AC_MSG_RESULT(not found)
|
|||
+ fi
|
|||
+else
|
|||
+ if test "$withval" != no; then
|
|||
+ systemddir=$withval
|
|||
+ fi
|
|||
+fi])
|
|||
+])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_CHECK_LIBXML
|
|||
+dnl
|
|||
+dnl Check for lib xml
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN([AF_CHECK_LIBXML],
|
|||
+[AC_PATH_PROGS(XML_CONFIG, xml2-config, no)
|
|||
+AC_MSG_CHECKING(for libxml2)
|
|||
+if test "$XML_CONFIG" = "no"
|
|||
+then
|
|||
+ AC_MSG_RESULT(no)
|
|||
+ HAVE_LIBXML=0
|
|||
+else
|
|||
+ AC_MSG_RESULT(yes)
|
|||
+ HAVE_LIBXML=1
|
|||
+ XML_LIBS=`$XML_CONFIG --libs`
|
|||
+ XML_FLAGS=`$XML_CONFIG --cflags`
|
|||
+ XML_VER=`$XML_CONFIG --version`
|
|||
+ XML_MAJOR=`echo $XML_VER|cut -d\. -f1`
|
|||
+ if test $XML_MAJOR -le 99
|
|||
+ then
|
|||
+ XML_MINOR=`echo $XML_VER|cut -d\. -f2`
|
|||
+ if test $XML_MINOR -le 99
|
|||
+ then
|
|||
+ XML_REV=`echo $XML_VER|cut -d\. -f3`
|
|||
+ if test $XML_REV -le 99; then
|
|||
+ AC_DEFINE(LIBXML2_WORKAROUND,1, [Use libxml2 tsd usage workaround])
|
|||
+ fi
|
|||
+ fi
|
|||
+ fi
|
|||
+fi])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_CHECK_KRB5
|
|||
+dnl
|
|||
+dnl Check for Kerberos 5
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN([AF_CHECK_KRB5],
|
|||
+[AC_PATH_PROGS(KRB5_CONFIG, krb5-config, no)
|
|||
+AC_MSG_CHECKING(for Kerberos library)
|
|||
+if test "$KRB5_CONFIG" = "no"
|
|||
+then
|
|||
+ AC_MSG_RESULT(no)
|
|||
+ HAVE_KRB5=0
|
|||
+else
|
|||
+ AC_MSG_RESULT(yes)
|
|||
+ HAVE_KRB5=1
|
|||
+ KRB5_LIBS=`$KRB5_CONFIG --libs`
|
|||
+ KRB5_FLAGS=`$KRB5_CONFIG --cflags`
|
|||
+
|
|||
+ SAVE_CFLAGS=$CFLAGS
|
|||
+ SAVE_LIBS=$LIBS
|
|||
+ CFLAGS="$CFLAGS $KRB5_FLAGS"
|
|||
+ LIBS="$LIBS $KRB5_LIBS"
|
|||
+
|
|||
+ AC_CHECK_FUNCS([krb5_principal_get_realm])
|
|||
+fi])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_CHECK_LIBHESIOD
|
|||
+dnl
|
|||
+dnl Check for lib hesiod
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN([AF_CHECK_LIBHESIOD],
|
|||
+[AC_MSG_CHECKING(for libhesiod)
|
|||
+
|
|||
+# save current libs
|
|||
+af_check_hesiod_save_libs="$LIBS"
|
|||
+LIBS="$LIBS -lhesiod -lresolv"
|
|||
+
|
|||
+AC_TRY_LINK(
|
|||
+ [ #include <hesiod.h> ],
|
|||
+ [ void *c; hesiod_init(&c); ],
|
|||
+ [ HAVE_HESIOD=1
|
|||
+ LIBHESIOD="$LIBHESIOD -lhesiod -lresolv"
|
|||
+ AC_MSG_RESULT(yes) ],
|
|||
+ [ AC_MSG_RESULT(no) ])
|
|||
+
|
|||
+# restore libs
|
|||
+LIBS="$af_check_hesiod_save_libs"
|
|||
+])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_CHECK_FUNC_LDAP_CREATE_PAGE_CONTROL
|
|||
+dnl
|
|||
+dnl Check for function ldap_create_page_control
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN([AF_CHECK_FUNC_LDAP_CREATE_PAGE_CONTROL],
|
|||
+[AC_MSG_CHECKING(for ldap_create_page_control in -lldap)
|
|||
+
|
|||
+# save current libs
|
|||
+af_check_ldap_create_page_control_save_libs="$LIBS"
|
|||
+LIBS="$LIBS -lldap"
|
|||
+
|
|||
+AC_TRY_LINK(
|
|||
+ [ #include <ldap.h> ],
|
|||
+ [ LDAP *ld;
|
|||
+ ber_int_t ps;
|
|||
+ struct berval *c;
|
|||
+ int ic, ret;
|
|||
+ LDAPControl **clp;
|
|||
+ ret = ldap_create_page_control(ld,ps,c,ic,clp); ],
|
|||
+ [ af_have_ldap_create_page_control=yes
|
|||
+ AC_MSG_RESULT(yes) ],
|
|||
+ [ AC_MSG_RESULT(no) ])
|
|||
+
|
|||
+if test "$af_have_ldap_create_page_control" = "yes"; then
|
|||
+ AC_DEFINE(HAVE_LDAP_CREATE_PAGE_CONTROL, 1,
|
|||
+ [Define to 1 if you have the `ldap_create_page_control' function.])
|
|||
+fi
|
|||
+
|
|||
+# restore libs
|
|||
+LIBS="$af_check_ldap_create_page_control_save_libs"
|
|||
+])
|
|||
+
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+dnl AF_CHECK_FUNC_LDAP_PARSE_PAGE_CONTROL
|
|||
+dnl
|
|||
+dnl Check for function ldap_parse_page_control
|
|||
+dnl --------------------------------------------------------------------------
|
|||
+AC_DEFUN([AF_CHECK_FUNC_LDAP_PARSE_PAGE_CONTROL],
|
|||
+[AC_MSG_CHECKING(for ldap_parse_page_control in -lldap)
|
|||
+
|
|||
+# save current libs
|
|||
+af_check_ldap_parse_page_control_save_libs="$LIBS"
|
|||
+LIBS="$LIBS -lldap"
|
|||
+
|
|||
+AC_TRY_LINK(
|
|||
+ [ #include <ldap.h> ],
|
|||
+ [ LDAP *ld;
|
|||
+ ber_int_t ct;
|
|||
+ struct berval *c;
|
|||
+ int ret;
|
|||
+ LDAPControl **clp;
|
|||
+ ret = ldap_parse_page_control(ld,clp,ct,c); ],
|
|||
+ [ af_have_ldap_parse_page_control=yes
|
|||
+ AC_MSG_RESULT(yes) ],
|
|||
+ [ AC_MSG_RESULT(no) ])
|
|||
+
|
|||
+if test "$af_have_ldap_create_page_control" = "yes"; then
|
|||
+ AC_DEFINE(HAVE_LDAP_PARSE_PAGE_CONTROL, 1,
|
|||
+ [Define to 1 if you have the `ldap_parse_page_control' function.])
|
|||
+fi
|
|||
+
|
|||
+# restore libs
|
|||
+LIBS="$af_check_ldap_parse_page_control_save_libs"
|
|||
+])
|
|||
+
|
|||
--
|
|||
2.1.4 |
|||
|
Loading…
Reference in new issue