# \[Ruby 1.9 - Bug #11\] prelude.c compilation problem on mswin32

**URL:** <https://www.ruby-forum.com/t/ruby-1-9-bug-11-prelude-c-compilation-problem-on-mswin32/138878>\
**Category:** Development\
**Created:** [May 28, 2008, 4:48pm UTC](https://www.ruby-forum.com/t/ruby-1-9-bug-11-prelude-c-compilation-problem-on-mswin32/138878 "2008-05-28T16:48:10Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [May 28, 2008, 4:48pm UTC](https://www.ruby-forum.com/t/ruby-1-9-bug-11-prelude-c-compilation-problem-on-mswin32/138878/1 "2008-05-28T16:48:10Z")

</div>

Issue #11 has been updated by Usaku NAKAMURA.

Priority changed from Normal to Low

* * *

Bug #11: prelude.c compilation problem on mswin32  
[http://redmine.ruby-lang.org/issues/show/11](http://redmine.ruby-lang.org/issues/show/11)

Author: Usaku NAKAMURA  
Status: Open  
Priority: Low  
Assigned to: Usaku NAKAMURA  
Category:  
Target version:

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.

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [May 29, 2008, 10:37am UTC](https://www.ruby-forum.com/t/ruby-1-9-bug-11-prelude-c-compilation-problem-on-mswin32/138878/2 "2008-05-29T10:37:38Z")

</div>

e$B$J$+$@$G$9!#e(B

At Wed, 28 May 2008 23:28:33 +0900,  
removed\_email\_address@domain.invalid wrote in [ruby-dev:34877]:

> 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.

ifchangee$B$r;H$&$N$r;\_$a$^$9$+!#e(B

# 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)

+COMPILE\_PRELUDE = $(MINIRUBY) -I$(srcdir) -rrbconfig  
$(srcdir)/tool/compile\_prelude.rb  
+  
VCS = svn

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

enc.mk: $(srcdir)/enc/make\_encmake.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/compile\_pr  
$(BASERUBY) -I$(srcdir) $(srcdir)/tool/compile\_prelude.rb  
$(srcdir)/prelude.rb $@

-prelude.c: $(srcdir)/tool/compile\_prelude.rb $(PRELUDE\_SCRIPTS)  
$(MKPREP)

- $(MINIRUBY) -I$(srcdir) -rrbconfig $(srcdir)/tool/compile\_prelude.rb  
\
- $(PRELUDE\_SCRIPTS) $@.new
- $(IFCHANGE) “$@” “$@.new”  
+prelude.c: $(srcdir)/tool/compile\_prelude.rb $(PRELUDE\_SCRIPTS) $(PREP)

- $(COMPILE\_PRELUDE) $(PRELUDE\_SCRIPTS) $@

-golf\_prelude.c: $(srcdir)/tool/compile\_prelude.rb $(srcdir)/prelude.rb  
$(srcdir)/golf\_prelude.rb $(MKPREP)

- $(MINIRUBY) -I$(srcdir) -rrbconfig $(srcdir)/tool/compile\_prelude.rb  
$(srcdir)/golf\_prelude.rb $@.new
- $(IFCHANGE) “$@” “$@.new”  
+golf\_prelude.c: $(srcdir)/tool/compile\_prelude.rb $(srcdir)/prelude.rb  
$(srcdir)/golf\_prelude.rb $(PREP)

- $(COMPILE\_PRELUDE) $(srcdir)/golf\_prelude.rb $@

# prereq: incs srcs preludes Index: enc/trans/make\_transdb.rb

— enc/trans/make\_transdb.rb (revision 16676)  
+++ enc/trans/make\_transdb.rb (working copy)  
@@ -32,11 +32,5 @@ Dir.open(transdir) {|d| d.grep(/.+.[ch]  
end  
result = converters.map {|k, v| %[rb\_declare\_transcoder("%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/make\_encdb.rb (revision 16676)  
+++ enc/make\_encdb.rb (working copy)  
@@ -66,11 +66,5 @@ end  
result = encodings.map {|e| %[ENC\_DEFINE("#{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

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [May 30, 2008, 6:10pm UTC](https://www.ruby-forum.com/t/ruby-1-9-bug-11-prelude-c-compilation-problem-on-mswin32/138878/3 "2008-05-30T18:10:01Z")

</div>

e$B$J$+$@$G$9!#e(B

At Fri, 30 May 2008 05:41:13 +0900,  
U.Nakamura wrote in [ruby-dev:34894]:

> | ifchangee$B$r;H$&$N$r;\_$a$^$9$+!#e(B
> 
> e$B$h$/$o$+$C$F$J$$$s$G$9$,!";\_$a$A$c$C$FLdBj$O$J$$$s$G$7$g$&$+e(B?

prelude.ce$B$be(B{enc,trans}db.he$B$b!"$b$&e(Bminirubye$B$G$O;H$o$J$/$J$C$F$^$9e(B  
e$B$+$i!#e(Bminirubye$B$r:n$jD\>$7$?$H$-$Ke(B{enc,trans}db.soe$B$b:n$jD\>$9$h$&$Ke(B  
e$B$J$j$^$9$,!"LdBj$O$J$$$G$7$g$&!#e(B

> e$B$3$NLdBj\<+BN$OM%@hEY$,Dc$$e(B(ITSe$B$KEPO?$7$?$N$Oe(BITSe$B$NF0:n3NG’$N$?e(B  
> e$B$a$K$?$^$?$^L$NA0$K$"$C$?LdBj$r:NMQ$7$?$@$1e(B)e$B$N$G!"B\>$NLdBj$,e(B  
> e$B5/$-$k$J$iJ|CV$G$+$^$o$J$$$o$1$G$9$,e(B…

e$BF1$8$/!“JV?.$,e(BITSe$B$XH?1G$5$l$k$+3NG’$7$?$+$C$?$N$b$”$k$N$G!#e(B

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [May 30, 2008, 7:07pm UTC](https://www.ruby-forum.com/t/ruby-1-9-bug-11-prelude-c-compilation-problem-on-mswin32/138878/4 "2008-05-30T19:07:15Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:34895] Re: [Ruby 1.9 - Bug #11] prelude.c  
compilation problem on mswin32”  
on May.30,2008 11:08:55, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> prelude.ce$B$be(B{enc,trans}db.he$B$b!"$b$&e(Bminirubye$B$G$O;H$o$J$/$J$C$F$^$9e(B  
> e$B$+$i!#e(Bminirubye$B$r:n$jD\>$7$?$H$-$Ke(B{enc,trans}db.soe$B$b:n$jD\>$9$h$&$Ke(B  
> e$B$J$j$^$9$,!"LdBj$O$J$$$G$7$g$&!#e(B

e$B$8$c$“!”$J$\<$+4{$K%Q%C%A$b$“$k$3$H$G$9$7!”$\*4j$$$7$^$9!#e(B

> e$BF1$8$/!“JV?.$,e(BITSe$B$XH?1G$5$l$k$+3NG’$7$?$+$C$?$N$b$”$k$N$G!#e(B

e$B$5$F!":#EY$OBg\>fIW$+$7$i$s!#e(B

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [May 29, 2008, 10:42pm UTC](https://www.ruby-forum.com/t/ruby-1-9-bug-11-prelude-c-compilation-problem-on-mswin32/138878/5 "2008-05-29T22:42:19Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:34886] Re: [Ruby 1.9 - Bug #11] prelude.c  
compilation problem on mswin32”  
on May.29,2008 17:36:42, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| ifchangee$B$r;H$&$N$r;\_$a$^$9$+!#e(B

e$B$h$/$o$+$C$F$J$$$s$G$9$,!";\_$a$A$c$C$FLdBj$O$J$$$s$G$7$g$&$+e(B?

e$B$3$NLdBj\<+BN$OM%@hEY$,Dc$$e(B(ITSe$B$KEPO?$7$?$N$Oe(BITSe$B$NF0:n3NG’$N$?e(B  
e$B$a$K$?$^$?$^L$NA0$K$"$C$?LdBj$r:NMQ$7$?$@$1e(B)e$B$N$G!"B\>$NLdBj$,e(B  
e$B5/$-$k$J$iJ|CV$G$+$^$o$J$$$o$1$G$9$,e(B…

e$B$=$l$G$O!#e(B
