Csound Csound-dev Csound-tekno Search About

[Cs-dev] OSX installation and directory structure

Date2005-12-09 16:30
FromVictor Lazzarini
Subject[Cs-dev] OSX installation and directory structure
As promised to John, I have been looking (today) at the way
we should install things on the Mac.

I have decided to try to build csound as a framework. This looks
like the preferred way to provide a dynamic library installation of
the kind Csound provides.

It works as follows. The Csound library is built as dynamic shared object 
(dylib)
into the file CsoundLib (no extension), with install_name set to
/Library/Frameworks/CsoundLib.Framework/CsoundLib (see why below).

The framework is build with the following structure

CsoundLib.Framework/
             Headers/        -> Versions/Current/Headers
             Resources/     ->  Versions/Current/Resources
             Versions/
                      5.0/
                           Headers/ [csound headers]
                           Resources/
                                 Opcodes/ [Opcodes 32-bit floats]
                                 Opcodes64/ [Opcodes 64-bit floats]
                                 info.plist  (property file for the framework)
                           CsoundLib   (the dynamic library)
                      Current/  -> ./5.0
             CsoundLib     -> Versions/Current/CsoundLib


This whole directory is then put in the standard place for frameworks
which is /Library/Frameworks; when linking to frameworks it is necessary
that the dylib is given a full path as its install_name, otherwise it will
not load at runtime. It is possible to link to it anywhere it is, but at
run time, the program will look for it in its install_name.

The command-line executables can go anywhere on the path (/usr/local/lib).
I have tested this installation and it seems OK. I have incorporated it in
the SConstruct and will hopefully commit this today for you all to have a
look.

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth 



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-12-09 16:40
FromIstvan Varga
SubjectRe: [Cs-dev] OSX installation and directory structure
AttachmentsNone  

Date2005-12-09 17:09
FromVictor Lazzarini
SubjectRe: [Cs-dev] OSX installation and directory structure
That's what I had in mind. I think we can try that.

I have changed SConstruct so that it now builds a framework on OSX, if
dynamicCsoundLibrary=1 is chosen, and puts it in the right place (this
is necessary for it work even at pre-release state). If this is not 
satisfactory,
a scons option can be added to build a framework. The framework is
build locally and then copied to /Library/frameworks.

At 16:40 09/12/2005, you wrote:
>Should I change the default plugin directories for the "release" build
>to /Library/Frameworks/CsoundLib.Framework/Versions/5.0/Resources/Opcodes
>and /Library/Frameworks/CsoundLib.Framework/Versions/5.0/Resources/Opcodes64 ?
>Also, if the version is in CS_VERSION.CS_APIVERSION format (that is, 5.1 until
>the first binary incompatible API change after the release), then the default
>directory names can easily be generated in csmodule.c. Or should the 5.0 be
>hardcoded for now ?

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth 



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-12-09 17:48
FromVictor Lazzarini
SubjectRe: [Cs-dev] OSX installation and directory structure
There seems to be a bug in scons on OSX. The command builder
when calling ln seems to put the link one directory inside the
supposed link. The same command on the terminal does the
right thing. I'll have to see what can be done. In the meantime,
people might have to correct by hand the links in
csoundlib.framework

Victor


At 17:09 09/12/2005, you wrote:
>That's what I had in mind. I think we can try that.
>
>I have changed SConstruct so that it now builds a framework on OSX, if
>dynamicCsoundLibrary=1 is chosen, and puts it in the right place (this
>is necessary for it work even at pre-release state). If this is not 
>satisfactory,
>a scons option can be added to build a framework. The framework is
>build locally and then copied to /Library/frameworks.
>
>At 16:40 09/12/2005, you wrote:
>>Should I change the default plugin directories for the "release" build
>>to /Library/Frameworks/CsoundLib.Framework/Versions/5.0/Resources/Opcodes
>>and 
>>/Library/Frameworks/CsoundLib.Framework/Versions/5.0/Resources/Opcodes64 ?
>>Also, if the version is in CS_VERSION.CS_APIVERSION format (that is, 5.1 
>>until
>>the first binary incompatible API change after the release), then the default
>>directory names can easily be generated in csmodule.c. Or should the 5.0 be
>>hardcoded for now ?
>
>Victor Lazzarini
>Music Technology Laboratory
>Music Department
>National University of Ireland, Maynooth
>
>
>-------------------------------------------------------
>This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
>for problems?  Stop!  Download the new AJAX search engine that makes
>searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
>http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
>_______________________________________________
>Csound-devel mailing list
>Csound-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/csound-devel

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth 



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-12-09 17:52
FromIstvan Varga
SubjectRe: [Cs-dev] OSX installation and directory structure
AttachmentsNone