summaryrefslogtreecommitdiff
path: root/enc
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-06 05:40:13 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-06 05:40:13 +0000
commit8db17b30d631b5914769aceb23f56ee832742853 (patch)
tree71f454fa4ed68bc965b1b8f77d1b264f811c51ed /enc
parentce074dcf425ad93fea65114288918cbb708e05f5 (diff)
* common.mk (transdb.h): requires transcoders.
* enc/depend (srcs): target for transcoders. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc')
-rw-r--r--enc/depend9
-rw-r--r--enc/trans/make_transdb.rb1
2 files changed, 6 insertions, 4 deletions
diff --git a/enc/depend b/enc/depend
index 2674524cbd..7665b408bd 100644
--- a/enc/depend
+++ b/enc/depend
@@ -25,11 +25,14 @@ ENCOBJS = <%=encs.map {|e|"enc/#{e}.$(OBJEXT)"}.join(" \\\n\t ")%><%="\n" if en
ENCDEFS = <%=encs.map {|e|"enc/#{e}.def"}.join(" \\\n\t ") if deffile%><%="\n" if encs.size>1%>
ENCSOS = <%=encs.map {|e|"$(ENCSODIR)/#{e}.$(DLEXT)"}.join(" \\\n\t ")%>
+TRANSCSRCS = <%=atrans.map {|e|"enc/trans/#{e}.c"}.join(" \\\n\t ")%><%="\n" if trans.size>1%>
TRANSOBJS = <%=trans.map {|e|"enc/#{e}.$(OBJEXT)"}.join(" \\\n\t ")%><%="\n" if trans.size>1%>
TRANSDEFS = <%=trans.map {|e|"enc/#{e}.def"}.join(" \\\n\t ") if deffile%><%="\n" if trans.size>1%>
TRANSSOS = <%=trans.map {|e|"$(ENCSODIR)/#{e}.$(DLEXT)"}.join(" \\\n\t ")%>
-all: $(ENCSOS) $(TRANSSOS)
+all: srcs $(ENCSOS) $(TRANSSOS)
+
+srcs: $(TRANSCSRCS)
% COMPILE_RULES.each do |rule|
<%= rule % %w[c $(OBJEXT)] %>
@@ -46,7 +49,7 @@ $(TRANSOBJS): ruby.h intern.h config.h defines.h missing.h encoding.h oniguruma.
% end
% atrans.each do |e|
% src = "#{e}.erb.c"
-% src = [src, *IO.read(File.join($srcdir, "trans", src)).scan(/^\s*require\s+[\'\"]([^\'\"]*)/).flatten.map{|e|e+".rb"}]
+% src = [src, *IO.read(File.join($srcdir, "trans", src)).scan(/^\s*require\s+[\'\"]([^\'\"]*)/).flatten.map{|c|c+".rb"}]
$(srcdir)/enc/trans/<%=e%>.c: <%= src.map {|e| "$(srcdir)/enc/trans/#{e}"}.join(" ")%>
$(BASERUBY) "$(srcdir)/tool/transcode-tblgen.rb" -vo "$@" <%= src.map {|e| %'"$(srcdir)/enc/trans/#{e}"'}.join(" ")%>
@@ -75,7 +78,7 @@ enc/encdb.$(OBJEXT): encdb.h
enc/trans/transdb.$(OBJEXT): transdb.h
clean:
- @$(RM) $(ENCSOS) $(ENCDEFS) $(ENCOBJS) $(TRANSSOS) $(TRANSDEFS) $(TRANSOBJS)
+ @$(RM) $(ENCSOS) $(ENCDEFS) $(ENCOBJS) $(TRANSSOS) $(TRANSDEFS) $(TRANSOBJS) $(TRANSCSRCS)
% %w[$(ENCSODIR)/trans $(ENCSODIR) enc/trans enc].each do|dir|
% dir = dir.gsub('/', File::ALT_SEPARATOR) if File::ALT_SEPARATOR
@-rmdir <%=dir%>
diff --git a/enc/trans/make_transdb.rb b/enc/trans/make_transdb.rb
index 1e502c2e23..649a6f21a3 100644
--- a/enc/trans/make_transdb.rb
+++ b/enc/trans/make_transdb.rb
@@ -18,7 +18,6 @@ Dir.open(transdir) {|d| d.grep(/.+\.[ch]\z/).reject {|n| /\.erb\.c\z/ =~ n }}.so
if (/^static const rb_transcoder/ =~ line)..(/"(.*?)"\s*,\s*"(.*?)"/ =~ line)
if $1 && $2
from_to = "%s to %s" % [$1, $2]
- converters[from_to]
if converters[from_to]
raise ArgumentError, '%s:%d: transcode "%s" is already registered (%s:%d)' %
[fn, $., from_to, *converters[from_to].values_at(2, 3)]