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

ruby-changes:2785

From: ko1@a...
Date: 18 Dec 2007 01:16:32 +0900
Subject: [ruby-changes:2785] nobu - Ruby:r14276 (trunk): * common.mk (encs): added dependencies.

nobu	2007-12-18 01:15:46 +0900 (Tue, 18 Dec 2007)

  New Revision: 14276

  Modified files:
    trunk/ChangeLog
    trunk/common.mk
    trunk/enc/Makefile.in
    trunk/enc/depend
    trunk/enc/make_encmake.rb
    trunk/lib/mkmf.rb
    trunk/win32/enc-setup.mak

  Log:
    * common.mk (encs): added dependencies.
    
    * enc/Makefile.in, enc/depend, enc/make_encmake.rb: moved serb code.
    
    * lib/mkmf.rb (depend_rules): now takes content string, not file name.
    
    * win32/enc-setup.mak: overrides default target.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/enc/make_encmake.rb?r1=14276&r2=14275
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14276&r2=14275
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/mkmf.rb?r1=14276&r2=14275
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/enc/Makefile.in?r1=14276&r2=14275
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/win32/enc-setup.mak?r1=14276&r2=14275
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/enc/depend?r1=14276&r2=14275
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/common.mk?r1=14276&r2=14275

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14275)
+++ ChangeLog	(revision 14276)
@@ -1,3 +1,13 @@
+Tue Dec 18 01:15:44 2007  Nobuyoshi Nakada  <nobu@r...>
+
+	* common.mk (encs): added dependencies.
+
+	* enc/Makefile.in, enc/depend, enc/make_encmake.rb: moved serb code.
+
+	* lib/mkmf.rb (depend_rules): now takes content string, not file name.
+
+	* win32/enc-setup.mak: overrides default target.
+
 Tue Dec 18 00:26:12 2007  Yukihiro Matsumoto  <matz@r...>
 
 	* re.c (rb_reg_initialize): raise error if non-Unicode fixed
Index: enc/depend
===================================================================
--- enc/depend	(revision 14275)
+++ enc/depend	(revision 14276)
@@ -1,3 +1,24 @@
+! encs = (Dir.open($srcdir) {|d| d.grep(/.+\.c\z/)} - CONFIG["BUILTIN_ENCS"].split).each {|e| e.chomp!(".c")}
+
+VPATH = <% %w[$(arch_hdrdir)/ruby $(hdrdir)/ruby $(top_srcdir) $(srcdir)].join(CONFIG["PATH_SEPARATOR"]) %>
+
+ENCOBJS = <%encs.map {|e|"#{e}.$(OBJEXT)"}.join(" \\\n\t  ")+"\n"%>
+
+ENCSOS = <%encs.map {|e|"$(ENCSODIR)/#{e}.$(DLEXT)"}.join(" \\\n\t ")+"\n"%>
+
 all: $(ENCSOS)
 
+.c.$(OBJEXT):
+	<%COMPILE_C%>
+
 $(ENCOBJS): regenc.h oniguruma.h config.h defines.h
+
+! encs.each do |e|
+
+$(ENCSODIR)/<%e%>.$(DLEXT): <%e%>.$(OBJEXT)
+	<%LINK_SO.gsub(/\n/, "\n\t")%>
+! end
+
+! encs.each do |e|
+<%e%>.$(OBJEXT): <%e%>.c
+! end
Index: enc/Makefile.in
===================================================================
--- enc/Makefile.in	(revision 14275)
+++ enc/Makefile.in	(revision 14276)
@@ -4,7 +4,6 @@
 EXTOUT = @EXTOUT@
 hdrdir = $(top_srcdir)/include
 arch_hdrdir = $(EXTOUT)/include/$(arch)
-VPATH = <% %w[$(arch_hdrdir)/ruby $(hdrdir)/ruby $(top_srcdir) $(srcdir)].join("@PATH_SEPARATOR@") %>
 ENCSODIR = $(EXTOUT)/$(arch)/enc
 DLEXT = @DLEXT@
 OBJEXT = @OBJEXT@
@@ -13,30 +12,15 @@
 		  euc_jp.c sjis.c \
 		  unicode.c utf8.c
 
-ENCOBJS = <%encs.map {|e|"#{e}.$(OBJEXT)"}.join(" \\\n\t  ")+"\n"%>
-ENCSOS = <%encs.map {|e|"$(ENCSODIR)/#{e}.$(DLEXT)"}.join(" \\\n\t ")+"\n"%>
 empty =
 CC = @CC@
 OUTFLAG = @OUTFLAG@$(empty)
 CFLAGS = @CFLAGS@ @ARCH_FLAG@
-XCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(top_srcdir) @XCFLAGS@
+INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(top_srcdir)
+DEFS = @DEFS@
 CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
 XLDFLAGS = @XLDFLAGS@ $(EXTLDFLAGS)
 LIBS = @LIBS@ $(EXTLIBS)
 LDSHARED = @LDSHARED@
 DLDFLAGS = @DLDFLAGS@ $(EXTLDFLAGS) @ARCH_FLAG@
-
-#!#! if File.exist?(depend = File.join($srcdir, "depend"))
-#### depend ####
-#!#<%  depend_rules(depend).join%>
-#!#! end
-#!#! encs.each do |e|
-#!#
-#!#$(ENCSODIR)/<%e%>.$(DLEXT): <%e%>.$(OBJEXT)
-#!#	<%LINK_SO.gsub(/\n/, "\n\t")%>
-#!#! end
-#!#! encs.each do |e|
-#!#
-#!#<%e%>.$(OBJEXT): <% (RULE_SUBST || "%s") % "#{e}.c" %>
-#!#! end
Index: enc/make_encmake.rb
===================================================================
--- enc/make_encmake.rb	(revision 14275)
+++ enc/make_encmake.rb	(revision 14276)
@@ -3,21 +3,17 @@
 dir = File.expand_path("../..", __FILE__)
 $:.unshift(File.join(dir, "lib"))
 $:.unshift(dir)
-File.directory?("enc") || File.mkdir("enc")
 $:.unshift(".")
 require 'mkmf'
 require 'tool/serb'
 
-encdir = File.join($top_srcdir, "enc")
-
-encs = Dir.open(encdir) {|d| d.grep(/.+\.c\z/)}
-encs -= CONFIG["BUILTIN_ENCS"].split
-encs.each {|e| e.chomp!(".c")}
-mkin = File.read(File.join(encdir, "Makefile.in"))
-mkin.gsub!(/^\#!\# ?/, '')
-mkin.gsub!(/@(#{RbConfig::MAKEFILE_CONFIG.keys.join('|')})@/) {CONFIG[$1]}
-tmp = ''
-eval(serb(mkin, 'tmp'))
+mkin = File.read(File.join($srcdir, "Makefile.in"))
+mkin.gsub!(/@(#{CONFIG.keys.join('|')})@/) {CONFIG[$1]}
+if File.exist?(depend = File.join($srcdir, "depend"))
+  tmp = ''
+  eval(serb(File.read(depend), 'tmp'))
+  mkin << "\n#### depend ####\n\n" << depend_rules(tmp).join
+end
 open(ARGV[0], 'w') {|f|
-  f.puts tmp
+  f.puts mkin
 }
Index: lib/mkmf.rb
===================================================================
--- lib/mkmf.rb	(revision 14275)
+++ lib/mkmf.rb	(revision 14276)
@@ -1273,49 +1273,47 @@
   unless suffixes.empty?
      depout << ".SUFFIXES: ." + suffixes.uniq.join(" .") + "\n\n"
   end
-  open(depend, "r") do |dfile|
-    cont = implicit = nil
-    impconv = proc do
-      COMPILE_RULES.each {|rule| depout << (rule % implicit[0]) << implicit[1]}
-      implicit = nil
-    end
-    ruleconv = proc do |line|
-      if implicit
-        if /\A\t/ =~ line
-          implicit[1] << line
-          next
-        else
-          impconv[]
-        end
-      end
-      if m = /\A\.(\w+)\.(\w+)(?:\s*:)/.match(line)
-        suffixes << m[1] << m[2]
-        implicit = [[m[1], m[2]], [m.post_match]]
+  cont = implicit = nil
+  impconv = proc do
+    COMPILE_RULES.each {|rule| depout << (rule % implicit[0]) << implicit[1]}
+    implicit = nil
+  end
+  ruleconv = proc do |line|
+    if implicit
+      if /\A\t/ =~ line
+        implicit[1] << line
         next
-      elsif RULE_SUBST and /\A(?!\s*\w+\s*=)[$\w][^#]*:/ =~ line
-        line.gsub!(%r"(?<=\s)(?!\.)([^$(){}+=:\s\/\\,]+)(?=\s|\z)", &RULE_SUBST.method(:%))
+      else
+        impconv[]
       end
-      depout << line
     end
-    while line = dfile.gets()
-      line.gsub!(/\.o\b/, ".#{$OBJEXT}")
-      line.gsub!(/\$\((?:hdr|top)dir\)\/config.h/, $config_h) if $config_h
-      line.gsub!(%r"\$\(hdrdir\)/(?!ruby/)", '\&ruby/')
-      if /(?:^|[^\\])(?:\\\\)*\\$/ =~ line
-        (cont ||= []) << line
-        next
-      elsif cont
-        line = (cont << line).join
-        cont = nil
-      end
-      ruleconv.call(line)
+    if m = /\A\.(\w+)\.(\w+)(?:\s*:)/.match(line)
+      suffixes << m[1] << m[2]
+      implicit = [[m[1], m[2]], [m.post_match]]
+      next
+    elsif RULE_SUBST and /\A(?!\s*\w+\s*=)[$\w][^#]*:/ =~ line
+      line.gsub!(%r"(?<=\s)(?!\.)([^$(){}+=:\s\/\\,]+)(?=\s|\z)", &RULE_SUBST.method(:%))
     end
-    if cont
-      ruleconv.call(cont.join)
-    elsif implicit
-      impconv.call
+    depout << line
+  end
+  depend.each_line do |line|
+    line.gsub!(/\.o\b/, ".#{$OBJEXT}")
+    line.gsub!(/\$\((?:hdr|top)dir\)\/config.h/, $config_h) if $config_h
+    line.gsub!(%r"\$\(hdrdir\)/(?!ruby(?![^:;/\s]))", '\&ruby/') if /^\s*\w+\s*=/ !~ line
+    if /(?:^|[^\\])(?:\\\\)*\\$/ =~ line
+      (cont ||= []) << line
+      next
+    elsif cont
+      line = (cont << line).join
+      cont = nil
     end
+    ruleconv.call(line)
   end
+  if cont
+    ruleconv.call(cont.join)
+  elsif implicit
+    impconv.call
+  end
   depout.flatten!
   depout
 end
@@ -1581,7 +1579,7 @@
 
   depend = File.join(srcdir, "depend")
   if File.exist?(depend)
-    mfile.print("###\n", *depend_rules(depend))
+    mfile.print("###\n", *depend_rules(File.read(depend)))
   else
     headers = %w[ruby.h defines.h]
     if RULE_SUBST
Index: common.mk
===================================================================
--- common.mk	(revision 14275)
+++ common.mk	(revision 14276)
@@ -342,7 +342,8 @@
 encs: enc.mk
 	$(MAKE) -f enc.mk
 
-enc.mk: miniruby$(EXEEXT)
+enc.mk: miniruby$(EXEEXT) $(srcdir)/enc/make_encmake.rb \
+	$(srcdir)/enc/Makefile.in $(srcdir)/enc/depend $(srcdir)/lib/mkmf.rb
 	$(MINIRUBY) $(srcdir)/enc/make_encmake.rb $@
 
 .PRECIOUS: $(MKFILES)
Index: win32/enc-setup.mak
===================================================================
--- win32/enc-setup.mak	(revision 14275)
+++ win32/enc-setup.mak	(revision 14276)
@@ -1,4 +1,6 @@
+BUILTIN_ENCOBJS:
+
 !include $(srcdir)/enc/Makefile.in
 
-all:
+BUILTIN_ENCOBJS:
 	@echo BUILTIN_ENCOBJS = $(BUILTIN_ENCS:.c=.obj) >> $(MAKEFILE)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

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