dnl Process this file with autoconf to produce a configure script.
AC_INIT(xdvi.c)

sinclude(../kpathsea/common.ac)

AC_FUNC_VFORK
AC_FUNC_VPRINTF
AC_HEADER_SYS_WAIT
AC_TYPE_SIGNAL

# <sys/bsdtypes.h> is for ISC 4.0, to define fd_set in psgs.c.
AC_CHECK_FUNCS(strerror)
AC_CHECK_HEADERS(WWWLib.h netdb.h sys/bsdtypes.h)

# For the bitmap size.
AC_CHECK_SIZEOF(long)

# Do we have the SIGIO signal (and F_SETOWN and FASYNC)?
AC_MSG_CHECKING(for SIGIO)
AC_CACHE_VAL(kb_cv_sys_sigio,
[AC_TRY_COMPILE([#include <signal.h>
#include <fcntl.h>],
  [int x = SIGIO + F_SETOWN + FASYNC;],
  kb_cv_sys_sigio=yes, kb_cv_sys_sigio=no)])dnl
AC_MSG_RESULT($kb_cv_sys_sigio)
if test $kb_cv_sys_sigio = yes; then
  AC_DEFINE(HAVE_SIGIO)
fi

sinclude(../kpathsea/xt.ac)
sinclude(withenable.ac)

# For --with-x-toolkit.  Only distinguish `no' from everything else.
# They don't get to disable X entirely, this is *x*dvi.

# -lXext may not be present, and that may be ok.  Link with it only if it is.
if test -z "$x_ext_lib"; then # allow envvar override
  AC_CHECK_LIB(Xext, XextCreateExtension,
               x_ext_lib=-lXext, :, -lX11 $X_EXTRA_LIBS)
fi
AC_SUBST(x_ext_lib)

if test "x$with_x_toolkit" = xno; then
  AC_DEFINE(NOTOOL)
  x_tool_libs=
else
  # Effectively promote --with-x-toolkit=xt to athena since the code
  # does not distinguish.
  x_tool_libs="-lXaw -lXmu -lXt"
fi
AC_SUBST(x_tool_libs)

# For --with-ps.
test -z "$PS_DEF" && PS_DEF=-DPS_GS
test "$PS_DEF" = no && PS_DEF=
AC_SUBST(PS_DEF)dnl
dnl
# If we're on Solaris and we want DPS, then add the extra compilation stuff
# to get it.
if echo "$PS_DEF" | grep PS_DPS >/dev/null; then
   if test "`(uname) 2>/dev/null`" = SunOS \
      && uname -r | grep '^5' >/dev/null; then
    AC_MSG_RESULT(adding DPS includes and libraries for Solaris)
    X_CFLAGS="$X_CFLAGS -I/usr/openwin/include/X11"
    AC_CHECK_LIB(sunmath, isinf, ac_sunmath=-lsunmath, ac_sunmath="")
    X_LIBS="$X_LIBS -R/usr/openwin/lib /usr/openwin/lib/libdps.so $ac_sunmath"
    # We only need isinf and ieeefp.h to work around a Solaris bug in
    # -ldps; see psdps.c.  isinf is in -lsunmath.
    AC_CHECK_FUNCS(isinf)
    AC_CHECK_HEADERS(ieeefp.h)
  else
    # SunOS 4.x is simpler.
    AC_MSG_RESULT(adding DPS includes and libraries for SunOS 4.x)
    X_LIBS="$X_LIBS -ldps"
  fi
elif echo "$PS_DEF" | grep PS_NEWS >/dev/null; then
    AC_MSG_RESULT(adding NeWS libraries)
    X_LIBS="$X_LIBS -lxview -lcps -lolgx -lxvps"
fi

dnl If we have WWWLib.h and libwww, enable hypertex.
dnl I'd like to use AC_CHECK_LIB for the library check,
dnl but the programming interface for libwww includes many
dnl application-defined routines and variables. It would be painful to
dnl define them all in a test program, and prone to fail in future
dnl releases. So we use the old AC_HAVE_LIBRARY instead, and disable the
dnl obsolete message. (Which is why we do this last.)
define([AC_OBSOLETE],)
AC_HAVE_LIBRARY(www)
if test "$ac_cv_header_WWWLib_h" != yes || test "$ac_cv_lib_www" != yes; then
  echo "$0: No WWWLib.h, or no libwww, so disabling hyper-xdvi extensions."
  echo "$0: You can get libwww from ftp://ftp.w3.org/pub/libwww/."
  echo "$0: If you do install it later, don't forget to remove values"
  echo "$0: in any Autoconf cache files before rerunning configure."
fi

AC_OUTPUT(Makefile)
