aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-02-20 22:28:22 -0800
committerJunio C Hamano <junkio@cox.net>2007-02-20 22:28:22 -0800
commit4b22f634a3f1752d98e1fc5eee4fa7ce0efe157c (patch)
tree0dfd674d8871b36a6909095bfa3755f7016a0706
parent5ead60e61987ec7a9ca18050838bb47aa51d3665 (diff)
parente63ccb84e3e29d428548669a7a1206d386a57d6d (diff)
downloadgit-4b22f634a3f1752d98e1fc5eee4fa7ce0efe157c.tar.gz
git-4b22f634a3f1752d98e1fc5eee4fa7ce0efe157c.tar.xz
Merge branch 'fk/autoconf'
* fk/autoconf: New autoconf test for iconv
-rw-r--r--configure.ac31
1 files changed, 25 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index 7cfb3a066..3a8e778de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -114,13 +114,32 @@ AC_CHECK_LIB([expat], [XML_ParserCreate],
[NO_EXPAT=YesPlease])
AC_SUBST(NO_EXPAT)
#
-# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
+# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin and
+# some Solaris installations).
# Define NO_ICONV if neither libc nor libiconv support iconv.
-AC_CHECK_LIB([c], [iconv],
- [NEEDS_LIBICONV=],
- AC_CHECK_LIB([iconv], [iconv],
- [NEEDS_LIBICONV=YesPlease],
- [NO_ICONV=YesPlease]))
+AC_DEFUN([ICONVTEST_SRC], [
+#include <iconv.h>
+
+int main(void)
+{
+ iconv_open("", "");
+ return 0;
+}
+])
+AC_MSG_CHECKING([for iconv in -lc])
+AC_LINK_IFELSE(ICONVTEST_SRC,
+ [AC_MSG_RESULT([yes])
+ NEEDS_LIBICONV=],
+ [AC_MSG_RESULT([no])
+ old_LIBS="$LIBS"
+ LIBS="$LIBS -liconv"
+ AC_MSG_CHECKING([for iconv in -liconv])
+ AC_LINK_IFELSE(ICONVTEST_SRC,
+ [AC_MSG_RESULT([yes])
+ NEEDS_LIBICONV=YesPlease],
+ [AC_MSG_RESULT([no])
+ NO_ICONV=YesPlease])
+ LIBS="$old_LIBS"])
AC_SUBST(NEEDS_LIBICONV)
AC_SUBST(NO_ICONV)
test -n "$NEEDS_LIBICONV" && LIBS="$LIBS -liconv"