summaryrefslogtreecommitdiff
path: root/ext/iconv/extconf.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-07-18 19:51:42 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-07-18 19:51:42 +0000
commit3b1e7ac7855a2d5cb4a075d652835cf52ea123a6 (patch)
tree1bdd8507d591b06e13eb5c9da6a74d4adb83855b /ext/iconv/extconf.rb
parentc88efe5fa2ba6e6b565630e3049c8307ed540c9f (diff)
* ext/iconv/charset_alias.rb, ext/iconv/extconf.rb: make wrapper
script which maps charset names. [ruby-dev:20625] * ext/iconv/iconv.c (charset_map): charset name map. * ext/iconv/iconv.c (iconv_dfree): no exception while finalization. * ext/iconv/iconv.c (iconv_s_conv): new method Iconv.conv. [ruby-dev:20588] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/iconv/extconf.rb')
-rw-r--r--ext/iconv/extconf.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/iconv/extconf.rb b/ext/iconv/extconf.rb
index 55d9c5da5f..b81b7379fc 100644
--- a/ext/iconv/extconf.rb
+++ b/ext/iconv/extconf.rb
@@ -2,7 +2,28 @@ require 'mkmf'
dir_config("iconv")
+conf = File.exist?(File.join($srcdir, "config.charset"))
+conf = with_config("config-charset", enable_config("config-charset", conf))
+
if have_header("iconv.h")
have_library("iconv")
+ if conf
+ prefix = '$(srcdir)'
+ prefix = $nmake ? "{#{prefix}}" : "#{prefix}/"
+ $INSTALLFILES = [["./iconv.rb", "$(RUBYLIBDIR)"]]
+ if String === conf
+ require 'uri'
+ scheme = URI.parse(conf).scheme
+ else
+ conf = prefix + "config.charset"
+ end
+ end
create_makefile("iconv")
+ if conf
+ open("Makefile", "a") do |mf|
+ mf.print("\nall: iconv.rb\n\niconv.rb: ", prefix, "charset_alias.rb")
+ mf.print(" ", conf) unless scheme
+ mf.print("\n\t$(RUBY) ", prefix, "charset_alias.rb ", conf, " $@\n")
+ end
+ end
end