[Mono-list] MacOS packages.
Benjamin Reed
ranger@befunk.com
Tue, 02 Mar 2004 17:56:10 -0500
Andy Satori wrote:
> Phase I:
>
> A .pkg installer that installs Mono and Mcs to /usr/local/, with a
> detailed description on how to properly set up the environment to use
> /usr/local/bin. This package would use glib statically linked, to avoid
> the need to also deploy glib to the users machine.
I know this is always a topic of religious war, but...
/usr/local is in the default compiler path. Unless you're committing to
always maintaining all of mono's dependencies, keeping them up-to-date,
and making them compatible with other packaging systems, you're going to
end up causing conflicts with things like fink and opendarwin that
expect things in different places.
IMHO, /usr/local is for the *local* administrator to put things, not
3rd-party packagers. I would suggest /opt/mono or somesuch instead. If
people want to use those binaries for their own projects, they can with
CFLAGS and LDFLAGS, without polluting the default compiler path.
At the very least, put them somewhere out of the way and ask if they
want you to symlink them to /usr/local.
> The problem with the second is that as far as I can tell, it would
> require XCode projects to build the framework, and all the associated
> dylibs. creating that project is going to be time consuming, and it
> will require updating to be kept in sync with the ./configure & make
> process.
You can make frameworks manually, by changing things around after
building using install_name_tool (I do this with the Qt3 packages I made).
Generally you would do something like:
install -d /Library/Frameworks/MonoVM.framework/Versions/A/Headers
cp -a /mono/root/include/* \
/Library/Frameworks/MonoVM.framework/Versions/A/Headers
cp /mono/root/lib/libmono.dylib \
/Library/Frameworks/MonoVM.framework/Versions/A/MonoVM
ln -sf A/MonoVM /Library/Frameworks/MonoVM.framework/MonoVM
ln -sf A/Headers /Library/Frameworks/MonoVM.framework/Headers
install_name_tool -id \
/Library/Frameworks/MonoVM.framework/Versions/A/MonoVM
...or something along those lines. There's more to it for any
reasonably complicated framework, but you get the idea.
--
Benjamin Reed, a.k.a. RangerRick
ranger@befunk.com / http://ranger.befunk.com/
Now Playing: "Hyperballad (Brodsky Quartet Version)" by Bjrk