5 conf = File.exist?(File.join($srcdir, "config.charset"))
6 conf = with_config("config-charset", enable_config("config-charset", conf))
8 if have_func("iconv", "iconv.h") or
9 have_library("iconv", "iconv", "iconv.h")
10 if checking_for("const of iconv() 2nd argument") do
11 create_tmpsrc(cpp_include("iconv.h") + "---> iconv(cd,0,0,0,0) <---")
12 src = xpopen(cpp_command("")) {|f|f.read}
13 if !(func = src[/^--->\s*(\w+).*\s*<---/, 1])
14 Logging::message "iconv function name not found"
16 elsif !(second = src[%r"\b#{func}\s*\(.*?,(.*?),.*?\)\s*;"m, 1])
17 Logging::message "prototype for #{func}() not found"
20 Logging::message $&+"\n"
24 $defs.push('-DICONV_INPTR_CONST')
28 prefix = $nmake ? "{#{prefix}}" : "#{prefix}/"
30 wrapper = "$(RUBYARCHDIR)/iconv.rb"
32 wrapper = "./iconv.rb"
33 $INSTALLFILES = [[wrapper, "$(RUBYARCHDIR)"]]
37 scheme = URI.parse(conf).scheme
39 conf = "$(srcdir)/config.charset"
41 $cleanfiles << wrapper
43 create_makefile("iconv")
45 open("Makefile", "a") do |mf|
46 mf.print("\nall: #{wrapper}\n\n#{wrapper}: #{prefix}charset_alias.rb")
47 mf.print(" ", conf) unless scheme
48 mf.print("\n\t$(RUBY) $(srcdir)/charset_alias.rb #{conf} $@\n")