]> git.wh0rd.org - fontconfig.git/commitdiff
Fix the issues with GNU libiconv vs. libc iconv (which especially appear on
authorPatrick Lam <plam@MIT.EDU>
Tue, 25 Apr 2006 15:33:07 +0000 (15:33 +0000)
committerPatrick Lam <plam@MIT.EDU>
Tue, 25 Apr 2006 15:33:07 +0000 (15:33 +0000)
    Solarii). Approach suggested by Tim Mooney.
reviewed by: plam

ChangeLog
configure.in
src/Makefile.am
src/fcfreetype.c

index c0a366d0214b9c7c0797e3080092b18aa9787590..2b990bf3fcc15fb4081c181fce06ef3dd187c8c8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
        
index 884bbe8fed13d1ead26d5f84e59d909fa7bb8bf2..acdc1f1dc9c6976c62b2d2552ecb57b0edf85b6a 100644 (file)
@@ -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
index 750b8d2a5f52d9d9a2ce22409995177ff48dc31c..01c9c5ef0de94eebbe40294dc0455d17145867bc 100644 (file)
@@ -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
 
index f31aef893a1a44f8169e44895fedddf840e9acb3..9eb591ee598bdc0b136c1972415b7de495ad702d 100644 (file)
@@ -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