diff options
author | Ian Lynagh <igloo@earth.li> | 2009-06-24 12:54:22 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2009-06-24 12:54:22 +0000 |
commit | 6664b785276bfe8e48106b82be96c266e302924c (patch) | |
tree | 294231b5d0aaf061f3cce2cc7471699151611b06 /libraries/base/configure.ac | |
parent | fe11112d4bf03863e900edfdef5285ba8a87eb69 (diff) | |
download | haskell-6664b785276bfe8e48106b82be96c266e302924c.tar.gz |
Fix iconv detection on OpenBSD
Matthias Kilian discovered that iconv_open is #define'd to something
else on OpenBSD, so the test needs to include the iconv header.
Diffstat (limited to 'libraries/base/configure.ac')
-rw-r--r-- | libraries/base/configure.ac | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/libraries/base/configure.ac b/libraries/base/configure.ac index cd153c3bc0..ce85ed010f 100644 --- a/libraries/base/configure.ac +++ b/libraries/base/configure.ac @@ -99,8 +99,22 @@ FP_CHECK_CONST([O_BINARY], [#include <fcntl.h>], [0]) # Check for idiosyncracies in some mingw impls of directory handling. FP_READDIR_EOF_ERRNO -AC_CHECK_LIB(iconv, iconv_open, - [EXTRA_LIBS="$EXTRA_LIBS iconv"]) +# We can't just use AC_SEARCH_LIBS for this, as on OpenBSD the iconv.h +# header needs to be included as iconv_open is #define'd to something +# else. We therefore use our own FP_SEARCH_LIBS_PROTO, which allows us +# to give prototype text. +FP_SEARCH_LIBS_PROTO(iconv, + [ +#include <stddef.h> +#include <iconv.h> + ], + [iconv_t cd; + cd = iconv_open("", ""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + iconv, + [EXTRA_LIBS="$EXTRA_LIBS $ac_lib"], + [exit 1]) AC_SUBST(EXTRA_LIBS) AC_CONFIG_FILES([base.buildinfo]) |