[PD] .pdrc & others librairies script integration

Frank Barknecht fbar at footils.org
Wed Sep 7 20:45:29 CEST 2005

juto aviten hat gesagt: // juto aviten wrote:

> I mean for percolate, zexy or maxlib it's quite easy but for some other 
> where each objects correspond to a librairies machin.pd_linux it's quite 
> a job... 

Huh? If you have an object like xyz.pd_linux and its only object is
"xyz" then this xyz.pd_linux is not a library, but a single external
and you should *not* add "-lib xyz".

> so if you have a clean and well made .pdrc please could you 
> send it on the list.

.pdrc is .pdsettings now (or soon). 

For the Rotterdam workshop at V2 we did it simple: First we used scons
to build all externals. There were some problems: 

toxy needs to find the tcl/tk headers, which can be fixed by changing
the main scons file in the build directory to hardcode the path, but
that's a bit hacky.  Better would be to write a real check for tcl/tk

pdogg doesn't link with the ogg/vorbis libraries. SCons-Fu is needed
here, too. 

You can specify the prefix to install using a file "custom.py" which

prefix = "/usr/lib/pd"

if you don't want to install to /usr/local.

After "scons install" everything is in /usr/lib/pd/extra which is
good, as you then would only need to set up one path. 

Scons doesn't deal with flext-externals yet, so do this by hand.

As for libraries, most of the objects are also available as single
externals, if you use the scons build. This includes zexy, iemlib*,
cyclone etc.  but not iemmatrix. Iemmatrix is very useful, so built it
by hand. Also maxlib externals are built as single externals. 

Actually the machines at the workshop didn't use a single library at
all, as everything was available, that we needed. The only thing we
added was pdogg, because of the linking problem, which we fixed at
that time by using the upstream Makefile, that builds a library. 

On my own machine, I still have this in .pdrc:

-lib iemlib1:iemlib2:iem_t3_lib:iem_mp3:iemmatrix:PDContainer
-lib pmpd:Gem:py
-lib OSC:zexy:xsample:maxlib:creb:ratts

but some of this is cruft, as e.g. creb externals are also available a
single externals in my /usr/lib/pd/extra

Special care has to be taken with abstractions, that relate to
libraries. Most important here probably is "iemabs" which includes
useful wrappers such as "any.pd". You could just install these to
/usr/lib/pd/extra as well and instead of messing with adding a new
path, just go drink a cold beer in the warm late summer evening.

 Frank Barknecht                 _ ______footils.org_ __goto10.org__

More information about the Pd-list mailing list