When making the package build systems, things in all of these directories need to be referenced. Some developers have been putting things in different places, making it difficult to have one centralized build system. So this doc is here to get everyone on the same page in terms of how the Pd directories are laid out.
A good example is needing to reference either the pd src directory or the bin binary (i.e. -bundle_loader ../../../pd/bin/pd) or packages/darwin_app/Makefile calling make in each of the different directories and copying files from them.
All of the different sections of the source should be checked out in the same directory, at the same level. Using a symlink called "pd" makes it easy to switch between core versions of Pd that you are working with (MAIN, devel, impd, or from a .tar.gz).
pure-data-\ |\_abstractions | |\_doc | |\_externals | |\_packages | |\_pd | \_scripts
Since there are multiple branches of the pd section as well as tagged releases and release branches, it is likely that you might have multiple different versions of the pd directory, in which case pd would be a symlink pointing to the version that you are working with at the time. Also the core development of both pure-data Vanilla and Pd-extended are in git.
|\_pd -> pd-0.39-test4 | |\_pd-0.38-4 | |\_pd-0.38-0test4 | |\_pd-devel_0_37 | \_pd-impd_0_37
In the doc directory, add symbolic links to the core documentation sections so that they can be used and linked to from the help patches stored in the doc source tree.
|\_doc | \ | |\_2.control.examples -> ../../pd/doc/2.control.examples | | | |\_3.audio.examples -> ../../pd/doc/3.audio.examples | | | |\_4.fft.examples -> ../../pd/doc/4.fft.examples | | | |\_7.stuff -> ../../pd/doc/7.stuff | | | |\_sound -> ../../pd/doc/sound | |