[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]