[Rubycocoa-devel 1246] [PATCH] RubyCocoa Tiger/Leopard build once run anywhere

Back to archive index

Benjamin Jackson bhjac****@gmail*****
Sat Nov 17 07:33:41 JST 2007


Hello all,

As I need to be able to do one build for RC which works on both Tiger and
Leopard, I am including a patch which takes out all compile-time constant
comparisons for the OS version > 10.4 and replaces them with a runtime
constant is_mac_os_x_version_10_5, defined at startup in RubyCocoa.m.


Even after doing this, there were some missing symbol errors for
Leopard-specific c functions like objc_allocateClassPair which are not
available in Tiger. In those cases I removed the newer calls and replaced
them with the old code. If there is a better way to do this, please feel
free to let me know as my C is more than a bit rusty :)


I did not remove the call to method_setImplementation in OverrideMixin.m as
leaving it in did not affect the framework at runtime on either Tiger or
Leopard as far as my informal tests show.


All unit tests are still passing. Again, please feel free to make
suggestions or give pointers as you see fit. Take care,


Ben
-------------- next part --------------
An HTML attachment was scrubbed...
Download 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rubycocoa_build_once_for_tiger_leopard_fix.diff
Type: application/octet-stream
Size: 4447 bytes
Desc: not available
Url : http://lists.sourceforge.jp/mailman/archives/rubycocoa-devel/attachments/20071116/7a4f844f/attachment.obj 


More information about the Rubycocoa-devel mailing list
Back to archive index