dnl Copyright (C) 1999-2006 Free Software Foundation, Inc. dnl This file is part of the GNU LIBICONV Library. dnl dnl The GNU LIBICONV Library is free software; you can redistribute it dnl and/or modify it under the terms of the GNU Library General Public dnl License as published by the Free Software Foundation; either version 2 dnl of the License, or (at your option) any later version. dnl dnl The GNU LIBICONV Library is distributed in the hope that it will be dnl useful, but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl Library General Public License for more details. dnl dnl You should have received a copy of the GNU Library General Public dnl License along with the GNU LIBICONV Library; see the file COPYING.LIB. dnl If not, write to the Free Software Foundation, Inc., 51 Franklin Street, dnl Fifth Floor, Boston, MA 02110-1301, USA. AC_PREREQ(2.52) AC_INIT AC_CONFIG_SRCDIR(lib/iconv.c) AC_CONFIG_AUX_DIR(build-aux) AM_INIT_AUTOMAKE(libiconv, 1.11) AC_CONFIG_HEADERS(config.h lib/config.h) AC_PROG_MAKE_SET dnl checks for basic programs AC_PROG_CC AC_PROG_CPP AC_PROG_GCC_TRADITIONAL AC_PROG_INSTALL dnl check for host type AC_CANONICAL_HOST dnl hack dnl Hack to work around limitations of automake and error.m4 regarding LIBOBJS. dnl "srclib/Makefile.am:32: automatically discovered file `error.h' should not be explicitly mentioned" AC_DEFUN([my_SRCLIB_OBJ],[SRCLIBOBJS="$SRCLIBOBJS $1.$ac_objext"]) AC_DEFUN([my_SRCLIB_REPLACE_FUNCS], [AC_CHECK_FUNCS([$1], , [my_SRCLIB_OBJ($ac_func)])]) m4_pushdef([AC_LIBOBJ], m4_defn([my_SRCLIB_OBJ])) m4_pushdef([AC_REPLACE_FUNCS], m4_defn([my_SRCLIB_REPLACE_FUNCS])) dnl checks for UNIX variants that set DEFS AC_GNU_SOURCE gl_USE_SYSTEM_EXTENSIONS AC_ISC_POSIX dnl checks for installer options AC_RELOCATABLE AC_ARG_ENABLE([extra-encodings], [AC_HELP_STRING([--enable-extra-encodings], [add support for a few rarely used encodings])], [AC_DEFINE([ENABLE_EXTRA], 1, [Define to 1 to enable a few rarely used encodings.]) USE_EXTRA_ENCODINGS=yes], [USE_EXTRA_ENCODINGS=no]) AC_SUBST([USE_EXTRA_ENCODINGS]) dnl checks for programs AC_PROG_RANLIB CL_PROG_CP CL_PROG_LN AC_PROG_LN_S dnl checks for compiler output filename suffixes AC_OBJEXT AC_EXEEXT dnl check for build configuration AC_DISABLE_STATIC AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL gl_VISIBILITY AM_ICONV AM_GNU_GETTEXT([external], [need-ngettext]) dnl checks for header files AC_HEADER_STDC AC_CHECK_HEADERS([locale.h stddef.h stdlib.h string.h]) gl_HEADER_UNISTD dnl checks for typedefs AC_TYPE_MBSTATE_T gl_STDINT_H gt_TYPE_WCHAR_T dnl checks for functions and declarations if test "$am_cv_func_iconv" = yes -a -z "$am_cv_proto_iconv_arg1"; then ICONV_CONST="" else ICONV_CONST="const" fi AC_SUBST(ICONV_CONST) if test $gt_cv_c_wchar_t = yes; then HAVE_WCHAR_T=1 else HAVE_WCHAR_T=0 fi AC_SUBST(HAVE_WCHAR_T) AC_CHECK_FUNCS([getc_unlocked mbrtowc wcrtomb mbsinit setlocale]) AC_REPLACE_FUNCS([memmove]) AM_LANGINFO_CODESET AC_EILSEQ CL_WORDS_LITTLEENDIAN gl_FUNC_ALLOCA gl_ALLOCSA gl_CANONICALIZE gl_FUNC_GLIBC_UNLOCKED_IO gl_ERROR gl_PATHMAX gt_FUNC_SETENV AM_STDBOOL_H gl_FUNC_STRERROR gl_FUNC_READLINK gl_XREADLINK dnl hack dnl End of hack to work around limitations of automake and error.m4. m4_popdef([AC_REPLACE_FUNCS]) m4_popdef([AC_LIBOBJ]) AC_SUBST([SRCLIBOBJS]) dnl check whether OS supports plug libraries OS="" case "$host_os" in linux*) OS="linux" ;; solaris*) OS="solaris" ;; osf*) OS="osf" ;; esac if test -n "$OS"; then AC_SUBST(OS) AC_SUBST(GCC) PLUGLIB="preloadable_libiconv.so" else PLUGLIB="" fi AC_SUBST(PLUGLIB) dnl Compilation on mingw and Cygwin needs special Makefile rules, because dnl 1. when we install a shared library, we must arrange to export dnl auxiliary pointer variables for every exported variable, dnl 2. when we install a shared library and a static library simultaneously, dnl the include file specifies __declspec(dllimport) and therefore we dnl must arrange to define the auxiliary pointer variables for the dnl exported variables _also_ in the static library. if test "$enable_shared" = yes; then case "$host_os" in mingw* | cygwin*) is_woe32dll=yes ;; *) is_woe32dll=no ;; esac else is_woe32dll=no fi WOE32DLL=$is_woe32dll AC_SUBST([WOE32DLL]) if test $is_woe32dll = yes; then DLL_VARIABLE='__declspec (dllimport)' else DLL_VARIABLE= fi AC_SUBST([DLL_VARIABLE]) AH_BOTTOM([ /* On Windows, variables that may be in a DLL must be marked specially. */ #if defined _MSC_VER && defined _DLL # define DLL_VARIABLE __declspec (dllimport) #else # define DLL_VARIABLE #endif ]) AC_CONFIG_SUBDIRS(libcharset) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([lib/Makefile]) AC_CONFIG_FILES([srclib/Makefile]) AC_CONFIG_FILES([src/Makefile]) AC_CONFIG_FILES([po/Makefile.in]) AC_CONFIG_FILES([man/Makefile]) if test -d "${srcdir}/tests"; then AC_CONFIG_FILES([tests/Makefile]) fi AC_CONFIG_FILES([include/iconv.h:include/iconv.h.build.in]) AC_CONFIG_FILES([include/iconv.h.inst:include/iconv.h.in]) AC_OUTPUT