summaryrefslogtreecommitdiff
path: root/ext/iconv/extconf.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/iconv/extconf.rb')
-rw-r--r--ext/iconv/extconf.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/ext/iconv/extconf.rb b/ext/iconv/extconf.rb
index b81b7379fc..7176fa45e3 100644
--- a/ext/iconv/extconf.rb
+++ b/ext/iconv/extconf.rb
@@ -6,6 +6,20 @@ conf = File.exist?(File.join($srcdir, "config.charset"))
conf = with_config("config-charset", enable_config("config-charset", conf))
if have_header("iconv.h")
+ if !try_compile("", "-Werror") or checking_for("iconv() 2nd argument is const") do
+ !try_compile('
+#include <iconv.h>
+size_t
+test(iconv_t cd, char **inptr, size_t *inlen, char **outptr, size_t *outlen)
+{
+ return iconv(cd, inptr, inlen, outptr, outlen);
+}
+', "-Werror")
+ end
+ $defs.push('-DICONV_INPTR_CAST=""')
+ else
+ $defs.push('-DICONV_INPTR_CAST="(char **)"')
+ end
have_library("iconv")
if conf
prefix = '$(srcdir)'