dnl Process this file with autoconf to produce a configure script. -*-sh-*-
AC_INIT(include/sane/config.h.in)
AC_CONFIG_HEADER(include/sane/config.h)
# AC_PREREQ(2.10)dnl		dnl Minimum Autoconf version required.
# AC_ARG_PROGRAM

# version code:
V_MAJOR=1
V_MINOR=0
V_BUILD=4

PACKAGE=sane-frontends

GUIPROGS="xscanimage xcam"
BINPROGS=""

# languages
# ALL_LINGUAS="cs de fr sv it tr"

SANE_V_MAJOR=1
VERSION=${V_MAJOR}.${V_MINOR}.${V_BUILD}
PACKAGE_VERSION="$PACKAGE-$VERSION"
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_DEFINE_UNQUOTED(PACKAGE_VERSION, "$PACKAGE_VERSION")
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(PACKAGE_VERSION)
AC_SUBST(SANE_MAJOR)

dnl Check if GUIs shall be compiled
AC_ARG_ENABLE(guis, [  --disable-guis          do not compile graphical user interfaces (GUIs)], USE_GUI=$enableval, USE_GUI=yes)

dnl Check for gimp plugin support
AC_MSG_CHECKING([whether GIMP plugin is requested])
dnl Default is enabled GIMP plugin
AC_ARG_ENABLE(gimp, [  --disable-gimp          do not include GIMP plugin mode], USE_GIMP=$enableval, USE_GIMP=yes)
AC_MSG_RESULT($USE_GIMP)

dnl Checks for programs.
AC_PROG_CC
AC_AIX
AC_MINIX
AC_ISC_POSIX
AM_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL

INCLUDES="${INCLUDES} -I/usr/local/include"
CPPFLAGS="${CPPFLAGS} -D_GNU_SOURCE"
if test "${ac_cv_prog_gcc}" = "yes"; then
  CFLAGS="${CFLAGS} -Wall"
fi

dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h unistd.h libc.h sys/time.h sys/types.h)

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
AC_TYPE_PID_T
AC_CHECK_TYPE(ssize_t, long)
AC_CHECK_TYPE(u_char, unsigned char)
AC_CHECK_TYPE(u_int, unsigned int)
AC_CHECK_TYPE(u_long, unsigned long)

dnl Checks for libraries.
AC_CHECK_LIB(m, sqrt)

dnl Checks for library functions.
AM_FUNC_ALLOCA
AC_FUNC_MMAP
AC_CHECK_FUNCS(atexit mkdir sigprocmask strdup strndup strftime strstr strsep strtod snprintf usleep strcasecmp strncasecmp)


AM_PATH_SANE(1.0.0, HAVE_SANE=yes, )
dnl Print error message if sane is missing
if test "x${HAVE_SANE}" = "x"; then
  echo "*****************************************************************"
  echo "ERROR: SANE is needed for compiling sane-frontends"
  echo "     - if you installed SANE as rpm make sure you also included"
  echo "       sane-devel"
  echo "*****************************************************************"
  rm -f $cache_file
  exit
fi

if test "${USE_GUI}" = "yes"; then
  AM_PATH_GTK(0.99.13, HAVE_GTK=yes, )

# Change CFLAGS temporarily so that C_SWITCH_X_SITE gets used
# for the tests that follow.  We set it back to REAL_CFLAGS later on.

# According to Owen Taylor, GTK_CFLAGS is _guaranteed_ to contain
# -D and -I flags only, i.e., it really is GTK_CPPFLAGS...
  saved_CPPFLAGS="${CPPFLAGS}"
  saved_LIBS="${LIBS}"
  CPPFLAGS="${CPPFLAGS} ${GTK_CFLAGS}"
  LIBS="${LIBS} ${GTK_LIBS}"

  if test "${USE_GIMP}" = "yes"; then
    AC_CHECK_HEADERS(libgimp/gimp.h, GIMP_LIBS="-lgimp")
    AC_CHECK_HEADERS(libgimp/gimpfeatures.h)
  fi

  LIBS="${saved_LIBS}"
  CPPFLAGS="${saved_CPPFLAGS}"

  if test "x${HAVE_GTK}" = "x"; then
    echo "****************************************************************"
    echo "WARNING: GTK-0.99.13 or newer is needed for compiling"
    echo "         sane-frontends. If you installed gtk as rpm make sure"
    echo "         you also installed gtk-devel"
    echo "    ===> GUIs will be deactivated"
    echo "****************************************************************"
    rm -f $cache_file
  else
    BINPROGS=${BINPROGS}" "${GUIPROGS}
  fi
fi

AC_SUBST(INCLUDES)
AC_SUBST(BINPROGS)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
AC_SUBST(GIMP_LIBS)
CPPFLAGS="${CPPFLAGS} \
	  -DPATH_SANE_DATA_DIR=\$(sanedatadir) \
	  -DV_MAJOR=${V_MAJOR} -DV_MINOR=${V_MINOR} -DV_BUILD=${V_BUILD} -DSANE_V_MAJOR=${SANE_V_MAJOR}"



AC_SUBST(V_MAJOR)
AC_SUBST(V_MINOR)
AC_SUBST(V_BUILD)
AC_SUBST(DLL_PRELOAD)

AC_ARG_ENABLE(foo1, [
Used environment variables that can be set by user:
  CFLAGS, CPPFLAGS, LDFLAGS, LIBS])

AC_ARG_ENABLE(foo2, [
To add include or library paths call:
  [env] CPPFLAGS=\"-I/path/to/foo/include\" LDFLAGS=\"-L/path/to/foo/libs\" ./configure])

AC_OUTPUT([Makefile lib/Makefile src/Makefile sanei/Makefile doc/Makefile],)

echo "****************************************************************"
echo "*                                                              *"
echo "* SANE-FRONTENDS configure status:                             *"
echo "* --------------------------------                             *"

if test "x${HAVE_GTK}" != "x"; then
  echo "* - GUIs         activated (xcam + xscanimage)                 *"
  if test "${GIMP_LIBS}set" != "set"; then
    echo "* - GIMP plugin  activated for xscanimage                      *"
  else
    echo "* - GIMP plugin  deactivated for xscanimage                    *"
  fi
else
  if test "${USE_GUI}" = "yes"; then
    echo "* * GTK not found: GUIs deactivated                            *"
  else
    echo "* - GUIs         deactivated (xcam + xscanimage)               *"
  fi
fi

echo "*                                                              *"
echo "****************************************************************"
echo "*                                                              *"
echo "* To compile SANE-FRONTENDS:                                   *"
echo "* --------------------------                                   *"
echo "*   make                                                       *"
echo "*   make install                                               *"
echo "*                                                              *"
echo "* ------------------------------------------------------------ *"
echo "* ... PLEASE READ SANE DOCUMENTATION BEFORE STARTING SANE ...  *"
echo "* ------------------------------------------------------------ *"
echo "****************************************************************"
cat NEWS
