@@ -116,8 +116,14 @@ def package(rev, destdir)
116116 patchlevel = true
117117 tag = "p#{ $4} "
118118 url = SVNURL + "tags/v#{ $1} _#{ $2} _#{ $3} _#{ $4} "
119- when /\. /
120- url = SVNURL + "branches/ruby_#{ rev . tr ( '.' , '_' ) } "
119+ when /\A (\d +)\. (\d +)\. (\d +)\z /
120+ if $1 > "2" || $1 == "2" && $2 >= "1"
121+ patchlevel = true
122+ tag = ""
123+ url = SVNURL + "tags/v#{ $1} _#{ $2} _#{ $3} "
124+ else
125+ url = SVNURL + "branches/ruby_#{ rev . tr ( '.' , '_' ) } "
126+ end
121127 else
122128 warn "#{ $0} : unknown version - #{ rev } "
123129 return
@@ -160,14 +166,20 @@ def package(rev, destdir)
160166 version ||= ( versionhdr = IO . read ( "#{ v } /version.h" ) ) [ RUBY_VERSION_PATTERN , 1 ]
161167 version or return
162168 if patchlevel
163- versionhdr ||= IO . read ( "#{ v } /version.h" )
164- patchlevel = versionhdr [ /^\# define\s +RUBY_PATCHLEVEL\s +(\d +)/ , 1 ]
165- tag = ( patchlevel ? "p#{ patchlevel } " : "r#{ revision } " )
169+ unless tag . empty?
170+ versionhdr ||= IO . read ( "#{ v } /version.h" )
171+ patchlevel = versionhdr [ /^\# define\s +RUBY_PATCHLEVEL\s +(\d +)/ , 1 ]
172+ tag = ( patchlevel ? "p#{ patchlevel } " : "r#{ revision } " )
173+ end
166174 else
167175 tag ||= "r#{ revision } "
168176 end
169177 unless v == $exported
170- n = "ruby-#{ version } -#{ tag } "
178+ if tag . empty?
179+ n = "ruby-#{ version } "
180+ else
181+ n = "ruby-#{ version } -#{ tag } "
182+ end
171183 File . directory? ( n ) or File . rename v , n
172184 v = n
173185 end
@@ -177,7 +189,11 @@ def package(rev, destdir)
177189 Dir . chdir ( v ) do
178190 %w[ config.guess config.sub ] . each do |conf |
179191 next if File . exist? ( "tool/#{ conf } " )
180- require File . expand_path ( "config_files" , $tooldir)
192+ begin
193+ require File . expand_path ( "config_files" , $tooldir)
194+ rescue LoadError
195+ abort "Error!!! Copy 'config_files.rb' from 'tool' directory of the recent ruby repository!"
196+ end
181197 ConfigFiles . download ( conf , "tool" )
182198 end
183199 File . open ( clean . add ( "cross.rb" ) , "w" ) do |f |
@@ -205,6 +221,7 @@ def package(rev, destdir)
205221 f . puts "s,@ARCH_FLAG@,|#_!!_#|,g"
206222 f . puts "s,@CFLAGS@,|#_!!_#|,g"
207223 f . puts "s,@CPPFLAGS@,|#_!!_#|,g"
224+ f . puts "s,@CXXFLAGS@,|#_!!_#|,g"
208225 f . puts "s,@LDFLAGS@,|#_!!_#|,g"
209226 f . puts "s,@DLDFLAGS@,|#_!!_#|,g"
210227 f . puts "s,@LIBEXT@,|#_!!_#|a,g"
0 commit comments