Awesome! Thanks for the patch. Will integrate ASAP.
-John
> -----Original Message-----
> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-
> bounces at rubyforge.org] On Behalf Of Sanghyeon Seo
> Sent: Monday, March 24, 2008 11:17 PM
> To: ironruby-core at rubyforge.org
> 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
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core