diff options
author | Patrick Lam <plam@MIT.EDU> | 2006-04-25 15:33:07 +0000 |
---|---|---|
committer | Patrick Lam <plam@MIT.EDU> | 2006-04-25 15:33:07 +0000 |
commit | 73775d8f28bd8f5c40b524fe1ede63d3dfaff171 (patch) | |
tree | d0bd3b2edff2da05ba51603cb1b047d6f9b149d6 | |
parent | 49512317264da1996bddf0b3c82d8d2de0c201eb (diff) |
Fix the issues with GNU libiconv vs. libc iconv (which especially appear on
Solarii). Approach suggested by Tim Mooney.
reviewed by: plam
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | configure.in | 37 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/fcfreetype.c | 3 |
4 files changed, 48 insertions, 6 deletions
@@ -1,4 +1,4 @@ -2006-04-24 Patrick Lam <plam@mit.edu> +2006-04-25 Patrick Lam <plam@mit.edu> * ChangeLog: * README: * configure.in: @@ -6,6 +6,16 @@ Bump version to 2.3.95. +2006-04-25 Behdad Esfahbod <behdad@cs.toronto.edu> + reviewed by: plam + + * configure.in: + * src/Makefile.am: + * src/fcfreetype.c: + + Fix the issues with GNU libiconv vs. libc iconv (which especially + appear on Solarii). Approach suggested by Tim Mooney. + 2006-04-24 Dominic Lachowicz <cinamod@hotmail.com> reviewed by: plam diff --git a/configure.in b/configure.in index 884bbe8..acdc1f1 100644 --- a/configure.in +++ b/configure.in @@ -135,7 +135,7 @@ dnl ========================================================================== # Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC -AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h iconv.h]) +AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -145,7 +145,40 @@ AC_TYPE_PID_T # Checks for library functions. AC_FUNC_VPRINTF AC_FUNC_MMAP -AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long iconv sysconf ftruncate chsize rand_r]) +AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand_r]) + +# +# Checks for iconv +# +AC_MSG_CHECKING([for a usable iconv]) +ICONV_LIBS="" +AC_TRY_LINK([#include <iconv.h>], + [iconv_open ("from", "to");], + [use_iconv=1], + [use_iconv=0]) +if test x$use_iconv = x1; then + AC_MSG_RESULT([libc]) +else + # try using libiconv + fontconfig_save_libs="$LIBS" + LIBS="$LIBS -liconv" + + AC_TRY_LINK([#include <iconv.h>], + [iconv_open ("from", "to");], + [use_iconv=true], + [use_iconv=false]) + + if test x$use_iconv = x1; then + ICONV_LIBS="-liconv" + AC_MSG_RESULT([libiconv]) + else + AC_MSG_RESULT([no]) + fi + + LIBS="$fontconfig_save_libs" +fi +AC_SUBST(ICONV_LIBS) +AC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,[Use iconv.]) # # Checks for FreeType diff --git a/src/Makefile.am b/src/Makefile.am index 750b8d2..01c9c5e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -106,7 +106,7 @@ lib_LTLIBRARIES = libfontconfig.la libfontconfig_la_LDFLAGS = \ -version-info @LT_VERSION_INFO@ -no-undefined $(export_symbols) -libfontconfig_la_LIBADD = $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS) +libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS) install-data-local: install-ms-import-lib install-libtool-import-lib diff --git a/src/fcfreetype.c b/src/fcfreetype.c index f31aef8..9eb591e 100644 --- a/src/fcfreetype.c +++ b/src/fcfreetype.c @@ -554,8 +554,7 @@ FcFontCapabilities(FT_Face face); #define NUM_FC_MAC_ROMAN_FAKE (int) (sizeof (fcMacRomanFake) / sizeof (fcMacRomanFake[0])) -#if HAVE_ICONV && HAVE_ICONV_H -#define USE_ICONV 1 +#if USE_ICONV #include <iconv.h> #endif |