From a0f7f36a5a47098c30125d3ad5c19db71fc34960 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 28 Nov 2012 12:19:49 +0000 Subject: mkmf.rb: each_compile_rules * lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for each VPATH elements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/mkmf.rb | 21 +++++++++++++++++---- win32/Makefile.sub | 2 +- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6227999184..082993361e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Nov 28 21:18:57 2012 Nobuyoshi Nakada + + * lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for + each VPATH elements. + Wed Nov 28 16:40:14 2012 KOSAKI Motohiro * vm_core.h (enum rb_thread_status): remove THREAD_TO_KILL diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 83ff06f029..d41e0c3552 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -1879,6 +1879,19 @@ all install static install-so install-rb: Makefile RULES end + def each_compile_rules + vpath_splat = /\$\(\*VPATH\*\)/ + COMPILE_RULES.each do |rule| + if vpath_splat =~ rule + $VPATH.each do |path| + yield rule.sub(vpath_splat) {path} + end + else + yield rule + end + end + end + # Processes the data contents of the "depend" file. Each line of this file # is expected to be a file name. # @@ -1889,7 +1902,7 @@ RULES depout = [] cont = implicit = nil impconv = proc do - COMPILE_RULES.each {|rule| depout << (rule % implicit[0]) << implicit[1]} + each_compile_rules {|rule| depout << (rule % implicit[0]) << implicit[1]} implicit = nil end ruleconv = proc do |line| @@ -2208,13 +2221,13 @@ site-install-rb: install-rb compile_command = "\n\t$(ECHO) compiling $(<#{rsep})\n\t$(Q) %s\n\n" CXX_EXT.each do |e| - COMPILE_RULES.each do |rule| + each_compile_rules do |rule| mfile.printf(rule, e, $OBJEXT) mfile.printf(compile_command, COMPILE_CXX) end end C_EXT.each do |e| - COMPILE_RULES.each do |rule| + each_compile_rules do |rule| mfile.printf(rule, e, $OBJEXT) mfile.printf(compile_command, COMPILE_C) end @@ -2297,7 +2310,7 @@ site-install-rb: install-rb $LIBPATH = [] $INSTALLFILES = [] $NONINSTALLFILES = [/~\z/, /\A#.*#\z/, /\A\.#/, /\.bak\z/i, /\.orig\z/, /\.rej\z/, /\.l[ao]\z/, /\.o\z/] - $VPATH = %w[$(srcdir) $(arch_hdrdir)/ruby $(hdrdir)/ruby] + $VPATH = %w[$(srcdir) $(topdir) $(arch_hdrdir)/ruby $(hdrdir)/ruby] $objs = nil $srcs = nil diff --git a/win32/Makefile.sub b/win32/Makefile.sub index ed1ab127ea..4d291e27fe 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -829,7 +829,7 @@ s,@LINK_SO@,@if exist $$(@).manifest $$(RM) $$(@:/=\).manifest,;t t !endif s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) $$(COUTFLAG)$$(@) -c -Tc$$(<:\=/),;t t s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) $$(COUTFLAG)$$(@) -c -Tp$$(<:\=/),;t t -s,@COMPILE_RULES@,{$$(hdrdir)}.%s.%s: {$$(topdir)}.%s.%s: {$$(srcdir)}.%s.%s: .%s.%s:,;t t +s,@COMPILE_RULES@,{$$(*VPATH*)}.%s.%s: .%s.%s:,;t t s,@RULE_SUBST@,{.;$$(VPATH)}%s,;t t s,@TRY_LINK@,$$(CC) -Feconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS) -link $$(LDFLAGS) $$(LIBPATH) $$(XLDFLAGS),;t t s,@COMMON_LIBS@,$(COMMON_LIBS),;t t -- cgit v1.2.3