ruby-changes:10128
From: akr <ko1@a...>
Date: Mon, 19 Jan 2009 22:32:51 +0900 (JST)
Subject: [ruby-changes:10128] Ruby:r21672 (trunk): * ext/socket/mkconstants.rb: use erb for generating code.
akr 2009-01-19 22:32:31 +0900 (Mon, 19 Jan 2009) New Revision: 21672 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21672 Log: * ext/socket/mkconstants.rb: use erb for generating code. Modified files: trunk/ChangeLog trunk/ext/socket/mkconstants.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 21671) +++ ChangeLog (revision 21672) @@ -1,3 +1,7 @@ +Mon Jan 19 22:31:35 2009 Tanaka Akira <akr@f...> + + * ext/socket/mkconstants.rb: use erb for generating code. + Mon Jan 19 17:33:47 2009 Nobuyoshi Nakada <nobu@r...> * string.c (hash): defaulted to MurmurHash 2.0. Index: ext/socket/mkconstants.rb =================================================================== --- ext/socket/mkconstants.rb (revision 21671) +++ ext/socket/mkconstants.rb (revision 21672) @@ -74,12 +74,17 @@ } end -MISSING_DEFS = {} +ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_decls") +% each_const {|guard, define, name, default_value| +% if default_value +#ifndef <%=name%> +# define <%=name%> <%=default_value%> +#endif +% end +% } +EOS ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_defs_in_guard(define, name, default_value)") -% if default_value -% MISSING_DEFS[name] = default_value -% end #if defined(<%=name%>) <%=define%>(<%=c_str name%>, <%=name%>); #endif @@ -271,10 +276,8 @@ EOS header_result = ERB.new(<<'EOS', nil, '%').result(binding) -<%= MISSING_DEFS.map {|name, value| ["\#ifndef #{name}", "\# define #{name} #{value}", '#endif']}.join("\n") %> - +<%= gen_const_decls %> <%= NAME_TO_INT_DEFS.map {|decl, func| decl }.join("\n") %> - <%= INTERN_DEFS.map {|vardef, gen_hash, decl, func| decl }.join("\n") %> EOS -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/