fixed libtool check, sort of...
[mmh] / configure.in
index d4b924d..35c2212 100644 (file)
@@ -9,6 +9,19 @@ AC_CONFIG_HEADER(config.h)
 
 AC_CANONICAL_SYSTEM
 
+dnl ---------------------
+dnl define a macro or two
+dnl ---------------------
+
+AC_DEFUN(NMH_PROG_GNU_LIBTOOL, [
+  tmptest=`$LIBTOOL --version 2>&1 | grep GNU`
+  if test x"$tmptest" != x  ; then
+    GNU_LIBTOOL=1
+    AC_SUBST(GNU_LIBTOOL)
+  fi
+] )
+  
+
 dnl What version of nmh are we building?
 VERSION=`sed -e 's/nmh-//' ${srcdir}/VERSION`
 echo "configuring for nmh-$VERSION"
@@ -155,6 +168,11 @@ dnl Look for `cut'
 pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
 AC_PATH_PROG(cutpath, cut, no, [$pathtmp])
 
+
+dnl try to figure out which one we've got
+AC_CHECK_PROG(LIBTOOL, libtool, libtool, , [$pathtmp])
+NMH_PROG_GNU_LIBTOOL
+
 dnl Check for lorder and tsort commands
 AC_CHECK_PROG(LORDER, lorder, lorder, no)dnl
 AC_CHECK_PROG(TSORT, tsort, tsort, no)dnl
@@ -165,6 +183,12 @@ if test x$ac_cv_prog_LORDER != xlorder -o x$ac_cv_prog_TSORT != xtsort; then
   TSORT=cat
   AC_SUBST(LORDER)dnl
   AC_SUBST(TSORT)dnl
+dnl Mac OS X has lorder, but sh is too broken for it to work
+dnl elif test -z "`lorder config/config.c 2>&1 | grep config/config.c`" ; then
+dnl   LORDER=echo
+dnl   TSORT=cat
+dnl   AC_SUBST(LORDER)dnl
+dnl   AC_SUBST(TSORT)dnl
 fi
 
 dnl Look for `ls'
@@ -285,9 +309,10 @@ AC_HEADER_SYS_WAIT
 AC_HEADER_STAT
 AC_CHECK_HEADERS(string.h memory.h stdlib.h unistd.h errno.h fcntl.h \
                  limits.h crypt.h termcap.h termio.h termios.h locale.h \
-                 sys/param.h sys/time.h sys/utsname.h arpa/inet.h \
+                 netdb.h sys/param.h sys/time.h sys/utsname.h arpa/inet.h \
                  arpa/ftp.h)
 
+
 AC_CACHE_CHECK(POSIX termios, nmh_cv_sys_posix_termios,
 [AC_TRY_LINK([#include <sys/types.h>
 #include <unistd.h>
@@ -321,6 +346,15 @@ if test $nmh_cv_header_termios_h_tiocgwinsz = no; then
   fi
 fi
  
+dnl
+dnl Checks for _IO_write_ptr. A Linuxism used by nmh on linux. We
+dnl really use a whole set of them, but this check should be
+dnl sufficient.
+dnl
+AC_CHECK_HEADER(libio.h, [
+  AC_EGREP_HEADER(_IO_write_ptr, libio.h, [
+    AC_DEFINE(LINUX_STDIO) ]) ]) 
+
 AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM))
 
 dnl ---------------
@@ -329,7 +363,12 @@ dnl ---------------
 AC_FUNC_VFORK
 AC_CHECK_LIB(mkstemp,mkstemp)
 AC_CHECK_FUNCS(waitpid wait3 sigaction sigprocmask sigblock sigsetmask \
-               sighold sigrelse writev lstat uname tzset killpg mkstemp)
+               sighold sigrelse writev lstat uname tzset killpg mkstemp \
+               sethostent)
+
+dnl solaris screws ths up
+AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)],
+  AC_CHECK_LIB(nsl, gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)] ) )
 
 dnl sigsetjmp may be a macro
 AC_MSG_CHECKING(for sigsetjmp)
@@ -573,29 +612,21 @@ case "$target_os" in
     AC_DEFINE(SVR4)
     ;;
   sunos4*)
-    AC_DEFINE(BIND)
     AC_DEFINE(BSD42)
     ;;
-  linux*)
-    AC_DEFINE(LINUX_STDIO)
-    ;;
   freebsd*)  
-    AC_DEFINE(BIND)
     AC_DEFINE(BSD42)
     AC_DEFINE(BSD44)
     ;;
   netbsd*)
-    AC_DEFINE(BIND)
     AC_DEFINE(BSD42)
     AC_DEFINE(BSD44)
     ;;
   openbsd*)
-    AC_DEFINE(BIND)
     AC_DEFINE(BSD42)
     AC_DEFINE(BSD44)
     ;;
   bsd/os*)
-    AC_DEFINE(BIND)
     AC_DEFINE(BSD42)
     AC_DEFINE(BSD44)
     ;;