Hash :
6e184f1f
Author :
Date :
2006-07-31T16:10:52
Assume <locale.h>, <stddef.h>, <stdlib.h>, <string.h> all exist.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
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.60])
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_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
gl_EARLY
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
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 typedefs
AC_TYPE_MBSTATE_T
gt_TYPE_WCHAR_T
dnl checks for header files, 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_INIT
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