From: Katsuyuki Komatsu Date: 2000-08-26T09:57:24+09:00 Subject: [ruby-list:24519] Re: MSWin Ruby on Windows2000 小松です。 In the message of [ruby-list:24515] MSWin Ruby on Windows2000 on 2000/8/26 04:54:55 arton wrote: > #既存の拡張ライブラリのLOCAL_LIBSにRubyCRT.libを含めるための > configure.statusの書き方、教えて頂けませんか? > (DLDLIBとか、環境変数のLOCAL_LIBSに設定するとか、試してみたけど、うまく > いかなかったです...) Ruby 1.4.6は、@DLDLIBS@が導入されてないので、簡単なのは、 ext/extmk.rb.inとlib/mkmf.rbの$libsの初期値に"RubyCRT.lib"を 代入することでしょうね。 以下のパッチでよいかと思います。 いそがしくて、1.6系の方のRubyCRT.dll化の方は遅れてます。 すみません。 # やっとメール出せるぐらいの余裕ができた。 diff -ru1p ruby-1.4.6.dist/ext/extmk.rb.in ruby-1.4.6/ext/extmk.rb.in --- ruby-1.4.6.dist/ext/extmk.rb.in Tue Jun 20 01:23:36 2000 +++ ruby-1.4.6/ext/extmk.rb.in Sat Aug 26 09:38:54 2000 @@ -509,3 +509,3 @@ def extmake(target) $LIBEXT = "lib" - $libs = "" + $libs = "RubyCRT.lib" $local_flags = "$(topdir)/rubymw.lib -link /EXPORT:Init_$(TARGET)" diff -ru1p ruby-1.4.6.dist/lib/mkmf.rb ruby-1.4.6/lib/mkmf.rb --- ruby-1.4.6.dist/lib/mkmf.rb Tue Jun 20 01:23:36 2000 +++ ruby-1.4.6/lib/mkmf.rb Sat Aug 26 09:38:35 2000 @@ -471,3 +471,3 @@ when /cygwin|beos|openstep|nextstep|rhap when /mswin32/ - $libs = "" + $libs = "RubyCRT.lib" $local_flags = "rubymw.lib -link /LIBPATH:$(topdir) /EXPORT:Init_$(TARGET)" diff -ru1p ruby-1.4.6.dist/win32/Makefile ruby-1.4.6/win32/Makefile --- ruby-1.4.6.dist/win32/Makefile Thu May 25 14:48:09 2000 +++ ruby-1.4.6/win32/Makefile Sat Aug 26 09:41:02 2000 @@ -14,3 +14,3 @@ AUTOCONF = autoconf prefix = -CFLAGS = -nologo -DNT=1 -Ox -I. -I./missing +CFLAGS = -nologo -DNT=1 -MD -Ox -I. -I./missing LDFLAGS = $(CFLAGS) -Fm @@ -20,3 +20,3 @@ XLDFLAGS = #EXTLIBS = -LIBS = user32.lib advapi32.lib wsock32.lib $(EXTLIBS) +LIBS = RubyCRT.lib user32.lib advapi32.lib wsock32.lib $(EXTLIBS) MISSING = crypt.obj alloca.obj win32.obj isinf.obj isnan.obj @@ -96,3 +96,3 @@ miniruby$(EXEEXT): $(OBJS) $(MAINOBJ) $( $(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(LIBRUBY_SO) - $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) -o $@ $(LIBRUBYARG) -link /STACK:$(STACK) + $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) -o $@ $(LIBRUBYARG) $(LIBS) -link /STACK:$(STACK) diff -ru1p ruby-1.4.6.dist/win32/config.status ruby-1.4.6/win32/config.status --- ruby-1.4.6.dist/win32/config.status Fri Jun 2 22:28:05 2000 +++ ruby-1.4.6/win32/config.status Sat Aug 26 09:39:35 2000 @@ -2,3 +2,3 @@ ac_given_srcdir=. s%@SHELL@%%g -s%@CFLAGS@%-nologo -DNT=1 -Ox%g +s%@CFLAGS@%-nologo -DNT=1 -MD -Ox%g s%@CPPFLAGS@%%g @@ -8,4 +8,4 @@ s%@DEFS@% -DUSE_THREAD -DSIZEOF_INT=4 -DSIZEOF_SHORT=2 -DSIZEOF_LONG=4 -DSIZEOF_VOIDP=4 -DSIZEOF_FLOAT=4 -DSIZEOF_DOUBLE=8 -DHAVE_PROTOTYPES=1 -DHAVE_STDARG_PROTOTYPES=1 -DHAVE_STDLIB_H=1 -DHAVE_LIMITS_H=1 -DHAVE_FCNTL_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ST_RDEV=1 -DGETGROUPS_T=int -DRETSIGTYPE=void -DHAVE_ALLOCA=1 -DHAVE_FMOD=1 -DHAVE_WAITPID=1 -DHAVE_GETCWD=1 -DHAVE_CHSIZE=1 -DHAVE_GETGROUPS=1 -DHAVE_GETLOGIN=1 -DRSHIFT=\(x,y\)\ \(\(x\)\>\>y\) -DFILE_COUNT=_cnt -DDLEXT=\".dll\" -DRUBY_PLATFORM=\"i386-mswin32\" %g -s%@LDFLAGS@%-nologo -Ox%g -s%@LIBS@%user32.lib advapi32.lib wsock32.lib%g +s%@LDFLAGS@%-nologo -MD -Ox%g +s%@LIBS@%RubyCRT.lib user32.lib advapi32.lib wsock32.lib%g s%@exec_prefix@%${prefix}%g -- 小松克行 / Katsuyuki Komatsu