Bug #11

prelude.c compilation problem on mswin32

Added by Usaku NAKAMURA almost 6 years ago. Updated over 1 year ago.

[ruby-dev:34877]
Status:Closed
Priority:Low
Assignee:Usaku NAKAMURA
Category:-
Target version:-
ruby -v: Backport:

Description

=begin
Congratulations of starting mail transfer system of redmine.r.o.!

BTW,
on mswin32, after prelude.rb is updated and the contents is not changed (such as ``touch''ed), prelude.c will be always compiled.
This is a rare case, so priority is low.
=end

History

#1 Updated by Usaku NAKAMURA almost 6 years ago

  • Assignee set to Usaku NAKAMURA

=begin

=end

#2 Updated by Usaku NAKAMURA almost 6 years ago

  • Priority changed from Normal to Low

=begin

=end

#3 Updated by Nobuyoshi Nakada almost 6 years ago

=begin
なかだです。

At Wed, 28 May 2008 23:28:33 +0900,
redmine@ruby-lang.org wrote in :

BTW,
on mswin32, after prelude.rb is updated and the contents is not changed (such as ``touch''ed), prelude.c will be always compiled.
This is a rare case, so priority is low.

ifchangeを使うのを止めますか。

Index: Makefile.in
===================================================================
--- Makefile.in (revision 16676)
+++ Makefile.in (working copy)
@@ -205,4 +205,2 @@ distclean-local::
ext/extinit.$(OBJEXT): ext/extinit.c $(SETUP)
$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c ext/extinit.c
-
-MKPREP = $(PREP) $(RBCONFIG)
Index: common.mk
===================================================================
--- common.mk (revision 16676)
+++ common.mk (working copy)
@@ -110,4 +110,6 @@ TESTWORKDIR = testwork
BOOTSTRAPRUBY = $(BASERUBY)

+COMPILEPRELUDE = $(MINIRUBY) -I$(srcdir) -rrbconfig $(srcdir)/tool/compileprelude.rb
+
VCS = svn

@@ -378,5 +380,5 @@ encs: enc.mk $(LIBRUBY)

enc.mk: $(srcdir)/enc/makeencmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \
- $(srcdir)/lib/mkmf.rb $(MKPREP)
+ $(srcdir)/lib/mkmf.rb $(PREP)
$(MINIRUBY) $(srcdir)/enc/make
encmake.rb --builtin-encs="$(BUILTIN_ENCOBJS)" $@

@@ -743,12 +745,9 @@ miniprelude.c: $(srcdir)/tool/compilepr
$(BASERUBY) -I$(srcdir) $(srcdir)/tool/compile
prelude.rb $(srcdir)/prelude.rb $@

-prelude.c: $(srcdir)/tool/compileprelude.rb $(PRELUDESCRIPTS) $(MKPREP)
- $(MINIRUBY) -I$(srcdir) -rrbconfig $(srcdir)/tool/compileprelude.rb \
- $(PRELUDE
SCRIPTS) $@.new
- $(IFCHANGE) "$@" "$@.new"
+prelude.c: $(srcdir)/tool/compileprelude.rb $(PRELUDESCRIPTS) $(PREP)
+ $(COMPILEPRELUDE) $(PRELUDESCRIPTS) $@

-golfprelude.c: $(srcdir)/tool/compileprelude.rb $(srcdir)/prelude.rb $(srcdir)/golfprelude.rb $(MKPREP)
- $(MINIRUBY) -I$(srcdir) -rrbconfig $(srcdir)/tool/compile
prelude.rb $(srcdir)/golfprelude.rb $@.new
- $(IFCHANGE) "$@" "$@.new"
+golf
prelude.c: $(srcdir)/tool/compileprelude.rb $(srcdir)/prelude.rb $(srcdir)/golfprelude.rb $(PREP)
+ $(COMPILEPRELUDE) $(srcdir)/golfprelude.rb $@

prereq: incs srcs preludes
Index: enc/trans/maketransdb.rb
===================================================================
--- enc/trans/make
transdb.rb (revision 16676)
+++ enc/trans/maketransdb.rb (working copy)
@@ -32,11 +32,5 @@ Dir.open(transdir) {|d| d.grep(/.+.[ch]
end
result = converters.map {|k, v| %[rb
declaretranscoder("%s", "%s", "%s");\n] % v}.join
-mode = IO::RDWR|IO::CREAT
-mode |= IO::BINARY if defined?(IO::BINARY)
-open(outhdr, mode) do |f|
- unless f.read == result
- f.rewind
- f.truncate(0)
- f.print result
- end
+open(outhdr, 'wb') do |f|
+ f.print result
end
Index: enc/make
encdb.rb
===================================================================
--- enc/makeencdb.rb (revision 16676)
+++ enc/make
encdb.rb (working copy)
@@ -66,11 +66,5 @@ end
result = encodings.map {|e| %[ENCDEFINE("#{e}");\n]}.join + lines.join +
"\n#define ENCODING
COUNT #{count}\n"
-mode = IO::RDWR|IO::CREAT
-mode |= IO::BINARY if defined?(IO::BINARY)
-open(outhdr, mode) do |f|
- unless f.read == result
- f.rewind
- f.truncate(0)
- f.print result
- end
+open(outhdr, 'wb') do |f|
+ f.print result
end

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦

=end

#4 Updated by Usaku NAKAMURA almost 6 years ago

=begin

こんにちは、なかむら(う)です。

In message " Re: [Ruby 1.9 - Bug #11] prelude.c compilation problem on mswin32"
on May.29,2008 17:36:42, nobu@ruby-lang.org wrote:
| ifchangeを使うのを止めますか。

よくわかってないんですが、止めちゃって問題はないんでしょうか?

この問題自体は優先度が低い(ITSに登録したのはITSの動作確認のた
めにたまたま目の前にあった問題を採用しただけ)ので、他の問題が
起きるなら放置でかまわないわけですが...

それでは。
--
U.Nakamura usa@garbagecollect.jp

=end

#5 Updated by Nobuyoshi Nakada almost 6 years ago

=begin

なかだです。

At Fri, 30 May 2008 05:41:13 +0900,
U.Nakamura wrote in :

| ifchangeを使うのを止めますか。

よくわかってないんですが、止めちゃって問題はないんでしょうか?

prelude.cも{enc,trans}db.hも、もうminirubyでは使わなくなってます
から。minirubyを作り直したときに{enc,trans}db.soも作り直すように
なりますが、問題はないでしょう。

この問題自体は優先度が低い(ITSに登録したのはITSの動作確認のた
めにたまたま目の前にあった問題を採用しただけ)ので、他の問題が
起きるなら放置でかまわないわけですが...

同じく、返信がITSへ反映されるか確認したかったのもあるので。

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦

=end

#6 Updated by Usaku NAKAMURA almost 6 years ago

=begin

こんにちは、なかむら(う)です。

In message " Re: [Ruby 1.9 - Bug #11] prelude.c compilation problem on mswin32"
on May.30,2008 11:08:55, nobu@ruby-lang.org wrote:

prelude.cも{enc,trans}db.hも、もうminirubyでは使わなくなってます
から。minirubyを作り直したときに{enc,trans}db.soも作り直すように
なりますが、問題はないでしょう。

じゃあ、なぜか既にパッチもあることですし、お願いします。

同じく、返信がITSへ反映されるか確認したかったのもあるので。

さて、今度は大丈夫かしらん。

それでは。
--
U.Nakamura usa@garbagecollect.jp

=end

#7 Updated by Yuki Sonoda almost 6 years ago

=begin
返信テスト

=end

#8 Updated by Usaku NAKAMURA almost 6 years ago

  • Status changed from Open to Closed

=begin

=end

Also available in: Atom PDF