[#10226] 組み込み Ruby — Kazuhiro Yoshida <moriq.kazuhiro@...>

もりきゅうです。

17 messages 2000/07/05
[#10230] Re: 組み込み Ruby — matz@... (Yukihiro Matsumoto) 2000/07/05

まつもと ゆきひろです

[#10231] Re: 組み込み Ruby — Kazuhiro Yoshida <moriq.kazuhiro@...> 2000/07/05

もりきゅうです。

[#10237] Re: 組み込み Ruby — matz@... (Yukihiro Matsumoto) 2000/07/06

まつもと ゆきひろです

[#10278] Re: environment variables — WATANABE Hirofumi <eban@...>

わたなべです.

162 messages 2000/07/11
[#10285] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/11

なかだです。

[#10306] Re: environment variables — nobu.nakada@... 2000/07/12

なかだです。

[#10355] Re: environment variables — nobu.nakada@... 2000/07/20

なかだです。

[#10359] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/23

小松です。

[#10360] Re: environment variables — nobu.nakada@... 2000/07/23

なかだです。

[#10361] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/23

小松です。

[#10370] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/24

なかだです。

[#10374] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/24

小松です。

[#10376] Re: environment variables — nobu.nakada@... 2000/07/24

なかだです。

[#10380] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/25

小松です。

[#10381] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/07/25

まつもと ゆきひろです

[#10386] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/25

なかだです。

[#10397] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/07/25

まつもと ゆきひろです

[#10399] Re: environment variables — nobu.nakada@... 2000/07/25

なかだです。

[#10407] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/26

小松です。

[#10409] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/26

小松です。

[#10416] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/26

なかだです。

[#10421] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/26

小松です。

[#10435] Re: environment variables — nobu.nakada@... 2000/07/27

なかだです。

[#10442] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/28

小松です。

[#10444] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/28

なかだです。

[#10446] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/28

小松です。

[#10453] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/31

なかだです。

[#10459] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/31

小松です。

[#10464] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/31

なかだです。

[#10466] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/31

小松です。

[#10472] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10474] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10475] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10476] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10480] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10483] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10485] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10489] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10490] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10491] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10492] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10493] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10494] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/08/01

まつもと ゆきひろです

[#10495] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/02

なかだです。

[#10506] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/02

小松です。

[#10507] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/02

なかだです。

[#10508] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/02

小松です。

[#10509] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/02

なかだです。

[#10511] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/02

小松です。

[#10512] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/02

小松です。

[#10515] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/03

なかだです。

[#10516] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/03

小松です。

[#10518] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/08/03

まつもと ゆきひろです

[#10531] Re: environment variables — "Shigeo Kobayashi" <shigeo@...> 2000/08/03

小林です。

[#10547] Re: environment variables — Satoshi Nojo <nojo@...> 2000/08/03

能條といいます.

[#10549] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/04

なかだです。

[#10555] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/04

なかだです。

[#10558] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/08/04

まつもと ゆきひろです

[#10364] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/07/24

まつもと ゆきひろです

[#10365] Re: environment variables — WATANABE Hirofumi <eban@...> 2000/07/24

わたなべです.

[#10368] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/24

なかだです。

[#10369] Re: environment variables — WATANABE Hirofumi <eban@...> 2000/07/24

わたなべです.

[#10371] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/24

なかだです。

[#10372] Re: environment variables — WATANABE Hirofumi <eban@...> 2000/07/24

わたなべです.

[#10384] ruby 1.4.6 preview — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

24 messages 2000/07/25

[ruby-dev:10433] Re: environment variables

From: Katsuyuki Komatsu <komatsu@...>
Date: 2000-07-27 12:21:44 UTC
List: ruby-dev #10433
小松です。

In the message of [ruby-dev:10424] Re: environment variables
    on 2000/7/26 21:59 "Nobuyoshi.Nakada" <nobu.nakada@nifty.ne.jp> wrote:
> > ほんとは、mswin32でもconfigure時に指定可能なのが望ましいのですが。
> 
>   Windows の貧弱貧弱ぅ〜な環境ではちょっと。ruby がインストール済みなら
> (笑)楽なもんですけど。miniruby 作ってから config.status と Makefile を作
> り直すとか。

ふむ、Makefileから名前をmkconfig.rbに渡すようにして、ビルド
ディレクトリに作るMakefileを変えただけで名前が変えられる
ぐらいにはしておきましょうか。

このため、RUBY_SO_NAMEを導入してRUBY_INSTALL_NAMEと分離します。

それで、ビルドディレクトリのMakefileが、

    srcdir = ..
    RUBY_INSTALL_NAME = ruby
    RUBY_SO_NAME = rubymw
    !INCLUDE $(srcdir)/win32/Makefile

と生成されるようにして、名前を変えたい場合は、rubyとrubymwを
手動で変えてもらうようにしてみました。

普通と違う名前でインストールしたい人はconfigureの後、
できたMakefileをちょっと書き換えてもらうってnmakeしてもらう
ということになります。

デフォルトを変えたい (例えばapolloにしたい) ときはwin32/setup.makの
RUBY_SO_NAMEを変えれば (rubymwからapolloにすれば) よいはず。

> > 1.  mswin32版はDLLにデフォルトでバージョン (1.4, 1.5まで) を入れるか?
> >     それを今後も維持するか?
> >     # これが一番の問題。
> 
>   うーん、一般的には複数バージョンを共存させるにはどうするんでしょう、
> Windows では。

うーん、COMベースでバージョン管理かな。

そうでなければ、.exeと同じディレクトリにあるDLLが優先してロード
される性質を使って
    ディレクトリを分けて、他と衝突するDLLは.exeと同じところに突っ込む
のが一般的かと思います。
で、
    .exeをコマンドラインから直接起動するなんて普通やらないよね
というスタンスをとって、たくさんディレクトリはできることに
なっても、適当にアイコンができててそれで起動できればよいと。

VB5JP.dll・VB6JP.dllというパターンや、MFC40.dll・MFC42.dll
というパターンもあります。

> > 3.  DLLにバージョンを入れるとしたら、方式としては、
> > 
> >     a) Tcl/Tk方式 (tcl83.dll, tk83.dll)
> >     b) GTK方式 (gtk-1.3.dll, glib-1.3.dll等)
> > 
> >     が考えられますが、どちらにするか。
> >     # バージョンをつけるなら今のパッチを変えるのが面倒なのでb)かな。
> 
>   なんか DLL の名前に制限があるみたいですね。

ruby-cygwin.dllからruby.cygwin.dllになったのはcygwin1.dllの問題
というわけじゃないということですか?

mswin32版はrubymw-1.5.dllでも問題ないですよね?

diff -ru1p ruby-1.5.5.nakada/ext/extmk.rb.in ruby-1.5.5/ext/extmk.rb.in
--- ruby-1.5.5.nakada/ext/extmk.rb.in	Wed Jul 26 11:33:51 2000
+++ ruby-1.5.5/ext/extmk.rb.in	Thu Jul 27 21:02:35 2000
@@ -385,2 +385,3 @@ LDSHARED = @LDSHARED@ #{defflag}
 RUBY_INSTALL_NAME = @RUBY_INSTALL_NAME@
+RUBY_SO_NAME = @RUBY_SO_NAME@
 
@@ -529,3 +530,3 @@ def extmake(target)
     $LIBEXT = "lib"
-    $local_flags = "$(topdir)/$(RUBY_INSTALL_NAME).lib -link /EXPORT:Init_$(TARGET)"
+    $local_flags = "$(topdir)/$(RUBY_SO_NAME).lib -link /EXPORT:Init_$(TARGET)"
   end
diff -ru1p ruby-1.5.5.nakada/ext/mswin32_extmk.rb ruby-1.5.5/ext/mswin32_extmk.rb
--- ruby-1.5.5.nakada/ext/mswin32_extmk.rb	Wed Jul 26 11:33:51 2000
+++ ruby-1.5.5/ext/mswin32_extmk.rb	Thu Jul 27 21:02:35 2000
@@ -21,2 +21,4 @@ BEGIN {
       val.gsub!(/\$\{([^{}]+)\}/) { "$(#{$1})" }
+      val = $install_name if $install_name and name =~ /^RUBY_INSTALL_NAME$/
+      val = $so_name if $so_name and name =~ /^RUBY_SO_NAME$/
       CONFIG[name] = val
diff -ru1p ruby-1.5.5.nakada/instruby.rb ruby-1.5.5/instruby.rb
--- ruby-1.5.5.nakada/instruby.rb	Wed Jul 26 11:33:51 2000
+++ ruby-1.5.5/instruby.rb	Thu Jul 27 21:02:35 2000
@@ -86,4 +86,4 @@ if RUBY_PLATFORM =~ /mswin32|mingw/
   File.install "win32/win32.h", archlibdir + "/win32", 0644, true
-  if File.exist? wdir+'/'+CONFIG["RUBY_INSTALL_NAME"]+'.lib'
-    File.install wdir+'/'+CONFIG["RUBY_INSTALL_NAME"]+'.lib', archlibdir, 0644, true
+  if File.exist? wdir+'/'+CONFIG["LIBRUBY"]
+    File.install wdir+'/'+CONFIG["LIBRUBY"], archlibdir, 0644, true
   end
diff -ru1p ruby-1.5.5.nakada/lib/mkmf.rb ruby-1.5.5/lib/mkmf.rb
--- ruby-1.5.5.nakada/lib/mkmf.rb	Wed Jul 26 11:33:51 2000
+++ ruby-1.5.5/lib/mkmf.rb	Thu Jul 27 21:02:35 2000
@@ -394,2 +394,3 @@ LDSHARED = #{CONFIG["LDSHARED"]} #{deffl
 RUBY_INSTALL_NAME = #{CONFIG["RUBY_INSTALL_NAME"]}
+RUBY_SO_NAME = #{CONFIG["RUBY_SO_NAME"]}
 
@@ -491,3 +492,3 @@ case RUBY_PLATFORM
 when /mswin32/
-  $local_flags = "$(RUBY_INSTALL_NAME).lib /link /EXPORT:Init_$(TARGET)"
+  $local_flags = "$(RUBY_SO_NAME).lib /link /EXPORT:Init_$(TARGET)"
 end
diff -ru1p ruby-1.5.5.nakada/mkconfig.rb ruby-1.5.5/mkconfig.rb
--- ruby-1.5.5.nakada/mkconfig.rb	Wed Jul 26 11:33:51 2000
+++ ruby-1.5.5/mkconfig.rb	Thu Jul 27 21:02:35 2000
@@ -1,2 +1,2 @@
-#!./miniruby
+#!./miniruby -s
 
@@ -5,3 +5,3 @@ require File.dirname($0)+"/lib/ftools"
 rbconfig_rb = ARGV[0] || 'rbconfig.rb'
-srcdir = ARGV[1]
+srcdir = $srcdir if $srcdir
 File.makedirs(File.dirname(rbconfig_rb), true)
@@ -12,3 +12,3 @@ $stdout.reopen(config)
 
-fast = {'prefix'=>TRUE, 'INSTALL'=>TRUE, 'EXEEXT'=>TRUE}
+fast = {'prefix'=>TRUE, 'ruby_install_name'=>TRUE, 'INSTALL'=>TRUE, 'EXEEXT'=>TRUE}
 print %[
@@ -31,2 +31,3 @@ File.foreach "config.status" do |$_|
   if /^s%@program_transform_name@%s,(.*)%g$/
+    next if $install_name
     ptn = $1.sub(/\$\$/, '$').split(/,/)	#'
@@ -37,2 +38,4 @@ File.foreach "config.status" do |$_|
     next if name =~ /^(INSTALL|DEFS|configure_input|srcdir|top_srcdir)$/
+    next if $install_name and name =~ /^RUBY_INSTALL_NAME$/
+    next if $so_name and name =~ /^RUBY_SO_NAME$/
     v = "  CONFIG[\"" + name + "\"] = " +
@@ -89,2 +92,10 @@ v_fast.collect! do |x|
   end
+end
+
+if $install_name
+  v_fast << "  CONFIG[\"ruby_install_name\"] = \"" + $install_name + "\"\n"
+  v_fast << "  CONFIG[\"RUBY_INSTALL_NAME\"] = \"" + $install_name + "\"\n"
+end
+if $so_name
+  v_fast << "  CONFIG[\"RUBY_SO_NAME\"] = \"" + $so_name + "\"\n"
 end
diff -ru1p ruby-1.5.5.nakada/win32/Makefile ruby-1.5.5/win32/Makefile
--- ruby-1.5.5.nakada/win32/Makefile	Wed Jul 26 11:33:51 2000
+++ ruby-1.5.5/win32/Makefile	Thu Jul 27 21:02:35 2000
@@ -19,4 +19,2 @@ CPPFLAGS = -I$(srcdir) -I$(srcdir)/missi
 LDFLAGS = $(CFLAGS) -Fm
-#CFLAGS = -nologo -DNT=1 -Zi
-#LDFLAGS = $(CFLAGS) -Fm
 XLDFLAGS = 
@@ -29,3 +27,4 @@ SOLIBS = 
 
-RUBY_INSTALL_NAME=rubymw-1.5
+#RUBY_INSTALL_NAME=ruby
+#RUBY_SO_NAME=rubymw
 EXEEXT = .exe
@@ -33,3 +32,3 @@ PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
 WPROGRAM=$(RUBY_INSTALL_NAME:ruby=rubyw)$(EXEEXT)
-RUBYDEF = $(RUBY_INSTALL_NAME).def
+RUBYDEF = $(RUBY_SO_NAME).def
 
@@ -41,4 +40,4 @@ ORGLIBPATH = $(LIB)
 LIBRUBY_A     = lib$(RUBY_INSTALL_NAME).lib
-LIBRUBY_SO    = $(RUBY_INSTALL_NAME).dll
-LIBRUBY       = $(RUBY_INSTALL_NAME).lib
+LIBRUBY_SO    = $(RUBY_SO_NAME).dll
+LIBRUBY       = $(RUBY_SO_NAME).lib
 LIBRUBYARG    = $(LIBRUBY)
@@ -89,3 +88,3 @@ OBJS          = array.obj \
 all:		miniruby$(EXEEXT) rbconfig.rb ext/extmk.rb \
-		$(RUBY_INSTALL_NAME).lib $(MISCLIBS)
+		$(LIBRUBY) $(MISCLIBS)
 		set LIB=../../win32;$(ORGLIBPATH)
@@ -96,3 +95,6 @@ ext/extmk.rb:	$(srcdir)/ext/extmk.rb.in 
 		@.\miniruby$(EXEEXT) $(srcdir)/ext/mswin32_extmk.rb \
-			-srcdir=$(srcdir) -output=ext/extmk.rb $(srcdir)/ext/extmk.rb.in
+			-srcdir=$(srcdir) \
+			-install_name=$(RUBY_INSTALL_NAME) \
+			-so_name=$(RUBY_SO_NAME) \
+			-output=ext/extmk.rb $(srcdir)/ext/extmk.rb.in
 
@@ -150,3 +152,5 @@ test:		miniruby$(EXEEXT)
 rbconfig.rb:	miniruby$(EXEEXT) config.status
-		@.\miniruby$(EXEEXT) $(srcdir)/mkconfig.rb rbconfig.rb $(srcdir)
+		@.\miniruby$(EXEEXT) $(srcdir)/mkconfig.rb -srcdir=$(srcdir) \
+			-install_name=$(RUBY_INSTALL_NAME) \
+			-so_name=$(RUBY_SO_NAME) rbconfig.rb
 
diff -ru1p ruby-1.5.5.nakada/win32/config.status ruby-1.5.5/win32/config.status
--- ruby-1.5.5.nakada/win32/config.status	Wed Jul 26 11:33:51 2000
+++ ruby-1.5.5/win32/config.status	Thu Jul 27 21:02:35 2000
@@ -11,3 +11,2 @@ s%@exec_prefix@%${prefix}%g
 s%@prefix@%%g
-s%@program_transform_name@%s,$,mw-1.5,%g
 s%@bindir@%${exec_prefix}/bin%g
@@ -53,3 +52,4 @@ s%@LIBRUBY_LDSHARED@%%g
 s%@LIBRUBY_DLDFLAGS@%%g
-s%@RUBY_INSTALL_NAME@%rubymw-1.5%g
+s%@RUBY_INSTALL_NAME@%ruby%g
+s%@RUBY_SO_NAME@%rubymw%g
 s%@LIBRUBY_A@%lib$(RUBY_INSTALL_NAME).lib%g
@@ -57,4 +57,4 @@ s%@LIBRUBY_SO@%%g
 s%@LIBRUBY_ALIASES@%%g
-s%@LIBRUBY@%libruby.lib%g
-s%@LIBRUBYARG@%$(topdir)/$(RUBY_INSTALL_NAME).lib%g
+s%@LIBRUBY@%$(RUBY_SO_NAME).lib%g
+s%@LIBRUBYARG@%$(topdir)/$(RUBY_SO_NAME).lib%g
 s%@SOLIBS@%%g
diff -ru1p ruby-1.5.5.nakada/win32/setup.mak ruby-1.5.5/win32/setup.mak
--- ruby-1.5.5.nakada/win32/setup.mak	Wed Jul 26 12:48:35 2000
+++ ruby-1.5.5/win32/setup.mak	Thu Jul 27 21:02:35 2000
@@ -19,2 +19,4 @@ Makefile: $(TMPMAKE)
 	@echo srcdir = $(srcdir:\=/) > $@
+	@echo RUBY_INSTALL_NAME = ruby >> $@
+	@echo RUBY_SO_NAME = rubymw >> $@
 	@echo !INCLUDE $$(srcdir)/win32/Makefile >> $@

--
小松克行 / Katsuyuki Komatsu <komatsu@sarion.co.jp>

In This Thread