Awesome! Thanks for the patch. Will integrate ASAP. -John
> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:ironruby-core- > [EMAIL PROTECTED] On Behalf Of Sanghyeon Seo > Sent: Monday, March 24, 2008 11:17 PM > To: [email protected] > Subject: [Ironruby-core] IronRuby r86 on Mono > > The law of nature dictates that if it is not tested, it is broken. So > it is only natural that the recent rewrite of IronRuby's Rakefile > broke build on Mono. No worry, I guess that's why I'm on this list. > :-) > > The preliminary fixes are available here: > http://sparcs.kaist.ac.kr/~tinuviel/download/IronRuby/patch-rakefile > > Let me go through changes one by one. > > - exec "mkdir #{build_path}" > + mkdir build_path > > If you have defined an abstraction, you better use it. Related is: > > - exec_f "mkdir #{path}" > + if ENV['mono'].nil? > + exec_f "mkdir #{path}" > + else > + exec_f "mkdir -p #{path}" > + end > > On Windows, mkdir command will create any necessary parent > directories. To get the same effect, you need -p option on Unix. > > This change is arguably wrong, since you can use Mono on Windows too. > But let's worry about that later. I guess reimlementing "mkdir -p" in > Ruby would be the way to go. Since such functionality would be > generally useful, it could be contributed to, say, Ruby standard > library. Perhaps such functionality is already there... > > framework_path { > libdir = IO.popen('pkg-config --variable=libdir mono').read.strip > - Pathname.new(libdir) + 'mono' + '2.0' > + [Pathname.new(libdir) + 'mono' + '2.0'] > } > > framework_path should be called with an array, or with a block > returning *an array*. > > - get_source_dir(:build) + "/#{clr ... > + get_source_dir(:build) + "#{clr ... > > Pathname.new('build') + '/release' produces 'build\\release' on > Windows, but '/release' on Unix. PLEASE NO PATH SEPARATOR IN STRING > WHEN USING PATHNAME. > > - compile :dlr, ... > + compile :dlr, :references => ['!System.Configuration.dll'], ... > > Apparently Microsoft C# compiler references System.Configuration.dll > automatically. > > The rest are boring case sensitivity issues. Also, since references to > framework paths are resolved by calling > Configuration.get_references(clr), I let clr return :mono and change > group(:common) to group(:mono). > > -- > Seo Sanghyeon > _______________________________________________ > Ironruby-core mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list [email protected] http://rubyforge.org/mailman/listinfo/ironruby-core
