From: Akio Tajima Date: 2011-04-25T19:42:58+09:00 Subject: [ruby-dev:43443] [Ruby 1.9 - Feature #4602] naming ruby dll (win32/64) Issue #4602 has been updated by Akio Tajima. >そんな地雷踏みに行かんでも、と思ったりはしますが... まだ、ここは地雷ではありませんでした…… というのはともかく、 >今回の話だけであれば、単に若くてまだ流行ってない方(=win64)のDLLに64とか付けるだけでいいかもしれません。 提案しておいてなんですが、私も、この案がベターに思います。 が、Makefile.subのマクロ組み合わせにうまく合わせようとすると !if アークテクチャがx64なら RUBY_SO_NAME = $(RT)-$(RUBY_BASE_NAME)64$(MAJOR)$(MINOR)$(TEENY) !else RUBY_SO_NAME = $(RT)-$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)$(TEENY) !endif となり、あまりに恣意的なのでどうしたものか。 直接、コマンドラインから人間が手で打つ名前ではないので、$(arch)がx86以外であれば RUBY_SO_NAME = $(RT)-$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)$(TEENY)-$(RUBY_PLATFOM) といったところでしょうか。 ---------------------------------------- Feature #4602: naming ruby dll (win32/64) http://redmine.ruby-lang.org/issues/4602 Author: Akio Tajima Status: Open Priority: Normal Assignee: Category: build Target version: 同一ディレクトリへwin32版rubyとwin64版rubyをインストールしようとしてdll名が競合したので気付いたのですが、 MSWin版Rubyは、本体がDLLで、かつ、DLL名にconfigureで指定したprogram-suffixやprogram-prefixが反映されない ため、同一ディレクトリへのインストールができません。 Windows版ではファイルは分離しているものの、exeとdllは不可分なので(dllへの分離は組み込み用の利便性と理解 しています)exe同様にdllに対してもconfigreで指定したprogram-suffixやprogram-prefixを反映させたほうが良い と思います。 --- win32/Makefile.sub~ 2011-04-12 00:47:07.000000000 +0900 +++ win32/Makefile.sub 2011-04-24 03:12:39.000000000 +0900 @@ -129,7 +129,7 @@ ruby_version = $(MAJOR).$(MINOR).$(TEENY !endif !ifndef RUBY_SO_NAME -RUBY_SO_NAME = $(RT)-$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)$(TEENY) +RUBY_SO_NAME = $(RT)-$(PROGRAM_PREFIX)$(RUBY_BASE_NAME)$(PROGRAM_SUFFIX)$(MAJOR)$(MINOR)$(TEENY) !endif !ifndef RUBY_PLATFORM RUBY_PLATFORM = $(arch) -- http://redmine.ruby-lang.org