diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-28 09:22:28 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-28 09:22:28 +0000 |
commit | f24c8333e221fa865630ab5824233e96d1dd855d (patch) | |
tree | f4719eae9af178c03bf32e55b0d5b6f778552393 | |
parent | 8a453df391e3ec1c527f3bb311b6174907c892ea (diff) |
merges r21749 and r21750 from trunk into ruby_1_9_1.
* lib/mkmf.rb (mkintpath): new function which converts native path
to format acceptable in Makefile.
* lib/mkmf.rb (configuration): convers srcdir, topdir and hdrdir.
a patch by Alexey Borzenkov <snaury AT gmail.com> at
[ruby-core:21448].
--
* lib/mkmf.rb (configuration): leaves PATH_SEPARATOR unchanged.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | lib/mkmf.rb | 31 |
2 files changed, 36 insertions, 6 deletions
@@ -1,4 +1,13 @@ -Fri Jan 23 14:36:06 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> +Fri Jan 23 15:12:52 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (mkintpath): new function which converts native path + to format acceptable in Makefile. + + * lib/mkmf.rb (configuration): leaves PATH_SEPARATOR unchanged. + + * lib/mkmf.rb (configuration): convers srcdir, topdir and hdrdir. + a patch by Alexey Borzenkov <snaury AT gmail.com> at + [ruby-core:21448]. * lib/mkmf.rb (try_func): got rid of c-mode confusion. diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 0f6f61d984..da84cb85cc 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -1299,6 +1299,29 @@ def winsep(s) s.tr('/', '\\') end +# Converts native path to format acceptable in Makefile +# +# Internal use only. +# +if !CROSS_COMPILING + case CONFIG['build_os'] + when 'mingw32' + def mkintpath(path) + # mingw uses make from msys and it needs special care + # converts from C:\some\path to /C/some/path + path = path.dup + path.tr!('\\', '/') + path.sub!(/\A([A-Za-z]):(?=\/)/, '/\1') + path + end + end +end +unless defined?(mkintpath) + def mkintpath(path) + path + end +end + def configuration(srcdir) mk = [] vpath = $VPATH.dup @@ -1308,8 +1331,6 @@ def configuration(srcdir) if CONFIG['target_os'] != 'cygwin' vpath = vpath.map {|p| p.sub(/.*/, '$(shell cygpath -u \&)')} end - when 'mingw32' - CONFIG['PATH_SEPARATOR'] = ';' end end CONFIG["hdrdir"] ||= $hdrdir @@ -1318,9 +1339,9 @@ SHELL = /bin/sh #### Start of system configuration section. #### #{"top_srcdir = " + $top_srcdir.sub(%r"\A#{Regexp.quote($topdir)}/", "$(topdir)/") if $extmk} -srcdir = #{srcdir.gsub(/\$\((srcdir)\)|\$\{(srcdir)\}/) {CONFIG[$1||$2]}.quote} -topdir = #{($extmk ? CONFIG["topdir"] : $topdir).quote} -hdrdir = #{CONFIG["hdrdir"].quote} +srcdir = #{srcdir.gsub(/\$\((srcdir)\)|\$\{(srcdir)\}/) {mkintpath(CONFIG[$1||$2])}.quote} +topdir = #{mkintpath($extmk ? CONFIG["topdir"] : $topdir).quote} +hdrdir = #{mkintpath(CONFIG["hdrdir"]).quote} arch_hdrdir = #{$arch_hdrdir} VPATH = #{vpath.join(CONFIG['PATH_SEPARATOR'])} } |