You need to fix mirah_task - it's not consistent when expanding paths.
--- a/lib/mirah_task.rb
+++ b/lib/mirah_task.rb
@@ -98,7 +98,7 @@ def mirahc(*files)
end
source_dir = options.fetch(:dir, Mirah.source_path)
dest = File.expand_path(options.fetch(:dest, Mirah.dest_path))
- files = files.map {|f| f.sub(/^#{source_dir}\//, '')}
+ files = files.map {|f| File.expand_path(f).sub(/^#{source_dir}\//, '')}
flags = options.fetch(:options, Mirah.compiler_options)
args = ['-d', dest, *flags] + files