Check for glibc 2.2 iconv (2.2 is needed for the ansel module).
[gedcom-parse.git] / configure.in
index a1157fe99db12fc67496ea203221c6e46beeaaab..54c2329d84aedcae98e04865be8ff2fad055fae7 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autoconf to produce a configure script.
 # $Id$
 # $Name$
-AC_INIT(gedcom.enc)
+AC_INIT(gedcom/interface.c)
 
 dnl =============================================================
 dnl Global variables
@@ -28,9 +28,18 @@ AM_INIT_AUTOMAKE(${NAME},${VERSION})
 AM_CONFIG_HEADER(config.h)
 ALL_LINGUAS="nl"
 
+AC_CANONICAL_HOST
+
+dnl =============================================================
+dnl Checks for programs.
 AC_PROG_CC
 AM_PROG_LIBTOOL
+AC_PROG_AWK
 AM_PROG_LEX
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+AC_PROG_RANLIB
 AC_PROG_YACC
 if test "$YACC" = "bison -y"; then
   AC_MSG_WARN([We'll remove the -y option here])
@@ -39,6 +48,9 @@ else
   AC_MSG_ERROR([Sorry, bison is needed])
 fi
 
+dnl =============================================================
+dnl Checks for libraries.
+AM_GNU_GETTEXT([use-libtool])
 AM_WITH_DMALLOC
 
 dnl == Make statically linked test program for dmalloc tests
@@ -47,17 +59,83 @@ if test "$with_dmalloc" = "yes"; then
 fi
 AC_SUBST(EXTRA_PROGS)
 
-AM_GNU_GETTEXT
+dnl =============================================================
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_SIZE_T
+
+dnl ==========================================================
+dnl Checks for library functions.
+AC_CHECK_HEADERS(stddef.h stdlib.h string.h)
+AC_CHECK_FUNCS(setlocale vsnprintf vsprintf)
+jm_LANGINFO_CODESET
+jm_GLIBC21
+
+dnl ==========================================================
+dnl My local stuff
+
+AM_ICONV
+
+if test "$am_cv_func_iconv" != yes; then
+  AC_MSG_ERROR([
+*******************************************************************************
+You need 'iconv' to use this library, consider installing GNU libiconv or
+use --with-libiconv-prefix to point to an existing installation of that
+library (see README)
+*******************************************************************************
+  ])
+fi
+
+AC_MSG_CHECKING(for location of iconv)
+if test "$am_cv_lib_iconv" = yes; then
+  AC_MSG_RESULT(libiconv)
+  gedcom_LIBICONV_HAS_ANSEL
+else
+  AC_MSG_RESULT(libc)
+  LCS_SUBDIRS=libcharset
+  LCS_INCLUDES='-I $(srcdir)/libcharset'
+  LCS_LIBADD=libcharset/libcharset.la
+  AC_SUBST(LCS_SUBDIRS)
+  AC_SUBST(LCS_INCLUDES)
+  AC_SUBST(LCS_LIBADD)
+  gedcom_GLIBC22_ICONV
+  if test "$is_glibc22_iconv" = yes; then
+    DIRS="glibc"
+    is_ansel_supported=yes
+    AC_SUBST(DIRS)
+  fi
+fi
+
+if test "$is_ansel_supported" != yes; then
+  AC_MSG_WARN([
+*******************************************************************************
+Your iconv implementation doesn't support ANSEL.  Consider installing the
+modified libiconv library if you need ANSEL support in the Gedcom parser
+library (see README).
+*******************************************************************************
+  ])
+fi
 
-AC_OUTPUT(Makefile
+AC_OUTPUT(GNUmakefile
+          Makefile
          gedcom/Makefile
          gedcom/calendar/Makefile
          gom/Makefile
-         ansel/Makefile
+         iconv/Makefile
+         iconv/glibc/Makefile
+         iconv/libiconv/Makefile
+         utf8/Makefile
+         utf8/libcharset/Makefile
          t/Makefile
+         t/src/Makefile
          t/input/Makefile
+         t/output/Makefile
+         data/Makefile
+         data/new.ged
          doc/Makefile
          doc/images/Makefile
+         doc/index.html
          include/Makefile
          include/gedcom.h
           intl/Makefile