[Mono-list] MacOS packages

Thomas Engelmeier te-work-list@engelmeier.com
Sun, 7 Mar 2004 15:21:46 +0100


Sorry to butt in "late", hope I don't reiterate previous posts. 
(March seems not archived yet. I stumbled across his thread when I 
tried to google up an way to integrate sscli into XCode as Mono does 
not build on my Panther installation)..

>Urs is correct, after some more digging, it's the 'way' to go.  it's
>going to take me a couple of days to cleanup my own system to get all
>this built and tested (wish I had another machine for this...  oh
>well).

Sorry, I disagree. Java resides in /System/Library as it is provided 
by Apple. javac resides in /usr/bin as it is provided by Apple. In 
short:

/System/Library and /usr/bin are for Apple use only. The Apple 
developer documentation is verbose about installation locations:

Frameworks available for all users go to /Library. Software on per 
user base goes to ~/Library.
(<http://developer.apple.com/documentation/MacOSX/Conceptual/SystemOverview/Frameworks/chapter_46_section_2.html>, 
bottom)

For commandline tools the Linux convention is to place them globally 
in /usr/local/ and the fink converntion to put them in  /sw or ~/bin 
(Apache fallback). Yes, they are (probably intentionally for security 
reasons) not in the default path.

The idea is that any user can restore an System by:
- Backing up /Library and ~
- Installing a fresh System
- Restoring /Library and ~

Regards,
	Tom_E ;-)

>
>
>>  If you actually look at /usr/bin/javac, /usr/bin/java, those are soft
>>  links
>>  to
>>  /System/Library/Framework/JavaVM.Framework/Version/1.4.2/Command/java.
>>
>>  --> We only have to create soft links for stuff main executables, but
>>  not
>>  necessary the .exe assemblies since those are just .Net assemblies
>>  unless we
>>  have some .exe Mono launcher in /etc/... as discussed many times on
>>  this
>>  list.
>  >
>>  As for the version: that is the framework version not the assembly
>>  version.
>>  The GAC is fine and no problem, but Apple is talking about the
>>  executables
>>  (mono,mint) dynamic libraries (libmono.dylib, ...) and the C-headers,
>>  and
>>  that has a standard folder structure.
>>
>>  - URS C. MUFF