1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

mkmf.rb: unspace

* lib/mkmf.rb (String#unspace): unescape with backslashes.  normal
  makes need to escape spaces with backslashes.  nmake is not the
  case.  [Bug #7036]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2012-09-23 12:52:01 +00:00
parent ba3d600583
commit aed254f314
2 changed files with 15 additions and 6 deletions

View file

@ -1,4 +1,8 @@
Sun Sep 23 21:48:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> Sun Sep 23 21:51:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (String#unspace): unescape with backslashes. normal
makes need to escape spaces with backslashes. nmake is not the
case. [Bug #7036]
* lib/mkmf.rb (create_makefile): use timestamp file dependencies for * lib/mkmf.rb (create_makefile): use timestamp file dependencies for
directories. directories.

View file

@ -12,6 +12,11 @@ class String
/\s/ =~ self ? "\"#{self}\"" : "#{self}" /\s/ =~ self ? "\"#{self}\"" : "#{self}"
end end
# Escape whitespaces for Makefile.
def unspace
gsub(/\s/, '\\\\\\&')
end
# Generates a string used as cpp macro name. # Generates a string used as cpp macro name.
def tr_cpp def tr_cpp
strip.upcase.tr_s("^A-Z0-9_*", "_").tr_s("*", "P") strip.upcase.tr_s("^A-Z0-9_*", "_").tr_s("*", "P")
@ -1749,9 +1754,9 @@ ECHO = $(ECHO1:0=@echo)
#### Start of system configuration section. #### #### Start of system configuration section. ####
#{"top_srcdir = " + $top_srcdir.sub(%r"\A#{Regexp.quote($topdir)}/", "$(topdir)/") if $extmk} #{"top_srcdir = " + $top_srcdir.sub(%r"\A#{Regexp.quote($topdir)}/", "$(topdir)/") if $extmk}
srcdir = #{srcdir.gsub(/\$\((srcdir)\)|\$\{(srcdir)\}/) {mkintpath(CONFIG[$1||$2])}.quote} srcdir = #{srcdir.gsub(/\$\((srcdir)\)|\$\{(srcdir)\}/) {mkintpath(CONFIG[$1||$2]).unspace}}
topdir = #{mkintpath($extmk ? CONFIG["topdir"] : $topdir).quote} topdir = #{mkintpath($extmk ? CONFIG["topdir"] : $topdir).unspace}
hdrdir = #{mkintpath(CONFIG["hdrdir"]).quote} hdrdir = #{mkintpath(CONFIG["hdrdir"]).unspace}
arch_hdrdir = #{$arch_hdrdir.quote} arch_hdrdir = #{$arch_hdrdir.quote}
VPATH = #{vpath.join(CONFIG['PATH_SEPARATOR'])} VPATH = #{vpath.join(CONFIG['PATH_SEPARATOR'])}
} }
@ -1762,9 +1767,9 @@ VPATH = #{vpath.join(CONFIG['PATH_SEPARATOR'])}
if destdir = prefix[$dest_prefix_pattern, 1] if destdir = prefix[$dest_prefix_pattern, 1]
mk << "\nDESTDIR = #{destdir}\n" mk << "\nDESTDIR = #{destdir}\n"
end end
mk << "prefix = #{with_destdir(prefix)}\n" mk << "prefix = #{with_destdir(prefix).unspace}\n"
CONFIG.each do |key, var| CONFIG.each do |key, var|
mk << "#{key} = #{with_destdir(mkintpath(var))}\n" if /.prefix$/ =~ key mk << "#{key} = #{with_destdir(mkintpath(var)).unspace}\n" if /.prefix$/ =~ key
end end
CONFIG.each do |key, var| CONFIG.each do |key, var|
next if /^abs_/ =~ key next if /^abs_/ =~ key