nss-pam-ldapd commit: r1115 - in nss-pam-ldapd: . m4
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
nss-pam-ldapd commit: r1115 - in nss-pam-ldapd: . m4
- From: "Commits of the nss-pam-ldapd project." <nss-pam-ldapd-commits [at] lists.arthurdejong.org>
- To: nss-pam-ldapd-commits [at] lists.arthurdejong.org
- Reply-to: nss-pam-ldapd-users [at] lists.arthurdejong.org
- Subject: nss-pam-ldapd commit: r1115 - in nss-pam-ldapd: . m4
- Date: Sun, 23 May 2010 21:53:29 +0200 (CEST)
Author: arthur
Date: Sun May 23 21:53:28 2010
New Revision: 1115
URL: http://arthurdejong.org/viewvc/nss-pam-ldapd?view=rev&revision=1115
Log:
update AC?X_PTHREAD macro and update configure script to be simpler and add
some more checks
Added:
nss-pam-ldapd/m4/ax_pthread.m4
- copied, changed from r1113, nss-pam-ldapd/m4/acx_pthread.m4
Deleted:
nss-pam-ldapd/m4/acx_pthread.m4
Modified:
nss-pam-ldapd/configure.ac
Modified: nss-pam-ldapd/configure.ac
==============================================================================
--- nss-pam-ldapd/configure.ac Sun May 23 21:33:56 2010 (r1114)
+++ nss-pam-ldapd/configure.ac Sun May 23 21:53:28 2010 (r1115)
@@ -19,7 +19,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA
-AC_PREREQ(2.59)
+AC_PREREQ(2.61)
AC_COPYRIGHT(
[Copyright (C) 2006 Luke Howard
Copyright (C) 2006 West Consulting
@@ -37,8 +37,10 @@
AC_SUBST(RELEASE_MONTH)
AC_CONFIG_SRCDIR([nslcd.h])
+# some initialisation
AC_CANONICAL_TARGET
AC_PREFIX_DEFAULT()
+AC_CONFIG_LIBOBJ_DIR([compat])
# display notice and initialize automake
AC_MSG_NOTICE([configuring AC_PACKAGE_TARNAME AC_PACKAGE_VERSION])
@@ -196,77 +198,34 @@
AC_DEFINE_UNQUOTED(NSLCD_SOCKET,"$NSLCD_SOCKET",[The location of the socket
used for communicating.])
AC_SUBST(NSLCD_SOCKET)
-# set up directory with compatibility replacement files
-AC_CONFIG_LIBOBJ_DIR([compat])
-
-# checks for availability of common header files
-AC_CHECK_HEADERS(ctype.h)
-AC_CHECK_HEADERS(strings.h)
-AC_CHECK_HEADERS(grp.h)
-AC_CHECK_HEADERS(sys/socket.h)
-AC_CHECK_HEADERS(sys/un.h)
-AC_CHECK_HEADERS(pthread.h)
-AC_CHECK_HEADERS(nss.h)
-AC_CHECK_HEADERS(netinet/ether.h)
-AC_CHECK_HEADERS(shadow.h)
-AC_CHECK_HEADERS(aliases.h)
-AC_CHECK_HEADERS(getopt.h)
-AC_CHECK_HEADERS(sys/ucred.h)
-AC_CHECK_HEADERS(ucred.h)
-
-# PAM module-specific headers
-if test "x$enable_pam" = "xyes"
-then
- AC_CHECK_HEADERS(security/pam_appl.h)
- AC_CHECK_HEADERS(security/pam_modules.h,,,[
- #ifdef HAVE_SECURITY_PAM_APPL_H
- #include <security/pam_appl.h>
- #endif
- ])
- AC_CHECK_HEADERS(pam/pam_modules.h)
- AC_CHECK_HEADERS(security/pam_ext.h)
- AC_CHECK_HEADERS(security/pam_modutil.h)
- # at least one of security/pam_modules.h or pam/pam_modules.h is required
- if test "x$ac_cv_header_security_pam_modules_h" != "xyes" && \
- test "x$ac_cv_header_pam_pam_modules_h" != "xyes"
- then
- AC_MSG_ERROR(PAM header files are missing)
- fi
-fi
+# checks for availability of header files
+AC_CHECK_HEADERS([ctype.h strings.h pthread.h fcntl.h limits.h])
+AC_CHECK_HEADERS([nss.h grp.h shadow.h aliases.h netdb.h])
+AC_CHECK_HEADERS([netinet/ether.h arpa/inet.h netinet/in.h])
+AC_CHECK_HEADERS([sys/socket.h sys/un.h sys/ucred.h ucred.h sys/param.h
sys/time.h])
+AC_CHECK_HEADERS([getopt.h syslog.h])
-# LDAP-specific headers
-if test "x$enable_nslcd" = "xyes"
-then
- AC_CHECK_HEADERS(lber.h)
- AC_CHECK_HEADERS(ldap.h,, test "x$enable_nslcd" = "xyes" &&
AC_MSG_ERROR([could not locate <ldap.h>]),[
- #if HAVE_LBER_H
- #include <lber.h>
- #endif
- ])
- AC_CHECK_HEADERS(ldap_ssl.h)
- AC_CHECK_HEADERS(gssldap.h)
- if test "x$enable_sasl" = "xyes"
- then
- AC_CHECK_HEADERS(sasl.h sasl/sasl.h)
- AC_CHECK_HEADERS(gsssasl.h)
- fi
- if test "x$enable_kerberos" = "xyes"
- then
- AC_CHECK_HEADERS(gssapi/gssapi.h gssapi/gssapi_generic.h
gssapi/gssapi_krb5.h gssapi.h)
- fi
-fi
+# other general checks
+AC_C_INLINE
+AC_C_CONST
# checks for availability of common functions
-AC_CHECK_FUNCS(sigaction)
-AC_CHECK_FUNCS(snprintf)
+AC_CHECK_FUNCS([sigaction snprintf])
AC_CHECK_FUNCS(gethostbyname)
AC_SEARCH_LIBS(socket,socket)
+AC_CHECK_FUNCS([strcasecmp strncasecmp strchr strcspn strspn strtol])
+AC_CHECK_FUNCS([malloc realloc])
+AC_FUNC_FORK
# checks for types
-AC_C_CONST
AC_TYPE_MODE_T
AC_TYPE_SIZE_T
AC_TYPE_UID_T
+AC_TYPE_PID_T
+AC_TYPE_INT32_T
+AC_TYPE_UINT8_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
# check for support for the __thread keyword
AC_CACHE_CHECK([whether $CC supports '__thread'], [mn_cv_c___thread_supported],
@@ -296,21 +255,38 @@
#include <sys/types.h>
#include <sys/socket.h>])
-# check threading stuff
-ACX_PTHREAD(,AC_MSG_ERROR([no support for pthreads]))
-AC_CHECK_FUNCS(pthread_mutex_lock)
-
# PAM module-specific tests
if test "x$enable_pam" = "xyes"
then
# save CFLAGS and LIBS to restore later
save_CFLAGS="$CFLAGS"
save_LIBS="$LIBS"
+
+ # check for headers
+ AC_CHECK_HEADERS(security/pam_appl.h)
+ AC_CHECK_HEADERS(security/pam_modules.h,,,[
+ #ifdef HAVE_SECURITY_PAM_APPL_H
+ #include <security/pam_appl.h>
+ #endif
+ ])
+ AC_CHECK_HEADERS(pam/pam_modules.h)
+ AC_CHECK_HEADERS(security/pam_ext.h)
+ AC_CHECK_HEADERS(security/pam_modutil.h)
+
+ # at least one of security/pam_modules.h or pam/pam_modules.h is required
+ if test "x$ac_cv_header_security_pam_modules_h" != "xyes" && \
+ test "x$ac_cv_header_pam_pam_modules_h" != "xyes"
+ then
+ AC_MSG_ERROR(PAM header files are missing)
+ fi
+
# find pam library
AC_SEARCH_LIBS(pam_get_data,pam,,AC_MSG_ERROR(no PAM library available))
+
# replace some PAM functions if they are unavailable
AC_REPLACE_FUNCS(pam_get_authtok pam_prompt)
AC_CHECK_FUNCS(pam_modutil_getpwnam pam_syslog)
+
# restore CFLAGS and LIBS
CFLAGS="$save_CFLAGS"
LIBS="$save_LIBS"
@@ -325,6 +301,25 @@
CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
LIBS="$PTHREAD_LIBS $LIBS"
+ # check header files
+ AC_CHECK_HEADERS(lber.h)
+ AC_CHECK_HEADERS(ldap.h,, test "x$enable_nslcd" = "xyes" &&
AC_MSG_ERROR([could not locate <ldap.h>]),[
+ #if HAVE_LBER_H
+ #include <lber.h>
+ #endif
+ ])
+ AC_CHECK_HEADERS(ldap_ssl.h)
+ AC_CHECK_HEADERS(gssldap.h)
+ if test "x$enable_sasl" = "xyes"
+ then
+ AC_CHECK_HEADERS(sasl.h sasl/sasl.h)
+ AC_CHECK_HEADERS(gsssasl.h)
+ fi
+ if test "x$enable_kerberos" = "xyes"
+ then
+ AC_CHECK_HEADERS(gssapi/gssapi.h gssapi/gssapi_generic.h
gssapi/gssapi_krb5.h gssapi.h)
+ fi
+
# checks for availability of system libraries for nslcd
AC_SEARCH_LIBS(gethostbyname,nsl socket)
AC_SEARCH_LIBS(socket,socket)
@@ -360,6 +355,10 @@
#include <sys/un.h>
#include <sys/types.h>])
+ # check threading stuff
+ AX_PTHREAD(,AC_MSG_ERROR([no support for pthreads]))
+ AC_CHECK_FUNCS(pthread_mutex_lock)
+
# search for an LDAP library (only OpenLDAP is tested)
AC_ARG_WITH(ldap-lib,
AS_HELP_STRING([--with-ldap-lib=TYPE],
Copied and modified: nss-pam-ldapd/m4/ax_pthread.m4 (from r1113,
nss-pam-ldapd/m4/acx_pthread.m4)
==============================================================================
--- nss-pam-ldapd/m4/acx_pthread.m4 Sat May 22 15:12:39 2010 (r1113,
copy source)
+++ nss-pam-ldapd/m4/ax_pthread.m4 Sun May 23 21:53:28 2010 (r1115)
@@ -1,93 +1,88 @@
-##### http://autoconf-archive.cryp.to/acx_pthread.html
+# ===========================================================================
+# http://www.nongnu.org/autoconf-archive/ax_pthread.html
+# ===========================================================================
#
# SYNOPSIS
#
-# ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
#
# DESCRIPTION
#
-# This macro figures out how to build C programs using POSIX threads.
-# It sets the PTHREAD_LIBS output variable to the threads library and
-# linker flags, and the PTHREAD_CFLAGS output variable to any special
-# C compiler flags that are needed. (The user can also force certain
-# compiler flags/libs to be tested by setting these environment
-# variables.)
+# This macro figures out how to build C programs using POSIX threads. It
+# sets the PTHREAD_LIBS output variable to the threads library and linker
+# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
+# flags that are needed. (The user can also force certain compiler
+# flags/libs to be tested by setting these environment variables.)
#
# Also sets PTHREAD_CC to any special C compiler that is needed for
-# multi-threaded programs (defaults to the value of CC otherwise).
-# (This is necessary on AIX to use the special cc_r compiler alias.)
+# multi-threaded programs (defaults to the value of CC otherwise). (This
+# is necessary on AIX to use the special cc_r compiler alias.)
#
-# NOTE: You are assumed to not only compile your program with these
-# flags, but also link it with them as well. e.g. you should link
-# with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS
-# $LIBS
-#
-# If you are only building threads programs, you may wish to use
-# these variables in your default LIBS, CFLAGS, and CC:
-#
-# LIBS="$PTHREAD_LIBS $LIBS"
-# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-# CC="$PTHREAD_CC"
-#
-# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute
-# constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to
-# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
-#
-# ACTION-IF-FOUND is a list of shell commands to run if a threads
-# library is found, and ACTION-IF-NOT-FOUND is a list of commands to
-# run it if it is not found. If ACTION-IF-FOUND is not specified, the
-# default action will define HAVE_PTHREAD.
-#
-# Please let the authors know if this macro fails on any platform, or
-# if you have any other suggestions or comments. This macro was based
-# on work by SGJ on autoconf scripts for FFTW (http://www.fftw.org/)
-# (with help from M. Frigo), as well as ac_pthread and hb_pthread
-# macros posted by Alejandro Forero Cuervo to the autoconf macro
-# repository. We are also grateful for the helpful feedback of
-# numerous users.
-#
-# LAST MODIFICATION
-#
-# 2007-07-29
-#
-# COPYLEFT
-#
-# Copyright (c) 2007 Steven G. Johnson <stevenj@alum.mit.edu>
-#
-# This program is free software: you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
+# NOTE: You are assumed to not only compile your program with these flags,
+# but also link it with them as well. e.g. you should link with
+# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
+#
+# If you are only building threads programs, you may wish to use these
+# variables in your default LIBS, CFLAGS, and CC:
+#
+# LIBS="$PTHREAD_LIBS $LIBS"
+# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+# CC="$PTHREAD_CC"
+#
+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
+# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
+# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#
+# ACTION-IF-FOUND is a list of shell commands to run if a threads library
+# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
+# is not found. If ACTION-IF-FOUND is not specified, the default action
+# will define HAVE_PTHREAD.
+#
+# Please let the authors know if this macro fails on any platform, or if
+# you have any other suggestions or comments. This macro was based on work
+# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
+# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
+# Alejandro Forero Cuervo to the autoconf macro repository. We are also
+# grateful for the helpful feedback of numerous users.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright
-# owner gives unlimited permission to copy, distribute and modify the
-# configure scripts that are the output of Autoconf when processing
-# the Macro. You need not follow the terms of the GNU General Public
-# License when using or distributing such scripts, even though
-# portions of the text of the Macro appear in them. The GNU General
-# Public License (GPL) does govern all other use of the material that
-# constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the
-# Autoconf Macro released by the Autoconf Macro Archive. When you
-# make and distribute a modified version of the Autoconf Macro, you
-# may extend this special exception to the GPL to apply to your
-# modified version as well.
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 5
-AC_DEFUN([ACX_PTHREAD], [
+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
+AC_DEFUN([AX_PTHREAD], [
AC_REQUIRE([AC_CANONICAL_HOST])
AC_LANG_SAVE
AC_LANG_C
-acx_pthread_ok=no
+ax_pthread_ok=no
# We used to check for pthread.h first, but this fails if pthread.h
# requires special compiler flags (e.g. on True64 or Sequent).
@@ -102,9 +97,9 @@
save_LIBS="$LIBS"
LIBS="$PTHREAD_LIBS $LIBS"
AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with
CFLAGS=$PTHREAD_CFLAGS])
- AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
- AC_MSG_RESULT($acx_pthread_ok)
- if test x"$acx_pthread_ok" = xno; then
+ AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes)
+ AC_MSG_RESULT($ax_pthread_ok)
+ if test x"$ax_pthread_ok" = xno; then
PTHREAD_LIBS=""
PTHREAD_CFLAGS=""
fi
@@ -122,7 +117,7 @@
# which indicates that we try without any flags at all, and "pthread-config"
# which is a program returning the flags for the Pth emulation library.
-acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads
-mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads
-mthreads pthread --thread-safe -mt pthread-config"
# The ordering *is* (sometimes) important. Some notes on the
# individual items follow:
@@ -155,12 +150,12 @@
# who knows whether they'll stub that too in a future libc.) So,
# we'll just look for -pthreads and -lpthread first:
- acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags"
+ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
;;
esac
-if test x"$acx_pthread_ok" = xno; then
-for flag in $acx_pthread_flags; do
+if test x"$ax_pthread_ok" = xno; then
+for flag in $ax_pthread_flags; do
case $flag in
none)
@@ -173,8 +168,8 @@
;;
pthread-config)
- AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no)
- if test x"$acx_pthread_config" = xno; then continue; fi
+ AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no)
+ if test x"$ax_pthread_config" = xno; then continue; fi
PTHREAD_CFLAGS="`pthread-config --cflags`"
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config
--libs`"
;;
@@ -199,17 +194,22 @@
# pthread_cleanup_push because it is one of the few pthread
# functions on Solaris that doesn't have a non-functional libc stub.
# We try pthread_create on general principles.
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_t th; pthread_join(th, 0);
- pthread_attr_init(0); pthread_cleanup_push(0, 0);
- pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
- [acx_pthread_ok=yes])
+ AC_TRY_LINK([#include <pthread.h>
+ static void routine(void* a) {a=0;}
+ static void* start_routine(void* a) {return a;}],
+ [pthread_t th; pthread_attr_t attr;
+ pthread_join(th, 0);
+ pthread_attr_init(&attr);
+ pthread_cleanup_push(routine, 0);
+ pthread_create(&th,0,start_routine,0);
+ pthread_cleanup_pop(0); ],
+ [ax_pthread_ok=yes])
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
- AC_MSG_RESULT($acx_pthread_ok)
- if test "x$acx_pthread_ok" = xyes; then
+ AC_MSG_RESULT($ax_pthread_ok)
+ if test "x$ax_pthread_ok" = xyes; then
break;
fi
@@ -219,7 +219,7 @@
fi
# Various other checks:
-if test "x$acx_pthread_ok" = xyes; then
+if test "x$ax_pthread_ok" = xyes; then
save_LIBS="$LIBS"
LIBS="$PTHREAD_LIBS $LIBS"
save_CFLAGS="$CFLAGS"
@@ -268,12 +268,12 @@
AC_SUBST(PTHREAD_CC)
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$acx_pthread_ok" = xyes; then
+if test x"$ax_pthread_ok" = xyes; then
ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX
threads libraries and header files.]),[$1])
:
else
- acx_pthread_ok=no
+ ax_pthread_ok=no
$2
fi
AC_LANG_RESTORE
-])dnl ACX_PTHREAD
+])dnl AX_PTHREAD
--
To unsubscribe send an email to
nss-pam-ldapd-commits-unsubscribe@lists.arthurdejong.org or see
http://lists.arthurdejong.org/nss-pam-ldapd-commits
- nss-pam-ldapd commit: r1115 - in nss-pam-ldapd: . m4,
Commits of the nss-pam-ldapd project.