[#10793] 今度こそ (patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.) — kou@...1609.sip.eee.yamaguchi-u.ac.jp (Koichi Okada)

岡田です。

10 messages 2000/09/01

[#10920] SIGINT on windows — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

17 messages 2000/09/14
[#11077] Re: SIGINT on windows — matz@... (Yukihiro Matsumoto) 2000/09/27

まつもと ゆきひろです

[#10944] dummy DLL on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

19 messages 2000/09/18
[#10955] Re: dummy DLL on Windows — WATANABE Hirofumi <eban@...> 2000/09/19

わたなべです.

[#10963] Re: dummy DLL on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/09/19

なかだです。

[#10964] Re: dummy DLL on Windows — WATANABE Hirofumi <eban@...> 2000/09/19

わたなべです.

[#10978] [PATCH] require in require — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

15 messages 2000/09/20

[#10985] httphead.rb proxy version problem — Katsuyuki Komatsu <komatsu@...>

小松です.

16 messages 2000/09/20
[#10989] Re: httphead.rb proxy version problem — Minero Aoki <aamine@...> 2000/09/20

あおきです。

[ruby-dev:11045] Re: ruby 1.6.0 preview

From: WATANABE Hirofumi <eban@...>
Date: 2000-09-23 08:16:17 UTC
List: ruby-dev #11045
わたなべです.

Masaki Suketa <CQN02273@nifty.ne.jp> writes:

:ひょっとして、-fno-exceptionsを指定してrubywin.exeを
:コンパイルすればmingwm10.dllが不要になるでしょうか?
:# exceptionからの単なる連想なんですが。

ならないです. destructor を定義するとリンクされます.
#そのあたりは結構思考錯誤したというか.

ちなみに Ruby binaries はすでに -fno-rtti -fno-exceptions を
つけてコンパイルされてます. これだけで結構サイズが小さくなり
ます.

クロスコンパイルにも対応した config.rb をつけときます.
#diff のほうが大きくなったので.

-- 
わたなべひろふみ

require 'mkmf'

srcdir = File.dirname($0)

$OBJS = []
for f in Dir["#{srcdir}/*.{#{SRC_EXT.join(%q{,})}}"].sort
  f = File.basename(f)
  f.sub!(/(#{SRC_EXT.join(%q{|})})$/, $OBJEXT)
  $OBJS.push f
end
$TARGET = 'rubywin'

case PLATFORM
when /mswin/
  $CC = 'cl'
  $CFLAGS = '-I. -Iscintilla/include -GX'
  $RESEXT = '.res'
  $LIBS = 'shell32.lib kernel32.lib gdi32.lib user32.lib winmm.lib comdlg32.lib comctl32.lib imm32.lib ole32.lib uuid.lib rubymw.lib -link /LIBPATH:$(topdir)'
  $OBJRULE = <<STR
.cpp.obj:
	$(CC) $(CFLAGS) -c $<
STR
  $OBJRULE2 = $OBJS.collect{|obj|
    src = obj.sub($OBJEXT, 'cpp')
    "#{obj}:#{src}"
  }.join("\n")
  $SUFFIX = ""  

  $RESCC = <<STR
resource.res: resource.rc resource.h
	rc.exe /fo resource.res resource.rc
STR

when /mingw/, /cygwin/
  $CC = CONFIG['CC']
  $CFLAGS = '-I$(srcdir) -I$(srcdir)/scintilla/include -Wall'
  $RESEXT = '.o'
  $LDFLAGS =  " -L" + CONFIG["libdir"] + " -mwindows -e _mainCRTStartup"
  $LIBS = '-lkernel32 -lgdi32 -luser32 -lwinmm -lcomdlg32 -lcomctl32 -limm32 -lole32 -luuid -lstdc++'
  $OBJRULE = <<STR
.cpp.o:
	$(CC) $(CXXFLAGS) -c $< -o $@
STR
  $OBJRULE2 = ""
  $SUFFIX = '.SUFFIXES: .cpp'

  $RESCC = <<STR
resource.o: $(srcdir)/resource.rc $(srcdir)/resource.h
	#{CONFIG['WINDRES']} --include-dir $(srcdir) --define USE_WINDRES $(srcdir)/resource.rc resource.o
STR

end

$OBJS = $OBJS.join(" ")
$OBJS += " resource#{$RESEXT}"

ofs = open("Makefile", "w")
ofs.print <<EOF
srcdir = #{srcdir}
VPATH = $(srcdir)
hdrdir = #{$hdrdir}
topdir = #{$topdir}
#{$SUFFIX}
CC = #{$CC}
TARGET = #{$TARGET}#{CONFIG["EXEEXT"]}

LIBS = 
CFLAGS = #{CONFIG["CCDLFLAGS"]} -I$(hdrdir) #{CFLAGS} #{$CFLAGS} -I#{CONFIG["includedir"]}
CXXFLAGS = $(CFLAGS)
LDFLAGS = #$LDFLAGS

RUBY_INSTALL_NAME = #{CONFIG["RUBY_INSTALL_NAME"]}
RUBY_SO_NAME = #{CONFIG["RUBY_SO_NAME"]}

#{$OBJRULE}

OBJS = #{$OBJS}
LIBS = #{CONFIG["LIBRUBYARG"]} #{$LIBS}

$(TARGET): $(OBJS)
	$(CC) $(LDFLAGS) -o $(TARGET) $(OBJS) $(LIBS)

#{$OBJRULE2}
#{$RESCC}
EOF

ofs.close
puts "Makefile created"

In This Thread