[Fontconfig] fontconfig: Branch 'master'

Akira TAGOH tagoh at kemper.freedesktop.org
Tue Apr 10 02:48:04 PDT 2012


 configure.in    |   85 ++++++++++++++++++++++++++++++++++++++++----------------
 src/Makefile.am |    1 
 2 files changed, 63 insertions(+), 23 deletions(-)

New commits:
commit 2589207cfd4c7e948a4b50d7c07c13a3a52fe0aa
Author: Akira TAGOH <akira at tagoh.org>
Date:   Tue Apr 10 18:34:11 2012 +0900

    Bug 26830 - Add search for libiconv non-default directory
    
    Add --with-libiconv, --with-libiconv-includes and --with-libiconv-lib
    to specify the directory where libiconv might be installed.

diff --git a/configure.in b/configure.in
index ea44c14..c3476d3 100644
--- a/configure.in
+++ b/configure.in
@@ -138,33 +138,72 @@ AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol
 #
 # 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=1],
-		    [use_iconv=0])
-	
-	if test x$use_iconv = x1; then
-		ICONV_LIBS="-liconv"
-		AC_MSG_RESULT([libiconv])
+AC_ARG_WITH(libiconv,
+	[AC_HELP_STRING([--with-libiconv=DIR],
+			[Use libiconv in DIR])],
+	[libiconv_prefix=$withval],
+	[libiconv_prefix=auto])
+AC_ARG_WITH(libiconv-includes,
+	[AC_HELP_STRING([--with-libiconv-includes=DIR],
+			[Use libiconv includes in DIR])],
+	[libiconv_includes=$withval],
+	[libiconv_includes=auto])
+AC_ARG_WITH(libiconv-lib,
+	[AC_HELP_STRING([--with-libiconv-lib=DIR],
+			[Use libiconv library in DIR])],
+	[libiconv_lib=$withval],
+	[libiconv_lib=auto])
+
+# if none of libiconv,libiconv-includes,libiconv-libs are specified
+if test "$libiconv_prefix" != "auto" -o "$libiconv_includes" != "auto" -o "$libiconv_lib" != "auto"; then
+	if test "$libiconv_includes" != "auto" -a -r ${libiconv_includes}/iconv.h; then
+		libiconv_cflags="-I${libiconv_includes}"
+	elif test "$libiconv_prefix" != "auto" -a -r ${libiconv_prefix}/include/iconv.h; then
+		libiconv_cflags="-I${libiconv_prefix}/include"
 	else
-		AC_MSG_RESULT([no])
+		libiconv_cflags=""
 	fi
+	if test "$libiconv_lib" != "auto"; then
+		libiconv_lib="-L${libiconv_lib} -liconv"
+	elif test "$libiconv_prefix" != "auto"; then
+		libiconv_lib="-L${libiconv_prefix}/lib -liconv"
+	elif test "x$libiconv_cflags" != "x"; then
+		libiconv_lib="-liconv"
+	else
+		libiconv_lib=""
+	fi
+fi
 
-	LIBS="$fontconfig_save_libs"
+use_iconv=0
+AC_MSG_CHECKING([for a usable iconv])
+if test "x$libiconv_cflags" != "x" -o "x$libiconv_lib" != "x"; then
+	iconvsaved_CFLAGS="$CFLAGS"
+	iconvsaved_LIBS="$LIBS"
+	CFLAGS="$CFLAGS $libiconv_cflags"
+	LIBS="$LIBS $libiconv_lib"
+
+	AC_TRY_LINK([#include <iconv.h>],
+		[iconv_open ("from", "to");],
+		[iconv_type="libiconv"
+		 use_iconv=1],
+		[use_iconv=0])
+
+	CFLAGS="$iconvsaved_CFLAGS"
+	LIBS="$iconvsaved_LIBS"
+	ICONV_CFLAGS="$libiconv_cflags"
+	ICONV_LIBS="$libiconv_lib"
 fi
+if test "x$use_iconv" = "x0"; then
+	AC_TRY_LINK([#include <iconv.h>],
+		[iconv_open ("from", "to");],
+		[iconv_type="libc"
+		 use_iconv=1],
+		[iconv_type="not found"
+		 use_iconv=0])
+fi
+
+AC_MSG_RESULT([$iconv_type])
+AC_SUBST(ICONV_CFLAGS)
 AC_SUBST(ICONV_LIBS)
 AC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,[Use iconv.])
 
diff --git a/src/Makefile.am b/src/Makefile.am
index 591fc16..0bd0e3d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -71,6 +71,7 @@ INCLUDES = 						\
 	-I$(top_srcdir)					\
 	-I$(top_srcdir)/src				\
 	$(FREETYPE_CFLAGS)				\
+	$(ICONV_CFLAGS)					\
 	$(LIBXML2_CFLAGS)				\
 	$(EXPAT_CFLAGS)					\
 	$(WARN_CFLAGS)					\


More information about the Fontconfig mailing list