ruby-changes:25876
From: nobu <ko1@a...>
Date: Wed, 28 Nov 2012 21:19:59 +0900 (JST)
Subject: [ruby-changes:25876] nobu:r37933 (trunk): mkmf.rb: each_compile_rules
nobu 2012-11-28 21:19:49 +0900 (Wed, 28 Nov 2012) New Revision: 37933 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37933 Log: mkmf.rb: each_compile_rules * lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for each VPATH elements. Modified files: trunk/ChangeLog trunk/lib/mkmf.rb trunk/win32/Makefile.sub Index: ChangeLog =================================================================== --- ChangeLog (revision 37932) +++ ChangeLog (revision 37933) @@ -1,3 +1,8 @@ +Wed Nov 28 21:18:57 2012 Nobuyoshi Nakada <nobu@r...> + + * lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for + each VPATH elements. + Wed Nov 28 16:40:14 2012 KOSAKI Motohiro <kosaki.motohiro@g...> * vm_core.h (enum rb_thread_status): remove THREAD_TO_KILL Index: lib/mkmf.rb =================================================================== --- lib/mkmf.rb (revision 37932) +++ lib/mkmf.rb (revision 37933) @@ -1879,6 +1879,19 @@ 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 @@ 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 @@ 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 @@ $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 Index: win32/Makefile.sub =================================================================== --- win32/Makefile.sub (revision 37932) +++ win32/Makefile.sub (revision 37933) @@ -829,7 +829,7 @@ !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 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/