Port P4Ruby to MacOSX.
This is a "sausages" build - you might like
the results but you won't like the way it's done.
In this case, it's so ugly that I'm ashamed to submit this change. It
works, but MacOSX will remain an unsupported platform for P4Ruby as
long as this hack is necessary.
The basic problem is that the Signaler class in the Perforce API calls
signal() on initialisation to install itself as the default handler for
SIGINT signals. In a standalone executable that's fine on OSX, but ruby
uses Apple's dyld interface to load the module into the process address
space dynamically. When signal() is called at module load time, Apple's
dyld implementation goes into an infaloop.
This horrible piece of code provides a replacement (broken)
implementation of the Signaler class that does not initialise itself
in this way thereby avoiding the problem. The fact that this is broken
should not cause any problems for P4Ruby users, but would not be
advisable to use it elsewhere.
I refuse to integrate this into the build process for P4Ruby, so people
who want this port will have to follow the instructions in README.DARWIN
and do it themselves.
I have made a few minor porting changes to help with compiler selection
on DARWIN though.