# $Id: configure.in,v 1.34 2006-10-14 16:34:51 thep Exp $
# Process this file with autoconf to produce a configure script.

AC_PREREQ(2.50)

AC_INIT(include/thai/thailib.h)
AM_INIT_AUTOMAKE(libthai, 0.1.8)

AC_SUBST(VERSION)

# Library versioning
# Library code modified:                    REVISION++
# Interfaces added:              CURRENT++  REVISION=0  AGE++
# Interfaces changed/removed:    CURRENT++  REVISION=0  AGE=0
LT_CURRENT=1
LT_REVISION=1
LT_AGE=1
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)

dnl Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AM_PROG_LIBTOOL

AC_MSG_CHECKING([for Win32])
case "$host" in
  *-*-mingw*|*-*-cygwin*)
    native_win32=yes
    AC_DEFINE(LIBTHAI_WIN32, 1, [Define when compiling on Windows])
    ;;
  *)
    native_win32=no
    ;;
esac
AC_MSG_RESULT([$native_win32])
AM_CONDITIONAL(OS_WIN32, test "$native_win32" = "yes")

dnl Check commandline options
AC_ARG_ENABLE(debug,
              [AC_HELP_STRING([--enable-debug],
                              [enable assertion checks])],
              , enable_debug="no")
AC_ARG_ENABLE(ansi,
              [AC_HELP_STRING([--enable-ansi],
                              [turn on strict ansi])],
              , enable_ansi="no")

if test "x$GCC" = "xyes"; then
  case " $CFLAGS " in
  *[[\ \	]]-Wall[[\ \	]]*) ;;
  *) CFLAGS="$CFLAGS -Wall" ;;
  esac

  if test "x$enable_ansi" = "xyes"; then
    case " $CFLAGS " in
    *[[\ \	]]-ansi[[\ \	]]*) ;;
    *) CFLAGS="$CFLAGS -ansi" ;;
    esac

    case " $CFLAGS " in
    *[[\ \	]]-pedantic[[\ \	]]*) ;;
    *) CFLAGS="$CFLAGS -pedantic" ;;
    esac
  fi
fi
if test "x$enable_debug" = "xno"; then
  case " $CFLAGS " in
  *[[\ \	]]-DNDEBUG[[\ \	]]*) ;;
  *) CFLAGS="$CFLAGS -DNDEBUG" ;;
  esac
fi

dnl Disable doc generation with doxygen option
AC_ARG_ENABLE(doxygen-doc,
              [AC_HELP_STRING([--disable-doxygen-doc],
                              [disable document generation with doxygen])],
              , enable_doxygen_doc="yes")

if test "x$enable_doxygen_doc" = "xyes"; then
  AC_CHECK_PROG(DOXYGEN,doxygen,doxygen,no)
  if test "x$DOXYGEN" = "xno"; then
    enable_doxygen_doc="no"
  fi
fi

dnl where to install the doxygen-generated HTML doc
AC_ARG_WITH(html-docdir,
            [AC_HELP_STRING([--with-html-docdir=DIR],
                            [where to install the doxyten-generated HTML doc [PREFIX/share/doc/libthai/html]])],
            [htmldocdir="$withval"], [htmldocdir=\$\{prefix\}/share/doc/libthai/html])
AC_SUBST(htmldocdir)

AM_CONDITIONAL(ENABLE_DOXYGEN_DOC,test "x$enable_doxygen_doc" = "xyes")

dnl Checks for libraries.
PKG_CHECK_MODULES(DATRIE,datrie)
AC_CHECK_PROGS(TRIETOOL,trietool,no)
if test "x$TRIETOOL" = "xno"; then
  AC_MSG_ERROR([You need trietool (from datrie package)])
fi

dnl Checks for header files.
AC_CHECK_HEADERS([stddef.h stdlib.h string.h wchar.h])

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T

dnl Checks for library functions.
dnl AC_FUNC_MALLOC

AC_OUTPUT(
  libthai.pc
  Makefile
  include/Makefile
  include/thai/Makefile
  src/Makefile
  src/thctype/Makefile
  src/thstr/Makefile
  src/thcell/Makefile
  src/thinp/Makefile
  src/thrend/Makefile
  src/thcoll/Makefile
  src/thbrk/Makefile
  src/thwchar/Makefile
  src/thwctype/Makefile
  src/thwstr/Makefile
  src/thwbrk/Makefile
  data/Makefile
  tests/Makefile
  doc/Makefile
  doc/Doxyfile
)

AC_MSG_RESULT([Type make to build libthai.])

