[Clam-devel] portmidi

Pau Arumi parumi at iua.upf.edu
Thu Jul 19 03:44:12 PDT 2007


En/na Greg Kellum ha escrit:
> Hi,
> 
> I had some problems earlier this week getting CLAM to use PortMidi on 
> OS-X, because CLAM wasn't able to find another library it needed, 
> PortTime.  I wrote Roger Dannenberg, the author of PortMidi, to ask him 
> about this PortTime library, and he told me that there isn't a PortTime 
> library anymore.  He moved the code for PortTime into the PortMidi 
> library.  SO, this means that CLAM's build script for OS-X will have to 
> be modified to no longer use PortTime.  I did a quick search for 
> PortTime using egrep, and found references to PortTime in the following 
> files: build/configure-in/configure.pl, build/configure.ac, 
> build/libGen/CLAMIO.py, build/libGen/system- win.cfg, 
> build/srcdeps/functtests/MIDIOut_expected.vars, 
> build/system-posix.cfg.in <http://posix.cfg.in>, build/system-win.cfg, 
> scons/libs/clam_dependent_libs_checks.py, and deprecated/vmqt.py.  I 
> should be able to solve the problem by simply deleting all the 
> references to PortTime in these files, no?

Hi Greg,
of all this files only scons/libs/clam_dependent_libs_checks.py matters.
Note that the build/ sub-tree is deprecated and not even public (only
accessible through svn+ssh --iua members only).

Feel free to modify that configuration checks file to make it work on
osx but do not commit changes that might break linux.

> I've included the emails I got from Roger below.  He also suggested 
> using statically linked rather dynamically linked libraries.  Any 
> thoughts on this?

No problem using static libs (actually makes the windows and osx
packaging simpler). But we depend on how portmidi is packaged on linux
(debian and fc) and mac-ports. We can look at it when we meet on Friday.

pau


> Greg,
>    I take it you're working under OS X. I think we modified the 
> Makefile.osx to include the (very small) PortTime functions inside the 
> PortMidi dylib to simplify things. I thought at the time that the only 
> dynamic library users were working with Common Music and/or Common Lisp, 
> and that's definitely the reason for putting in the dylib option to the 
> Makefile.
>    Anyway, I think you can easily modify the Makefile by separating 
> PMSRC and PTSRC back into separate libraries. A better solution would be 
> to change CLAM to expect one library or to link statically. I don't 
> think there's any reason to make these libraries separate again in the 
> future (but if there is a good reason, let me know.)
> 
>    -Roger
> 
> Greg,
>    Currently, only the dynamic library for the Mac on OS X combines the 
> PortTime and Port Midi libraries into one. There is nothing in the VC++ 
> project or Linux makefile for dynamic libraries on those platforms. 
> Instead they just make two static libs.
>    If there's a configuration you'd like to see, probably making your 
> life simpler would benefit others too, so let me know. My view on this 
> is that it's easier to manage statically linked code and thinking 
> someone might want to use PortTime without PortMidi, I made it separate. 
> So that's how it's always been until the Lisp guys needed a dynamic 
> library and wanted to keep it simple by having only one, hence the 
> Makfile.osx option to create a single dynamic library OR two static 
> libraries. In retrospect, one static library would probably have been 
> slightly easier all around.
> 
>    -Roger
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Clam-devel mailing list
> Clam-devel at llistes.projectes.lafarga.org
> https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel





More information about the clam-devel mailing list