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

Reply via email to