dnl
LIBPAM_VERSION_MAJOR=0
-LIBPAM_VERSION_MINOR=75
+LIBPAM_VERSION_MINOR=76
AC_SUBST(LIBPAM_VERSION_MAJOR)
AC_SUBST(LIBPAM_VERSION_MINOR)
OS=`uname|sed -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
AC_SUBST(OS)
+SHLIBMODE=755 ; AC_SUBST(SHLIBMODE)
+
dnl These are most likely platform specific - I think HPUX differs
-DYNTYPE=so ; AC_SUBST(DYNTYPE)
-LIBDL=-ldl ; AC_SUBST(LIBDL)
USESONAME=yes ; AC_SUBST(USESONAME)
-NEEDSONAME=yes ; AC_SUBST(NEEDSONAME)
-SHLIBMODE=755 ; AC_SUBST(SHLIBMODE)
+SOSWITCH=-soname ; AC_SUBST(SOSWITCH)
+NEEDSONAME=no ; AC_SUBST(NEEDSONAME)
+LDCONFIG=/sbin/ldconfig ; AC_SUBST(LDCONFIG)
dnl ### Should enable this INSTALL detection.
dnl ### Would need to distribute GNU's config.guess and config.sub
dnl AC_PROG_INSTALL
-INSTALL=/usr/bin/install ; AC_SUBST(INSTALL)
+if test "$OS" = "aix"; then
+ INSTALL=/usr/ucb/install -c
+else
+ INSTALL=/usr/bin/install
+fi
+AC_SUBST(INSTALL)
dnl Checks for programs.
AC_PROG_CC
AC_CHECK_LIB(c, lckpwdf, HAVE_LCKPWDF=yes, HAVE_LCKPWDF=no)
AC_SUBST(HAVE_LCKPWDF)
+dnl Checks for the existence of libdl - on BSD its part of libc
+AC_CHECK_LIB(dl, dlopen, LIBDL=-ldl)
+AC_SUBST(LIBDL)
+
dnl
dnl At least on Solaris, the existing libcrack must be dynamic.
dnl Ought to introduce a check for this.
-Wnested-externs -Winline -Wshadow"
if test "$GCC" = yes; then
-###
-### Non-Linux needs attention on per-OS basis
- OS_CFLAGS="-ansi -D_POSIX_SOURCE -pedantic"
- WARNINGS="$GCC_WARNINGS"
- PIC="-fPIC"
-#can/should we use LD=gcc ???
- LD=ld
- LD_D="gcc -shared -Xlinker -x"
- LD_L="$LD -x -shared"
- RANLIB=ranlib
- STRIP=strip
- CC_STATIC="-Xlinker -export-dynamic"
+### May need per-OS attention
+### Example: -D_POSIX_SOURCE: needed on Linux but harms Solaris.
+ case $OS in
+ linux)
+ OS_CFLAGS="-ansi -D_POSIX_SOURCE -pedantic"
+ LD_D="gcc -shared -Xlinker -x"
+ WARNINGS="$GCC_WARNINGS"
+ PIC="-fPIC"
+ DYNTYPE=so
+ LD=ld
+ LD_L="$LD -x -shared"
+ RANLIB=ranlib
+ STRIP=strip
+ CC_STATIC="-Xlinker -export-dynamic"
+ ;;
+ sunos)
+ OS_CFLAGS="-ansi -pedantic"
+ LD_D="gcc -shared -Xlinker -x"
+ WARNINGS="$GCC_WARNINGS"
+ PIC="-fPIC"
+ DYNTYPE=so
+ LD=ld
+ LD_L="$LD -x -shared"
+ RANLIB=ranlib
+ STRIP=strip
+ CC_STATIC="-Xlinker -export-dynamic"
+ ;;
+ aix)
+ OS_CFLAGS=""
+ DYNTYPE=lo
+ LD=ld
+ LD_L=ld -bexpall -bM:SRE -bnoentry
+ LD_D="$LD_L"
+ RANLIB=ranlib
+ STRIP=strip
+ ;;
+ *)
+ OS_CFLAGS=""
+ ;;
+ esac
else
###
### Non-gcc needs attention on per-OS basis
OS_CFLAGS=""
WARNINGS=""
PIC="-K pic"
+ DYNTYPE=so
LD=ld
LD_D="cc -z text -G -R."
LD_L="$LD_D"
CC_STATIC=
fi
+AC_SUBST(DYNTYPE)
AC_SUBST(OS_CFLAGS)
AC_SUBST(WARNINGS)
AC_SUBST(PIC)