[#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:10266] Re: don't use mktemp()

From: nobu.nakada@...
Date: 2000-07-08 10:58:33 UTC
List: ruby-dev #10266
なかだです。

At Fri, 7 Jul 2000 11:27:14 +0900,
WATANABE Hirofumi <eban@os.rim.or.jp> wrote:
> :  nmake は VPATH じゃなくてこう書けばいいようです。
> 
> うーむ. やっぱ VPATH は使えないわけですね. 

  Not MAKE だしぃ。なんといっても動的にマクロを展開できないあたり make
とは名ばかり。

> :.c.obj:
> :	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
> :{$(srcdir)}.c{}.obj:
> : 	$(CC) -I. -I$(<D:/=\) $(CFLAGS) $(CPPFLAGS) -c $(<:/=\)
> :{missing;$(srcdir)/missing}.c{}.obj:
> : 	$(CC) -I. -I$(<D:/=\) $(CFLAGS) $(CPPFLAGS) -c $(<:/=\)
> :{win32;$(srcdir)/win32}.c{}.obj:
> : 	$(CC) -I. -I$(<D:/=\) $(CFLAGS) $(CPPFLAGS) -c $(<:/=\)
> 
> なるほど. なんとなくわかりますね. / は \ に置き換えないとい
> けないのか.

  最初に / が来るとオプションになっちゃうもんで。ドライブが付いてれば
この置換はいりませんが、UNC とか使うとそうもいかなくて。

> :> あと ext/mswin32_extmk.rb かなあ. うーむ.
> :
> :  こっちがどうもうまくないです。とりあえずこんな風にしたものの。
> 
> たぶん
>   val = ".." if name == "top_srcdir"
> ここも srcdir 相対にしないとまずいでしょうね.

  なるほど。

> いっそのこと env CC=cl ./configure i386-winnt でいけるように
> しちゃうとか ;-)

  それがベストなんですけどねぇ。

  大体こんなとこでしょうか。あと、依存関係のところの .c, .h にすべて
$(srcdir) をつけないとダメなようですが、一応 make all test できました。


--- ext/extmk.rb.in-	Thu Jul  6 16:35:11 2000
+++ ext/extmk.rb.in	Fri Jul  7 14:47:23 2000
@@ -374,7 +374,8 @@ DESTDIR = 
 
 CC = @CC@
 
-CFLAGS   = %s -I$(topdir) -I$(hdrdir) #{CFLAGS} #$CFLAGS -I@includedir@ %s
+CFLAGS   = %s #{CFLAGS} #$CFLAGS
+CPPFLAGS = -I$(topdir) -I$(hdrdir) -I@includedir@ %s
 DLDFLAGS = #$DLDFLAGS #$LDFLAGS
 LDSHARED = @LDSHARED@ #{defflag}
 ", if $static then "" else "@CCDLFLAGS@" end, $defs.join(" ")
@@ -451,6 +452,16 @@ EOS
   install_rb(mfile, $srcdir)
   mfile.printf "\n"
 
+  if /mswin32/ =~ RUBY_PLATFORM
+    mfile.puts "
+.c.obj:
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+{$(srcdir)}.c{}.obj:
+ 	$(CC) -I. -I$(<D:/=\\) $(CFLAGS) $(CPPFLAGS) -c $(<:/=\\)
+
+"
+  end
+
   if $static
     if "@AR@" =~ /^lib\b/i
       mfile.printf "\
@@ -486,6 +497,7 @@ $(DLLIB): $(OBJS)
     mfile.printf "###\n"
     while line = dfile.gets()
       line.gsub!(/\.o/, ".#{$OBJEXT}")
+      line.gsub!(/(\s)([^\s\/]+\.[ch])/, '\1$(srcdir)/\2') if /mswin32/ =~ RUBY_PLATFORM
       mfile.printf "%s", line.gsub('\$\(hdrdir\)/config.h', '$(topdir)/config.h')
     end
     dfile.close
@@ -511,7 +523,7 @@ def extmake(target)
   $local_flags = ""
   if /mswin32/ =~ RUBY_PLATFORM
     $LIBEXT = "lib"
-    $local_flags = "$(topdir)/rubymw.lib -link /EXPORT:Init_$(TARGET)"
+    $local_flags = "$(topdir)/$(RUBY_INSTALL_NAME).lib -link /EXPORT:Init_$(TARGET)"
   end
   $LOCAL_LIBS = ""		# to be assigned in extconf.rb
   dir = with_config("opt-dir")
--- ext/mswin32_extmk.rb-	Fri Aug 13 17:39:25 1999
+++ ext/mswin32_extmk.rb	Fri Jul  7 13:53:31 2000
@@ -1,17 +1,17 @@
 #!./miniruby
 
-def create_gsub_rb()
+def create_gsub_rb(srcdir)
   f = open("mswin32_gsub.rb", "w")
   has_version = false
   f.print 'f = open("extmk.rb", "w")', "\n"
-  f.print 'File.foreach "extmk.rb.in" do |$_|', "\n"
+  f.print "File.foreach \"#{srcdir}/extmk.rb.in\" do |$_|\n"
   File.foreach "../config.status" do |$_|
     next if /^#/
     if /^s%@(\w+)@%(.*)%g/
       name = $1
       val = $2 || ""
       next if name =~ /^(INSTALL|DEFS|configure_input|srcdir)$/
-      val = ".." if name == "top_srcdir"
+      val = File.dirname(File.expand_path(srcdir)) if name == "top_srcdir"
       val.gsub!(/\$\{([^{}]+)\}/) { "$(#{$1})" }
       f.print "  gsub!(\"@#{name}@\", \"#{val}\")\n"
       has_version = true if name == "MAJOR"
@@ -32,7 +32,7 @@ def create_gsub_rb()
 end
 
 begin
-  create_gsub_rb()
+  create_gsub_rb(ARGV[0] || '.')
   load "mswin32_gsub.rb"
 ensure
   File.unlink "mswin32_gsub.rb"
--- lib/mkmf.rb-	Thu Jul  6 16:35:12 2000
+++ lib/mkmf.rb	Fri Jul  7 13:54:54 2000
@@ -381,7 +381,8 @@ hdrdir = #{$hdrdir}
 
 CC = #{CONFIG["CC"]}
 
-CFLAGS   = #{CONFIG["CCDLFLAGS"]} -I$(hdrdir) #{CFLAGS} #{$CFLAGS} -I#{CONFIG["includedir"]} #{$defs.join(" ")}
+CFLAGS   = #{CONFIG["CCDLFLAGS"]} #{CFLAGS} #{$CFLAGS}
+CPPFLAGS = -I$(hdrdir) -I#{CONFIG["includedir"]} #{$defs.join(" ")}
 CXXFLAGS = $(CFLAGS)
 DLDFLAGS = #{$DLDFLAGS} #{$LDFLAGS}
 LDSHARED = #{CONFIG["LDSHARED"]} #{defflag}
@@ -441,10 +442,11 @@ EOMF
   mfile.printf "\n"
 
   if CONFIG["DLEXT"] != $OBJEXT
-    mfile.printf <<EOMF
-$(DLLIB): $(OBJS)
-	$(LDSHARED) $(DLDFLAGS) -o $(DLLIB) $(OBJS) $(LIBS) $(LOCAL_LIBS)
-EOMF
+    mfile.print "$(DLLIB): $(OBJS)\n"
+    if /mswin32/ =~ RUBY_PLATFORM
+      mfile.print "\tset LIB=$(topdir:/=\\);$(LIB)\n"
+    end
+    mfile.print "\t$(LDSHARED) $(DLDFLAGS) -o $(DLLIB) $(OBJS) $(LIBS) $(LOCAL_LIBS)\n"
   elsif not File.exist?(target + ".c") and not File.exist?(target + ".cc")
     mfile.print "$(DLLIB): $(OBJS)\n"
     case RUBY_PLATFORM
@@ -472,7 +474,7 @@ $libs = CONFIG["DLDLIBS"]
 $local_flags = ""
 case RUBY_PLATFORM
 when /mswin32/
-  $local_flags = "rubymw.lib -link /LIBPATH:$(topdir) /EXPORT:Init_$(TARGET)"
+  $local_flags = "$(RUBY_INSTALL_NAME).lib -link /EXPORT:Init_$(TARGET)"
 end
 $LOCAL_LIBS = ""
 $defs = []


-- 
そうだ 強気に ちょっと インチキに☆彡
    中田 "Bugるくらいがちょうどいいかも;-)" 伸悦

In This Thread

Prev Next