[Mono-osx] mono for OSX - Intel?

Bryan Berg bryan at imeem.com
Sat Jun 10 05:37:13 EDT 2006


(I'm using a webmail client from home, so I apologize in advance if the
formatting of this mail is munged in any way.)

On Fri, June 9, 2006 1:41 pm, Wade Berrier wrote:
> Yes, it was unfortunate that the build process was in the middle of
> changing right when Bryan was working on that.  But, it wasn't so much
> that I wanted to revamp the build process, as it was that I wanted to
> integrate the process into the same system that is used for all of our
> other platforms: linux, windows, and solaris.  This allows faster build
> times for releases, easier maintenance, and a uniform system to run our
> test suite on builds that end up being released to the public.

The work you've done on the new build system is fantastic, and the project
as a whole will certainly benefit from those changes.  The original work I
did was intended as more of a proof-of-concept.  To use the newer build
system would have involved quite a bit of overhead and would have slowed
me down on completing anything.  I had originally intended to integrate
the universal build stuff into the official build system, but other tasks
at work took priority.  Turns out I apparently had other work to do.  :)

> Another option for universal installer integration is to split_and_lipo
> on all the built zip/rpm files just previous to creating the installer
> (IE: within macosx/new/buildpackage).

This is actually a pretty excellent idea: provided you're building
separate PPC and Intel frameworks natively (pretty much exactly as you are
today, except the PPC build machine would have to run 10.4), just prior to
building the pkg, find all the mach-o binaries in
Mono.framework/Versions/Current and lipo the ppc and i386 versions
together, which is pretty much what split_and_lipo does.  Since you have
the machines and you have the distributed build-fu, it should be pretty
trivial to get that going.  As for the ppc 10.4 dependency, you can (as
Allan pointed out) just use the 10.3 sdk.  Since you won't really be
cross-compiling (the host can run the generated binaries), you shouldn't
run into any weird issues at all.

The only caveat I can see is that glib creates glibconfig.h at autoconf
time.  So as part of the lipo step you would have to rename the i386 and
ppc files and conditionally include them.  That is also pretty trivial (in
fact, I was doing it that tarball of universal build scripts I posted) and
is not nearly as terrible as it sounds.

I am still lurking around in #mono as bdb, too... just not watching it as
much; if you ping me there I would be happy to help out.

Take care,

-Bryan



More information about the Mono-osx mailing list