Views
To enable a full development cycle it is necessary to know how to put together the many different source code repositories for Pd, which are listed in GettingPdSource. This document provides some developer-friendly suggestions for downloading relevant source code and for putting it all together.
Downloading Pd Extended for Development
The relevant source code with version control includes the following:
* The core of Pd extended, which is in Git. We will refer to this code base as pd-extended.git.
git clone git://git.code.sf.net/p/pure-data/pd-extended
* The full community repository for Pd extended with most of the externals. This is in Subversion, we refer to this as pd-svn.
svn co svn://svn.code.sf.net/p/pure-data/svn/trunk pd-svn # For uniformity, we suggest using a Git interface instead of the above command as follows: git svn clone https://svn.code.sf.net/p/pure-data/svn/trunk/ pd-svn(See https://sourceforge.net/apps/trac/vxl/wiki/GitSvn for a development workflow with git+svn)
* Gem has its own Git repository.
git clone git://git.code.sf.net/p/pd-gem/gem gem.git
Putting it all Together
There are two approaches for putting these sources together into a developer's build.
Full Approach
This approach centers on pd-svn and links to the latest pd-extended.git and Gem. If you need many libraries and develop and test things as a whole, this might be the best approach as it will build almost all all the available libs for Pd.
Download pd-svn, pd-extended.git, and Gem as above. Then Replace the 'pd' subdir of pd-svn with a symlink to pd-extended.git
cd pd-svn/ mv pd pd-original ln -s ../pd-extended.git pdSymlink Gem to pd-svn/Gem and pd-svn/externals/Gem
ln -s ../gem.git Gem cd externals ln -s ../../gem.git Gem
Under Linux, compile using the linux-make approach described in BuildingPdExtended.
Selective Approach
This approach centers on pd-extended.git, with symlinks inside pd-extended.git/extra to the libraries you want to develop at a given time. If you need to isolatedly develop things, this might be the best option.
Download pd-extended.git, pd-svn and Gem as described above. Inside pd-extended.git/extra, link to the libs you need, e.g. from pd-svn or Gem. for instance:
libdir -> ../../pure-data/trunk/externals/loaders/libdir cyclone -> /Applications/Pd-extended.app/Contents/Resources/extra/cyclone/ extra -> ../../pure-data/trunk/externals/extra vanilla -> ../../pure-data/trunk/externals/vanilla/ pddp -> ../../pure-data/trunk/externals/pddp pdlua -> ../../pure-data/trunk/externals/loaders/pdlua/src/
Build everything inside pd-extended.git, so you can quickly test core changes and run Pd directly from there:
cd ~/code/pd-extended.git ./autogen.sh ./configure make ./src/pd