diff options
Diffstat (limited to 'ext/socket/mkconstants.rb')
-rw-r--r-- | ext/socket/mkconstants.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/ext/socket/mkconstants.rb b/ext/socket/mkconstants.rb index cfc0fbe069..1d4e90ba79 100644 --- a/ext/socket/mkconstants.rb +++ b/ext/socket/mkconstants.rb @@ -74,17 +74,15 @@ def each_name(pat) } end +MISSING_DEFS = {} + ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_defs_in_guard(define, name, default_value)") % if default_value -#ifndef <%=name%> -#define <%=name%> <%=default_value%> -#endif - <%=define%>(<%=c_str name%>, <%=name%>); -% else +% MISSING_DEFS[name] = default_value +% end #if defined(<%=name%>) <%=define%>(<%=c_str name%>, <%=name%>); #endif -% end EOS ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_defs") @@ -273,6 +271,8 @@ init_constants(VALUE mConst) EOS header_result = ERB.new(<<'EOS', nil, '%').result(binding) +<%= MISSING_DEFS.map {|name, value| ["\#ifndef #{name}", "\# define #{name} #{value}", '#endif']}.join("\n") %> + <%= NAME_TO_INT_DEFS.map {|decl, func| decl }.join("\n") %> <%= INTERN_DEFS.map {|vardef, gen_hash, decl, func| decl }.join("\n") %> |