summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--spec/default.mspec9
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 3c4bebeb5a..e890a5274f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Oct 31 12:27:52 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
+
+ * spec/default.mspec: supports that the build directory != srcdir.
+
Thu Oct 30 23:32:17 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* test/test_delegate.rb (test_syscallerror_eq): ignored because the
diff --git a/spec/default.mspec b/spec/default.mspec
index e4b9dae523..a018b4020c 100644
--- a/spec/default.mspec
+++ b/spec/default.mspec
@@ -7,11 +7,14 @@ class MSpecScript
spec/rubyspec/1.9/library
]
- srcdir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
- config = proc{|name| `#{srcdir}/miniruby -I#{srcdir} -rrbconfig -e 'print Config::CONFIG["#{name}"]'`}
+ builddir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
+ srcdir = ENV['SRCDIR']
+ srcdir ||= $1 if File.read("#{builddir}/Makefile")[/^\s*srcdir\s*=\s*(.+)/i]
+ srcdir ||= builddir
+ config = proc{|name| `#{builddir}/miniruby -I#{srcdir} -rrbconfig -e 'print Config::CONFIG["#{name}"]'`}
# The default implementation to run the specs.
- set :target, File.join(srcdir, "miniruby#{config['exeext']}")
+ set :target, File.join(builddir, "miniruby#{config['exeext']}")
set :flags, %W[
-I#{srcdir}/lib
-I#{srcdir}/#{config['EXTOUT']}/common