summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--lib/mkmf.rb20
2 files changed, 21 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index c141f593d4..21d39ddb3e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Fri Jan 29 11:09:49 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (try_do): log no source when no developement env.
+
+ * lib/mkmf.rb (create_makefile): srcprefix always needs $(srcdir).
+
+ * lib/mkmf.rb (create_makefile): yield configuration if a block is
+ given.
+
Fri Jan 29 09:43:30 2010 NARUSE, Yui <naruse@ruby-lang.org>
* enc/trans/utf8_mac.trans (buf_shift_char): don't see uninitialised
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index cccaf371d4..652f556ddc 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -367,11 +367,13 @@ The complier failed to generate an executable file.
You have to install development tools first.
MSG
end
- src = create_tmpsrc(src, &b)
- xsystem(command)
-ensure
- log_src(src)
- rm_rf 'conftest.dSYM'
+ begin
+ src = create_tmpsrc(src, &b)
+ xsystem(command)
+ ensure
+ log_src(src)
+ rm_rf 'conftest.dSYM'
+ end
end
def link_command(ldflags, opt="", libpath=$DEFLIBPATH|$LIBPATH)
@@ -1682,8 +1684,8 @@ def create_makefile(target, srcprefix = nil)
target_prefix = ""
end
- srcprefix ||= '$(srcdir)'
- RbConfig::expand(srcdir = srcprefix.dup)
+ srcprefix = "$(srcdir)/#{srcprefix}".chomp('/')
+ RbConfig.expand(srcdir = srcprefix.dup)
ext = ".#{$OBJEXT}"
if not $objs
@@ -1735,7 +1737,9 @@ def create_makefile(target, srcprefix = nil)
dllib = target ? "$(TARGET).#{CONFIG['DLEXT']}" : ""
staticlib = target ? "$(TARGET).#$LIBEXT" : ""
mfile = open("Makefile", "wb")
- mfile.print(*configuration(srcprefix))
+ conf = configuration(srcprefix)
+ conf = yield(conf) if block_given?
+ mfile.print(conf)
mfile.print "
libpath = #{($DEFLIBPATH|$LIBPATH).join(" ")}
LIBPATH = #{libpath}