ruby-changes:2462
From: ko1@a...
Date: 18 Nov 2007 05:21:13 +0900
Subject: [ruby-changes:2462] akr - Ruby:r13953 (trunk): * lib/mkmf.rb (have_struct_member): define HAVE_type_member.
akr 2007-11-18 05:20:44 +0900 (Sun, 18 Nov 2007) New Revision: 13953 Modified files: trunk/ChangeLog trunk/lib/mkmf.rb Log: * lib/mkmf.rb (have_struct_member): define HAVE_type_member. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13953&r2=13952 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/mkmf.rb?r1=13953&r2=13952 Index: ChangeLog =================================================================== --- ChangeLog (revision 13952) +++ ChangeLog (revision 13953) @@ -1,3 +1,7 @@ +Sun Nov 18 05:19:46 2007 Tanaka Akira <akr@f...> + + * lib/mkmf.rb (have_struct_member): define HAVE_type_member. + Sat Nov 17 23:51:29 2007 Masaki Suketa <masaki.suketa@n...> * ext/win32ole/win32ole.c (ole_invoke): bug fix. [ruby-talk:279100] Index: lib/mkmf.rb =================================================================== --- lib/mkmf.rb (revision 13952) +++ lib/mkmf.rb (revision 13953) @@ -766,10 +766,12 @@ # (in addition to the common header files). # # If found, a macro is passed as a preprocessor constant to the compiler using -# the member name, in uppercase, prepended with 'HAVE_ST_'. +# the type name and the member name, in uppercase, prepended with 'HAVE_'. # -# For example, if have_struct_member('foo', 'bar') returned true, then the -# HAVE_ST_BAR preprocessor macro would be passed to the compiler. +# For example, if have_struct_member('struct foo', 'bar') returned true, then the +# HAVE_STRUCT_FOO_BAR preprocessor macro would be passed to the compiler. +# +# HAVE_ST_BAR is also defined for backward compatibility. # def have_struct_member(type, member, headers = nil, &b) checking_for checking_message("#{type}.#{member}", headers) do @@ -780,7 +782,8 @@ int main() { return 0; } int s = (char *)&((#{type}*)0)->#{member} - (char *)0; SRC - $defs.push(format("-DHAVE_ST_%s", member.upcase)) + $defs.push(format("-DHAVE_%s_%s", type.strip.upcase.tr_s("^A-Z0-9_", "_"), member.upcase)) + $defs.push(format("-DHAVE_ST_%s", member.upcase)) # backward compatibility true else false -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml