[Mono-list] Mono builds for Mac OS X, rwlock fix and project files

Ryan Wilhm ryan_wilhm@yahoo.com
Tue, 19 Feb 2002 13:07:45 -0600

Before I leave, I thought I'd take a quick and dirty stab at a
pthread_rwlock workaround. (I basically did it the same way the recursive
mutex fix was done. I haven't really done any unit testing so I can't vouch
for it's usefulness...) I also thought I'd make my build available, in case
anybody wanted to give it a shot. As it stands, it builds but is
functionally broken.

RWLock Workaround-



On 2/19/02 7:37 AM, "Ryan Wilhm" <ryan_wilhm@yahoo.com> wrote:

> Thanks, Jeff! I pulled down a snapshot of Mono last night from CVS and
> managed to get it to build. Sort of. The major caveat is that, in addition
> to not supporting Pthread recursive mutexes, it also doesn't support
> read/write locks. I checked out Apple's developer site and found a bugfix
> request that details the functionality missing from the Pthread OpenGroup
> spec in OS X:
> http://www.opensource.apple.com/bugs/X/Libraries/2686231.html
> To get things to build in the interim, I just wrote stubs for the methods
> that io-layer/events.c calls. (So in other words, don't have much confidence
> that the build will work as expected... :) I'm going to be gone on vacation
> for a week starting tomorrow, but I'd be happy to give an implementation a
> shot when I get back next week.
> Everything else was just build massaging... Off the top of my head:
> - I set configure.in to target the ppc arch for powerpc-*-darwin*
> - For any problematic header dependencies, I just used #if(n)def
> __APPLE__/#endif to resolve
> - I did end up removing EDOTDOT and ENOMEDIUM
> - I ended up needing to manually compiling monoberg.c... I needed to add the
> -no-cpp-precomp and a library include flag that wasn't carried forward
> during Makefile generation
> - I also added the empty read/write lock stub file into the io-layer
> Makefile.am and Makefile.in files so I didn't have to hand crank the
> Makefile every time might need to reconfigure...
> That's about it...
> Thanks again for the help!
> Ryan