summaryrefslogtreecommitdiff
path: root/lib/mkmf.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-29 02:09:51 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-29 02:09:51 +0000
commita0248a2ba1c5599845d0a0a370f5c8418d442dd6 (patch)
tree06acf95b9f6e721d77c43fde7c0ea3acac2fc22a /lib/mkmf.rb
parent6899b6ff8065daea6f87bfda1ab157738a60f09d (diff)
* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/mkmf.rb')
-rw-r--r--lib/mkmf.rb20
1 files changed, 12 insertions, 8 deletions
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}