bug-inetutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-inetutils] configure.ac rewrite


From: Alfred M. Szmidt
Subject: [bug-inetutils] configure.ac rewrite
Date: Sat, 18 Jun 2011 10:39:01 -0400

So every ten years I seem to manage to rewrite configure.ac to follow
more modern principles.  Here is this decades version that I am
working one.  Mats, if you have time, could you try it out?  I am
guessing that things will break, I haven't really tested it very much
other than "it compiles on my box" and I know that some checks are
skipped.


===File ~/inetutils/configure.ac.diff=======================
diff --git a/configure.ac b/configure.ac
index c818dfa..1d783f3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,60 +20,65 @@
 
 AC_PREREQ(2.59)
 
-AC_INIT([GNU inetutils], m4_esyscmd([build-aux/git-version-gen 
.tarball-version]), address@hidden)
+AC_INIT([GNU inetutils],
+       m4_esyscmd([build-aux/git-version-gen .tarball-version]),
+       address@hidden)
 
-AC_CONFIG_SRCDIR([src/inetd.c])
 AC_CONFIG_AUX_DIR([build-aux])
 AM_CONFIG_HEADER([config.h:config.hin])
-AC_CANONICAL_HOST
-
 AM_INIT_AUTOMAKE([1.11])
+AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
 
-# config.h turns this on, so make sure it's on for our tests too
-#CPPFLAGS=-D_BSD_SOURCE
+### ./configure options
 
-dnl For now, we always use libexecdir; later we may want to vary where the
-dnl daemons go.
 inetdaemondir='$(libexecdir)'
 AC_SUBST(inetdaemondir)
 
 AC_ARG_WITH([krb4],
             AC_HELP_STRING([--with-krb4[[=PATH]]],
-                           [Compile with Kerberos IV]),
+                           [compile with Kerberos 4 support]),
             [KERBEROS_VERSION=4
              KERBEROS_DIR=$withval])
 AC_ARG_WITH([krb5],
-            AC_HELP_STRING([--with-krb5[[=PATH]]],
-                           [Compile with Kerberos V]),
+           AC_HELP_STRING([--with-krb5[[=PATH]]],
+                           [compile with Kerberos 5 support]),
             [KERBEROS_VERSION=5
              KERBEROS_DIR=$withval])
 AC_ARG_WITH([shishi],
             AC_HELP_STRING([--with-shishi[[=PATH]]],
-                          [Compile with Shishi (Kerberos 5)]),
+                           [compile with Shishi (Kerberos 5) support]),
             [KERBEROS_VERSION=Shishi
              KERBEROS_DIR=$withval])
+AC_ARG_WITH([wrap],
+            AC_HELP_STRING([--with-wrap],
+                           [compile with TCP wrapper support]))
+AC_ARG_WITH([pam],
+            AC_HELP_STRING([--with-pam],
+                           [compile with PAM support]))
 
 AC_ARG_ENABLE([servers],
-              AC_HELP_STRING([--disable-servers],
-                             [Don't compile servers]),
-             , [enable_servers=yes])
+             AC_HELP_STRING([--disable-servers],
+                            [don't compile servers]),
+             [], [enable_servers=yes])
 AC_ARG_ENABLE([clients],
               AC_HELP_STRING([--disable-clients],
-                             [Don't compile clients]),
-             , [enable_clients=yes])
+                             [don't compile clients]),
+             [], [enable_clients=yes])
 AC_ARG_ENABLE([libls],
               AC_HELP_STRING([--disable-libls],
-                             [Disable support for libls ]),
-              , [enable_libls=yes])
+                             [disable support for libls]),
+              [], [enable_libls=yes])
 AC_ARG_ENABLE([encryption],
               AC_HELP_STRING([--enable-encryption],
-                             [Enable encryption]),
-              [test -z "$KERBEROS_VERSION" && 
AC_MSG_ERROR([--enable-encryption is given but no Kerberos version is 
required])],
+                             [enable encryption]),
+              [test -z "$KERBEROS_VERSION" \
+               && AC_MSG_ERROR([--enable-encryption is given but no Kerberos 
version is required])],
               [test -z "$KERBEROS_VERSION" && enable_encryption=no])
 AC_ARG_ENABLE([authentication],
               AC_HELP_STRING([--enable-authentication],
-                             [Enable connection authentication]),
-              [test -z "$KERBEROS_VERSION" && 
AC_MSG_ERROR([--enable-authentication is given but no Kerberos version is 
required])],
+                             [enable connection authentication]),
+              [test -z "$KERBEROS_VERSION" \
+               && AC_MSG_ERROR([--enable-authentication is given but no 
Kerberos version is required])],
              [test -z "$KERBEROS_VERSION" && enable_authentication=no])
 
 if test -n "$KERBEROS_VERSION"; then
@@ -83,13 +88,6 @@ if test -n "$KERBEROS_VERSION"; then
   fi
 fi
 
-AC_ARG_WITH([wrap],
-            AC_HELP_STRING([--with-wrap],
-                           [Add tcp wrapper support]))
-AC_ARG_WITH([pam],
-            AC_HELP_STRING([--with-pam],
-                           [Add support for PAM]))
-
 IU_ENABLE_SERVER(ftpd)
 IU_ENABLE_SERVER(inetd)
 IU_ENABLE_SERVER(rexecd)
@@ -103,114 +101,40 @@ IU_ENABLE_SERVER(uucpd)
 
 IU_ENABLE_CLIENT(ftp)
 IU_ENABLE_CLIENT(hostname)
+IU_ENABLE_CLIENT(ifconfig)
+IU_ENABLE_CLIENT(logger)
 IU_ENABLE_CLIENT(ping)
 IU_ENABLE_CLIENT(ping6)
 IU_ENABLE_CLIENT(rcp)
 IU_ENABLE_CLIENT(rexec)
 IU_ENABLE_CLIENT(rlogin)
 IU_ENABLE_CLIENT(rsh)
-IU_ENABLE_CLIENT(logger)
 IU_ENABLE_CLIENT(talk)
 IU_ENABLE_CLIENT(telnet)
 IU_ENABLE_CLIENT(tftp)
-IU_ENABLE_CLIENT(whois)
-IU_ENABLE_CLIENT(ifconfig)
 IU_ENABLE_CLIENT(traceroute)
-
-AM_INIT_AUTOMAKE
-
-AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
-
-AC_ISC_POSIX
+IU_ENABLE_CLIENT(whois)
 
 ### Checks for programs.
+
 AC_PROG_CC
 gl_EARLY
-AC_CHECK_TOOL(AR, ar)
-AC_PATH_PROG(RM, rm, rm)
-AC_PROG_CPP
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-AC_PROG_RANLIB
 AC_PROG_YACC
-AC_PROG_LN_S
 AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
-
 gl_INIT
 
 ### Checks for libraries.
-AC_CHECK_LIB(nsl, inet_ntoa)
-AC_CHECK_LIB(resolv, gethostname)
-AC_CHECK_LIB(socket, getpeername)
-
-# See if a termcap library is available (under one of several names)
-IU_LIB_TERMCAP
-
-# We want to use libreadline if it is available.  However, it seems that the
-# guile hackers have had problems because there is a Solaris libreadline
-# that is different from the GNU libreadline; therefore we test for an obscure
-# function in the GNU libreadline.
-#AC_CHECK_LIB(termcap, tputs)
-#AC_CHECK_LIB(readline, rl_bind_key,,, -ltermcap)
-AC_CHECK_LIB(readline, rl_bind_key,
-             [LIBREADLINE=-lreadline
-              AC_DEFINE([HAVE_LIBREADLINE], 1,
-                  [Define to one if you have -lreadline])],
-             [LIBREADLINE=], "$LIBTERMCAP")
-AC_SUBST(LIBREADLINE)
-AC_SUBST(LIBTERMCAP)
-
-AC_CHECK_LIB(history, add_history,
-             [LIBHISTORY=-lhistory
-              AC_DEFINE([HAVE_LIBHISTORY], 1,
-                  [Define to one if you have -lhistory])],
-             [LIBHISTORY=])
-
-# If libhistory does not provide add_history check if libreadline has it.
-if test -z "$LIBHISTORY" && test -n "$LIBREADLINE"; then
-  AC_CHECK_LIB(readline, add_history,
-               [LIBHISTORY=-lreadline
-                AC_DEFINE([HAVE_LIBHISTORY], 1,
-                     [Define to one if you have -lhistory])],
-               [LIBHISTORY=])
-fi
-
-AC_SUBST(LIBHISTORY)
 
 dnl See if there's a separate libcrypt (many systems put crypt there)
 AC_CHECK_LIB(crypt, crypt, LIBCRYPT=-lcrypt)
 AC_SUBST(LIBCRYPT)
 
-dnl libutil is a 4.4BSD library that defines several functions handy for
-dnl inetutil daemons, doing such things as utmp frobbing, and pty setup.
+dnl libutil is a 4.4BSD library that defines several functions handy
+dnl for inetutils daemons, doing such things as utmp frobbing, and pty
+dnl setup.
 AC_CHECK_LIB(util, logout, LIBUTIL=-lutil)
 AC_SUBST(LIBUTIL)
 
-# Check if they want support for PAM.  Certain daemons like
-# ftpd have support for it.
-
-# See if we have libpam.a this is for ftpd.
-if test "$with_pam" = yes ; then
-  AC_CHECK_LIB(dl, dlopen)
-  AC_CHECK_LIB(pam, pam_authenticate, LIBPAM=-lpam)
-  if test "$ac_cv_lib_pam_pam_authenticate" = yes ; then
-     AC_DEFINE([WITH_PAM], 1, [Define to one if you have -lpam.])
-  fi
-fi
-AC_SUBST(LIBPAM)
-
-# Can we use libls? but we must have fchdir()
-if test "$enable_libls" = yes && test "$ac_cv_func_fchdir" = yes ; then
-  LIBLS="../libls/libls.a"
-  libls_BUILD="libls.a"
-  AC_DEFINE([WITH_LIBLS], 1, [Define to one if you have -lls])
-else
-  LIBLS=''
-  libls_BUILD=''
-fi
-AC_SUBST(LIBLS)
-AC_SUBST(libls_BUILD)
-
 # Only talk uses curses, so only check for it if we want that
 if test "$enable_talk" != no; then
   IU_LIB_CURSES
@@ -225,310 +149,31 @@ else
   talk_BUILD=''
 fi
 
-dnl FIXME: Make this test case a bit more robust. Remove KRB4
-LIBAUTH=
-INCAUTH=
-if test "$enable_encryption" = yes \
-   || test "$enable_authentication" = yes; then
-  AH_TEMPLATE(KERBEROS, [Define to one if you have Kerberos])
-  AH_TEMPLATE(KRB4, [Define to one if you have Kerberos IV])
-  AH_TEMPLATE(KRB5, [Define to one if you have Kerberos V])
-  AH_TEMPLATE(SHISHI, [Define to 1 if you have Shishi])
-  AH_TEMPLATE(DES_ENCRYPTION, [FIXME])
-
-  case $KERBEROS_VERSION in
-  4)
-    AC_CHECK_LIB(krb, krb_mk_req,
-                 LIBAUTH=-lkrb
-                  AC_DEFINE([KRB4]),
-                 -L$KERBEROS_DIR)
-    if test ".$LIBAUTH" != . ; then
-      AC_CHECK_LIB(des, des_key_sched,
-                   [LIBAUTH="$LIBAUTH -ldes"],
-                   -L$KERBEROS_DIR)
-      dnl FIXME: Fix this to one test case.
-      test "$enable_authentication" = yes \
-      && test "$ac_cv_lib_krb_krb_mk_req" = yes \
-      && AC_DEFINE([KRB4])
-
-      test "$enable_authentication" = yes \
-      && test "$ac_cv_lib_krb_krb_mk_req" = yes \
-      && AC_DEFINE([KERBEROS])
-
-      test "$enable_encryption" = yes \
-      && test "$ac_cv_lib_des_des_key_sched" = yes \
-      && AC_DEFINE([DES_ENCRYPTION])
-    fi
-    ;;
-  5)
-    IU_CHECK_KRB5($KERBEROS_VERSION,$KERBEROS_DIR)
-    LIBAUTH="$KRB5_LIBS" # FIXME
-    INCAUTH=$KRB5_CFLAGS
-    if test ".$LIBAUTH" != . ;then
-      AC_DEFINE([KERBEROS])
-      AC_DEFINE([KRB5])
-    fi
-    ;;
-  *)
-    if test x$KERBEROS_DIR != x; then
-      LIBAUTH=-L$KERBEROS_DIR/lib
-      INCAUTH=-I$KERBEROS_DIR/include
-    fi
-    LIBAUTH="$LIBAUTH -lshishi"
-    save_LIBS=$LIBS
-    LIBS="$LIBS $LIBAUTH"
-    save_CPPFLAGS=$CPPFLAGS
-    CPPFLAGS="$CPPFLAGS $INCAUTH"
-    AC_CHECK_HEADER(shishi.h,
-      AC_CHECK_LIB(shishi, shishi_check_version,
-        AC_DEFINE([SHISHI]),
-        [INCAUTH= LIBAUTH=]))
-    LIBS=$save_LIBS
-    CPPFLAGS=$save_CPPFLAGS
-  esac
-fi
-AC_SUBST(LIBAUTH)
-AC_SUBST(INCAUTH)
-
-dnl Define CPP macros that enable auth/encrypt code
-if test ".$LIBAUTH" != .; then
-  test "$enable_authentication" = yes && AC_DEFINE([AUTHENTICATION], 1,
-                   [Define to one if you want authentication.])
-  test "$enable_encryption" = yes     && AC_DEFINE([ENCRYPTION], 1,
-                   [Define to one if you want encryption.])
-fi
-
-dnl Checks for IPv6 support.
-
-AC_ARG_ENABLE([ipv6],
-  AS_HELP_STRING([--disable-ipv6], [disable IPv6 support]),
-  [case "${enable_ipv6}" in
-  no)
-    AC_MSG_NOTICE([Disabling IPv6 at user request])
-    ipv6=no
-    ;;
-  *)
-    ipv6=yes
-    ;;
-  esac],
-  [ipv6=auto]
-)
-
-working_ipv6=yes
-if test ! "X$ipv6" = "Xno" && test "X$working_ipv6" = "Xyes"; then
-  IU_CHECK_MACRO(AF_INET6, [#include <sys/socket.h>], , , working_ipv6=no)
-fi
-
-if test ! "X$ipv6" = "Xno" && test "X$working_ipv6" = "Xyes"; then
-  IU_CHECK_MACRO(IPV6_V6ONLY, [#include <netinet/in.h>], , , working_ipv6=no)
-fi
-
-if test ! "X$ipv6" = "Xno" && test "X$working_ipv6" = "Xyes"; then
-  AC_CHECK_TYPE(struct sockaddr_storage, , working_ipv6=no, [#include 
<sys/socket.h>])
-fi
-
-if test ! "X$ipv6" = "Xno" && test "X$working_ipv6" = "Xyes"; then
-  AC_CHECK_TYPE(struct sockaddr_in6, , working_ipv6=no, [#include <sys/types.h>
-#include <netinet/in.h>])
-fi
-
-if test ! "X$ipv6" = "Xno" && test "X$working_ipv6" = "Xyes"; then
-  AC_CHECK_TYPE(struct addrinfo, , working_ipv6=no, [#include <netdb.h>])
-fi
-
-if test ! "X$ipv6" = "Xno" && test "X$working_ipv6" = "Xyes"; then
-  AC_CHECK_FUNC(getnameinfo, ,working_ipv6=no, [#include <netdb.h>])
-fi
-
-if test ! "X$ipv6" = "Xno" && test "X$working_ipv6" = "Xyes"; then
-  AC_DEFINE([IPV6], 1, [Define to one if you want IPv6.])
-else
-  if test "X$ipv6" = "Xyes"; then
-    AC_MSG_FAILURE([IPv6 support not available])
-  else
-    if test "X$ipv6" = "Xauto"; then
-      AC_MSG_WARN([IPv6 support not available, disabling IPv6])
-    fi
-  fi
-fi
-
-if test "X$ipv6" = "Xno" || test "X$working_ipv6" = "Xno";then
-  ping6_BUILD=''
-else
-  working_icmp6=yes
-  AC_CHECK_HEADER(netinet/icmp6.h, , working_icmp6=no,
-    [IU_FLUSHLEFT([#ifdef HAVE_SYS_TYPES_H
-                  # include <sys/types.h>
-                  #endif
-                  #include <sys/socket.h>
-                  #include <netinet/in.h>])])
-
-  if test "X$working_icmp6" = "Xyes"; then
-    AC_CHECK_HEADER(netinet/ip6.h, , working_icmp6=no,
-      [IU_FLUSHLEFT([#ifdef HAVE_SYS_TYPES_H
-                    # include <sys/types.h>
-                    #endif
-                    #include <sys/socket.h>
-                    #include <netinet/in.h>])])
-
-  fi
-
-  if test "X$working_icmp6" = "Xyes"; then
-    AC_CHECK_TYPE(struct icmp6_filter, , working_icmp6=no,
-      [IU_FLUSHLEFT([#ifdef HAVE_SYS_TYPES_H
-                    # include <sys/types.h>
-                    #endif
-                    #include <sys/socket.h>
-                    #include <netinet/in.h>
-                    #include <netinet/icmp6.h>])])
-  fi
-
-  if test "X$working_icmp6" = "Xyes"; then
-    AC_CHECK_TYPE(struct icmp6_hdr, , working_icmp6=no,
-      [IU_FLUSHLEFT([#ifdef HAVE_SYS_TYPES_H
-                    # include <sys/types.h>
-                    #endif
-                    #include <sys/socket.h>
-                    #include <netinet/in.h>
-                    #include <netinet/icmp6.h>])])
-  fi
-
-  if test "X$working_icmp6" = "Xyes"; then
-    IU_CHECK_MACRO(IPV6_RECVHOPLIMIT, [#include <netinet/in.h>], ,
-                  [have_recvhoplimt=yes], [have_recvhoplimt=no])
-    if test "X$have_recvhoplimt" = "Xno"; then
-      IU_CHECK_MACRO(IPV6_HOPLIMIT, [#include <netinet/in.h>], , [
-        AC_DEFINE([IPV6_RECVHOPLIMIT], IPV6_HOPLIMIT,
-                  [Define to IPV6_HOPLIMIT if not available])
-      ], [working_icmp6=no])
-    fi
-  fi
-
-  if test "X$working_icmp6" = "Xyes"; then
-    IU_CHECK_MACRO(ICMP6_DST_UNREACH_BEYONDSCOPE,
-                   [#ifdef HAVE_SYS_TYPES_H
-                   # include <sys/types.h>
-                   #endif
-                   #include <sys/socket.h>
-                   #include <netinet/in.h>
-                   #include <netinet/icmp6.h>], ,
-                  [have_beyondscope=yes], [have_beyondscope=no])
-    if test "X$have_beyondscope" = "Xno"; then
-      IU_CHECK_MACRO(ICMP6_DST_UNREACH_NOTNEIGHBOR, [#include 
<netinet/icmp6.h>], , [
-        AC_DEFINE([ICMP6_DST_UNREACH_BEYONDSCOPE], 
ICMP6_DST_UNREACH_NOTNEIGHBOR,
-                  [Define to ICMP6_DST_UNREACH_NOTNEIGHBOR if not available])
-      ], [working_icmp6=no])
-    fi
-  fi
-
-  if test "X$working_icmp6" = "Xno"; then
-    AC_MSG_WARN([ICMPv6 support not available, disabling ping6])
-    ping6_BUILD=''
-  fi
-fi
-
-
-dnl Check if they want support for Wrap.  Certain daemons like
-dnl ftpd have support for it.
-
-if test "$with_wrap" = yes; then
-dnl See if we have libwrap.a
-dnl we cannot use AC_CHECK_LIB reliably since for the wrap lib
-dnl you have to define some global variables
-#AC_CHECK_LIB(wrap, hosts_ctl, LIBWRAP=-lwrap)
-  AC_MSG_CHECKING(hosts_ctl in -lwrap);
-  save_LIBS=$LIBS
-  LIBS="$save_LIBS -lwrap"
-  AC_TRY_LINK([int allow_severity = 1; int deny_severity = 1;],
-              hosts_ctl(), eval "ac_cv_lib_wrap_hosts_ctl=yes",
-              eval "ac_cv_lib_wrap_hosts_ctl=no")
-  LIBS=$save_LIBS
-  if test "$ac_cv_lib_wrap_hosts_ctl" = yes ; then
-    AC_DEFINE([WITH_WRAP], 1, [Define to one if you have -lwrap.])
-    LIBWRAP=-lwrap
-  fi
-  AC_MSG_RESULT($ac_cv_lib_wrap_hosts_ctl);
-fi
-AC_SUBST(LIBWRAP)
-
 ### Checks for header files.
-AC_HEADER_STDC
-AC_HEADER_TIME
-AC_HEADER_DIRENT
-
-AC_CHECK_HEADERS([arpa/nameser.h des.h errno.h fcntl.h features.h glob.h \
-                  krb.h memory.h malloc.h netinet/in_systm.h netinet/ip.h \
-                  netinet/ip_icmp.h netinet/ip_var.h \
-                 readline/readline.h \
-                 security/pam_appl.h \
-                  shadow.h stdarg.h stdlib.h string.h stropts.h sys/tty.h \
-                  sys/utsname.h sys/ptyvar.h sys/msgbuf.h sys/filio.h \
-                  sys/ioctl_compat.h sys/cdefs.h sys/stream.h sys/mkdev.h \
-                 sys/sockio.h sys/sysmacros.h sys/param.h sys/file.h \
-                 sys/proc.h sys/select.h sys/time.h sys/wait.h \
-                  sys/resource.h \
-                 stropts.h tcpd.h utmp.h utmpx.h unistd.h \
-                  vis.h], [], [], [
-#include <sys/types.h>
-#ifdef HAVE_NETINET_IN_SYSTM_H
-# include <netinet/in_systm.h>
-#endif
-#include <netinet/in.h>
-#ifdef HAVE_NETINET_IP_H
-# include <netinet/ip.h>
-#endif
-#ifdef HAVE_SYS_PARAM_H
-# include <sys/param.h>
-#endif
-]
-
-)
 
-### Checks for types.
-dnl Checks return type of signal handlers
-AC_TYPE_SIGNAL
+AC_CHECK_HEADERS([utmp.h utmpx.h])
 
-AC_CHECK_TYPE(socklen_t, ,
-              [AC_DEFINE([socklen_t], int,
-                         [Define to int if <sys/types.h> does not define])],
-              [IU_FLUSHLEFT([#include <sys/types.h>
-                            #include <sys/socket.h>])])
+### Checks for types.
 
 AC_CHECK_TYPES(struct if_nameindex, , ,
   [IU_FLUSHLEFT([#include <sys/types.h>
                  #include <sys/socket.h>
                  #include <net/if.h>])])
 
-dnl sigset_t is a set of signals (4.4BSD)
-AC_CHECK_TYPE(sigset_t, , AC_DEFINE([sigset_t], unsigned long, [FIXME]),
-  [IU_FLUSHLEFT([#include <sys/types.h>
-                 #include <signal.h> ])])
-
-dnl I'm not sure what this is, but netbsd has it; just use int if necessary.
-AC_CHECK_TYPE(sig_atomic_t, , AC_DEFINE([sig_atomic_t], int, [FIXME]),
-  [IU_FLUSHLEFT([#include <sys/types.h>
-                 #include <signal.h> ])])
-
-dnl Check for compile support for ceratin type
-AC_CHECK_TYPE(long long, , AC_DEFINE([LONG_LONG], long, [Define to long if 
compiler does not support]))
-AC_CHECK_TYPE(long double, , AC_DEFINE([LONG_DOUBLE], double, [Define to 
double if compiler does not support]))
-
 ### Checks for structures.
-IU_CHECK_MEMBERS([struct sockaddr_in.sin_len], , ,
-    [ #include <sys/types.h>
-      #include <netinet/in.h> ])
 
 if test "$ac_cv_header_utmp_h" = yes; then
   AC_CHECK_TYPES(struct lastlog, , , [#include <utmp.h>])
   IU_CHECK_MEMBERS([struct utmp.ut_type, struct utmp.ut_pid,
-                    struct utmp.ut_id, struct utmp.ut_user,
+                   struct utmp.ut_id, struct utmp.ut_user,
                    struct utmp.ut_host, struct utmp.ut_tv,
                    struct utmp.ut_exit], , ,
                   [#include <sys/types.h>
                    #include <utmp.h>])
 fi
+
 if test "$ac_cv_header_utmpx_h" = yes; then
-  IU_CHECK_MEMBERS([struct utmpx.ut_tv], , , [#include <utmpx.h>])
+  IU_CHECK_MEMBERS([struct utmpx.ut_tv], [], [], [#include <utmpx.h>])
 fi
 
 IU_CHECK_MEMBERS([struct ifreq.ifr_index,
@@ -539,47 +184,10 @@ IU_CHECK_MEMBERS([struct ifreq.ifr_index,
                   #include <sys/socket.h>
                   #include <net/if.h>])
 
-IU_CHECK_MEMBERS([struct sockaddr.sa_len], , ,
-                 [#include <sys/types.h>
-                  #include <sys/socket.h>])
-IU_CHECK_MEMBERS([struct hostent.h_addr_list], , , [#include <netdb.h>])
-
-IU_CHECK_MEMBERS([struct stat.st_blksize])
-
 ### Checks for compiler characteristics.
-AM_C_PROTOTYPES dnl FIXME: Does inetutils even compile on pre-ANSI compilers?
-AC_C_CONST
-
-dnl See if `weak refs' are possible; these make it possible (with shared
-dnl libraries) to check for the existance of a standard function at run-time
-dnl instead of compile time, which is very handy for distributing binary
-dnl version programs that automatically adapt -- in inetutils case, to whether
-dnl or not crypt is available.
-IU_CHECK_WEAK_REFS
-
 ### Checks for library functions.
-AC_FUNC_CLOSEDIR_VOID
-AC_FUNC_ALLOCA
-AC_FUNC_SETVBUF_REVERSED
-AC_FUNC_FORK
-AC_FUNC_STRCOLL
-AC_FUNC_MMAP
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
-
-AC_CHECK_FUNCS(cfsetspeed cgetent dirfd fchdir flock \
-               fork fpathconf ftruncate \
-              getcwd getmsg getspnam initgroups initsetproctitle killpg \
-               mkstemp ptsname \
-               setegid seteuid setpgid \
-               setsid setregid setreuid setresgid setresuid setutent_r \
-               sigaction sigvec strchr setproctitle tcgetattr tzset utimes \
-               utime uname \
-               updwtmp updwtmpx vhangup wait3 wait4 opendir2 __rcmd_errstr)
-
-dnl Functions that we will define if necessary.
-AC_REPLACE_FUNCS(getpass getusershell memcmp memcpy memmove memset \
-                setenv strdup poll)
+
+AC_CHECK_FUNCS([fchdir sigaction fork])
 
 dnl Look for the crypt function itself (in libcrypt if possible)
 _SAVE_LIBS="$LIBS"
@@ -587,70 +195,6 @@ LIBS="$LIBCRYPT $LIBS"
 AC_CHECK_FUNCS(crypt)
 LIBS="$_SAVE_LIBS"
 
-AC_CHECK_FUNC(_obstack_free)
-
-dnl Use (posix) `setpgid' if it's around, otherwise assume a BSD setpgrp
-AC_CHECK_FUNC(setpgid, , AC_DEFINE([setpgid], setpgrp,
-                          [Define to `setpgrp' if you don't have `setpgid'.]))
-
-dnl We use our own version of getopt (including our own header file) if the
-dnl system one doesn't have getopt_long.
-AC_CHECK_FUNC(getopt_long)
-
-AC_CHECK_HEADER(poll.h)
-
-dnl See if snprintf exists, otherwise just use a bogus version
-AC_CHECK_FUNC(snprintf,
-  [AC_DEFINE([HAVE_SNPRINTF], 1, [Define to one if you have snprintf])])
-
-dnl See if vsnprintf exists, otherwise use our own.
-AC_CHECK_FUNC(vsnprintf,
-  [AC_DEFINE([HAVE_VSNPRINTF], 1, [Define to one if you have vsnprintf])])
-
-dnl See if the system has strerror, and replace it if not
-AC_CHECK_FUNC(strerror)
-if test "$ac_cv_func_strerror" = no; then
-  # No strerror, so see if the SYS_ERRLIST variable can be used by ours
-  AC_CHECK_FUNC(sys_errlist, AC_DEFINE([HAVE_SYS_ERRLIST], 1,
-                              [Define to one if you have sys_errlist.]))
-  if test "$ac_cv_func_sys_errlist" = yes; then
-    AC_CHECK_DECL(sys_errlist, , ,
-      [IU_FLUSHLEFT([#include <stdio.h>
-                    #include <errno.h>])])
-  fi
-fi
-
-dnl See if the system has hstrerror, and replace it if not
-AC_CHECK_FUNC(hstrerror)
-if test "$ac_cv_func_hstrerror" = yes; then
-  AC_CHECK_DECL(hstrerror, , , [#include <netdb.h>])
-else
-  # No hstrerror, so see if the H_ERRLIST variable can be used by ours
-  AC_CHECK_FUNC(h_errlist)
-  if test "$ac_cv_func_h_errlist" = yes; then
-    AC_CHECK_DECL(h_errlist, , , [#include <netdb.h>])
-  fi
-fi
-if test "$ac_cv_func_hstrerror" = yes \
-   || test "$ac_cv_func_h_errlist" = yes; then
-  # If there's a system hstrerror, or we can reasonably replace it, say so.
-  # We still provide some definition, regardless, but this allows people to use
-  # a reasonable alternative if the situation allows, rather than using a
-  # degenerate version that only says `Host lookup error N'.
-  AC_DEFINE([HAVE_HSTRERROR], 1, [Define to one if you have hstrerror.])
-fi
-
-## Checks for function declarations.
-
-AC_DECL_SYS_SIGLIST
-
-AC_CHECK_DECLS(crypt, , , [#include <unistd.h>])
-
-dnl EWOULDBLOCK is more or less the BSD version of posix EAGAIN.
-IU_CHECK_MACRO(EWOULDBLOCK, [#include <errno.h>], , ,
-  AC_DEFINE([EWOULDBLOCK], EAGAIN, 1, [FIXME]))
-AC_CHECK_DECLS(errno, , , [#include <errno.h>])
-
 dnl See whether <syslog.h> will declare special internal stuff if we define
 dnl SYSLOG_NAMES before including it.  We check for various syslog internal
 dnl macros, the typedef `CODE', and the variable `prioritynames'.
@@ -664,113 +208,31 @@ IU_CHECK_MACRO(syslog internal macros,
   AC_CHECK_TYPE(CODE,
     AC_CHECK_DECL(prioritynames,
       AC_DEFINE([HAVE_SYSLOG_INTERNAL], 1, [FIXME]),,
-      iu_syslog_includes), , iu_syslog_includes),)
+      iu_syslog_includes), [], iu_syslog_includes),)
 undefine([iu_syslog_includes])
 
-dnl Some systems don't declare common functions (especially if they return
-dnl int), at least in the expected header file.  Check.
-AC_CHECK_DECLS([fclose, pclose], , , [#include <stdio.h>])
-AC_CHECK_DECLS([getcwd, getlogin, getpass, getusershell, ttyname], , ,
-               [#include <unistd.h>])
-
-AC_CHECK_DECLS([getgrnam, initgroups], , , [#include <grp.h>])
-
-AC_CHECK_DECLS(htons, , ,
-  [IU_FLUSHLEFT([#ifdef HAVE_SYS_TYPES_H
-                 # include <sys/types.h>
-                 #endif
-                 #ifdef HAVE_SYS_PARAM_H
-                 # include <sys/param.h>
-                 #endif
-                 #include <netinet/in.h> ])])
-
-dnl Our home-grown version of setenv needs to use ENVIRON
-AC_CHECK_DECLS(environ, , ,
-  [IU_FLUSHLEFT([#include <unistd.h>
-                 #include <stdlib.h>])])
-
-dnl See if we have h_errno (the test is here so we can use -lresolv
-dnl if necessary).
-AC_CACHE_CHECK([for h_errno], inetutils_cv_var_h_errno,
-  AC_TRY_COMPILE([#include <netdb.h>],
-    [ extern int h_errno; int iu_x = h_errno; ],
-    inetutils_cv_var_h_errno=yes, inetutils_cv_var_h_errno=no))
-if test "$inetutils_cv_var_h_errno" = yes; then
-  dnl FIXME: Isn't this wrong? Shouldn't the declaration check define
-  dnl        this if we find h_errno?
-  AC_DEFINE([HAVE_H_ERRNO], 1, [Define to one if you have h_errno.])
-  AC_CHECK_DECL(h_errno, , , [#include <netdb.h>])
+# Can we use libls? but we must have fchdir()
+if test "$enable_libls" = yes && test "$ac_cv_func_fchdir" = yes ; then
+  LIBLS="../libls/libls.a"
+  libls_BUILD="libls.a"
+  AC_DEFINE([WITH_LIBLS], 1, [Define to one if you have -lls])
+else
+  LIBLS=''
+  libls_BUILD=''
 fi
+AC_SUBST(LIBLS)
+AC_SUBST(libls_BUILD)
 
-## Checks for CPP macros.
-dnl Look for the posix SEEK_ macros (for lseek), and if not found, try the
-dnl similar berkeley L_ macros; if neither can be found, use the classic unix
-dnl values.
-IU_CHECK_MACRO(SEEK_ macros,
-  [#include <unistd.h>], SEEK_SET SEEK_CUR SEEK_END,
-  :,
-  IU_CHECK_MACRO(L_ seek macros,
-    [#include <unistd.h>], L_SET L_INCR L_XTND,
-    AC_DEFINE([SEEK_SET], L_SET, [FIXME])
-    AC_DEFINE([SEEK_CUR], L_INCR, [FIXME])
-    AC_DEFINE([SEEK_END], L_XTND, [FIXME]),
-    AC_DEFINE([SEEK_SET], 0, [FIXME])
-    AC_DEFINE([SEEK_CUR], 1, [FIXME])
-    AC_DEFINE([SEEK_END], 2, [FIXME])))
-
-dnl Look for the posix _FILENO macros; if not found, use the classic unix 
values.
-IU_CHECK_MACRO(_FILENO macros,
-  [#include <unistd.h>], STDIN_FILENO STDOUT_FILENO STDERR_FILENO,
-  :,
-  AC_DEFINE([STDIN_FILENO], 0, [FIXME])
-  AC_DEFINE([STDOUT_FILENO], 1, [FIXME])
-  AC_DEFINE([STDERR_FILENO], 2, [FIXME]))
-
-dnl See where to find fd_set (bit-vectors for select) manipulation macros.
-IU_CHECK_MACRO(fd_set macros, [#include <sys/types.h>],
-  FD_ZERO FD_CLR FD_SET FD_ISSET)
-if test "$inetutils_cv_macro_fd_set_macros" = no; then
-  IU_CHECK_MACRO(fd_set macros in <sys/time.h>, [#include <sys/time.h>],
-    FD_ZERO FD_CLR FD_SET FD_ISSET)
-fi
+### Checks for system services.
 
-dnl Configure paths used by inetutils programs.  See the file `paths' for
-dnl details.
+dnl Configure directories used by inetutils programs.  See the file
+dnl `paths' for details.
 PATHDEFS_MAKE=pathdefs.make
 PATHS_DEFS=paths.defs
 IU_CONFIG_PATHS($srcdir/paths, PATHDEFS_MAKE, PATHS_DEFS)
-AH_BOTTOM(
-[/* Defaults for PATH_ variables.  */
+AH_BOTTOM([/* Defaults for PATH_ variables.  */
 #include <confpaths.h>])
 
-dnl Define ARG_UNUSED macro
-dnl
-AH_BOTTOM([
-#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-#  define __attribute__(x)
-#endif
-
-#ifndef ARG_UNUSED
-# define ARG_UNUSED __attribute__ ((__unused__))
-#endif
-])
-
-dnl Ok this is the end of the rope, even autoconf can't help.
-dnl For example on certain system login(1) will not work if we
-dnl don't have an entry in utmpx.
-dnl Also for some OS they are better handle with STREAMS
-case "$host" in
-*olaris*)
-  AC_DEFINE([SOLARIS], 1, [FIXME])
-  AC_DEFINE([UTMPX], 1, [FIXME])
-  AC_DEFINE([HAVE_STREAMSPTY], 1, [FIXME])
-  ;;
-*irix* | *hpux*)
-  AC_DEFINE([UTMPX], 1, [FIXME])
-  AC_DEFINE([UTMPX], 1, [FIXME])
-  ;;
-esac
-
 AC_CONFIG_FILES([
 Makefile
 lib/Makefile
============================================================



reply via email to

[Prev in Thread] Current Thread [Next in Thread]