[PD-dev] CVS to SVN ?

Russell Bryant russell at russellbryant.net
Tue Jan 29 15:15:56 CET 2008


Hans-Christoph Steiner wrote:
> I think that Asterisk could provide a good model with its  
> "applications" and other plugins.  While many of them are contributed  
> from others, they are all options in the ./configure and "make  
> menuconfig" system.

Thanks.  :)

However, I'm not sure that our model could apply to Pd.  Asterisk is distributed
as one monolithic source package, because it is maintained by a core development
team sponsored by a company.  Pd development is much more fragmented than that,
and the source layout reflects it.

Given the way the Pd core is developed and released, it seems that integrating
any other things from externals and so forth into the pd-core build system is
pretty much out of the question.  I agree with IOhannes that the configure
script and the rest of the build system for pd-vanilla should, at least for the
foreseeable future, stay only related to the pd-vanilla stuff itself.

However, it's possible that the configure/menuselect system that we use could be
applied to the externals directory.  The basic idea is that there is a single
configure script that checks for the presence and usability of libraries and
other system-dependent features than any module cares about.

Then, menuselect (menuconfig) serves a couple of purposes.  It reads information
about what libraries modules depend on, or what other modules they depend on or
conflict with, and builds a list of what things to build based on the results of
the configure script versus the dependency information.  It can also be run in
an interactive mode (a simple ncurses interface) where you can see what modules
depend on and customize what modules gets built.

If for your specific purpose, you only want to build a small set of modules,
then you could have a pre-made menuselect.makeopts file that you drop in to the
package, and it will only build what you ask for.

Some people really like the system.  Others don't like it because it is
"non-standard" and this stuff isn't used outside of Asterisk and a couple other
packages that we distribute.

But, if the goal is to provide some sort of common build system, while also
providing the ability to customize which externals get built, then this may be
applicable ...

--
Russell Bryant




More information about the Pd-dev mailing list