[clam-devel] WIP/RFC: yet another build system change

David García Garzón david.garcia at barcelonamedia.org
Mon Nov 15 05:04:07 PST 2010


Cool, Albert. :-) I will take a look at it. Thanks for the pointers :-)

On Monday 15 November 2010 11:34:31 Albert Santoni wrote:
> Hey David,
> 
> We just went through the same process with Mixxx's SCons scripts and
> recently finished most of the work.
> 
> If you'd like to see what we've done, the relevant files are:
> 
> http://bazaar.launchpad.net/~mixxxdevelopers/mixxx/trunk/annotate/head%3A/m
> ixxx/SConstruct
> http://bazaar.launchpad.net/~mixxxdevelopers/mixxx/trunk/files/head:/mixxx
> /build/ (see the new .py files in here!)
> http://bazaar.launchpad.net/~mixxxdevelopers/mixxx/trunk/annotate/head%3A/m
> ixxx/src/SConscript.env (sort of yucky still)
> http://bazaar.launchpad.net/~mixxxdevelopers/mixxx/trunk/annotate/head%3A/m
> ixxx/src/SConscript (our installation targets are in here, this is old
> code, not very
> nice)
> 
> Good luck! :)
> Albert
> 
> On Sun, Oct 31, 2010 at 8:48 AM, David García Garzón
> 
> <david.garcia at upf.edu> wrote:
> > No, we are not abandoning scons for a new tool. We are pretty happy with
> > it. The problem is that the scripts we initially developed to build the
> > main three libraries are getting old and need a simplification. Those
> > scripts were our first contact with SCons and it is clear that some
> > design decissions were not the better ones, and also many workarounds
> > are not needed anymore because of new Scons features are availalbe. I
> > commited my experiments into clam/CLAM/scons/newscons.
> > 
> > In summary, the current proposal includes:
> > - Modules defined by subdirectories
> > - All modules are built as library and plugin
> > - No source build copies
> > - Each module can add its own command line options, and configure checks.
> > - Full use of pkg-config (a new tool with config checks has been added)
> > - Working uninstall target ('scons -c install' removed also built files)
> > - Using --install-sandbox scons feature instead our prefix_for_packaging
> > - All the goodies in clam.py tool we already used for plugins and apps
> > 
> > One big goal is modularity. Current modularization
> > (core/audioio/processing) is useless because you always need all the
> > modules: core, audioio (you need one I/O method to be useful, being
> > fileio, jack, midi...) and processing (to actually do something). So we
> > want to define smaller modules. each one adding their own:
> > - command line scons options
> > - configuration methods
> > - compilation flags
> > - external and internal dependencies
> > 
> > My proposal is defining a module as a subdir with an Scons script named,
> > say, 'Module' in its root. All the cxx files under that subdir are
> > included in the module. All hxx get installed in
> > prefix/include/CLAM/name. All subdirs with an hxx file are included in
> > the CPPPATH to compile the module (not for dependants).
> > 
> > That's WIP, the first big milestone would be reproducing current modules.
> > Currently i managed to define a single module but dependencies are not
> > done yet. Please, post your comments and ideas in this thread.
> > 
> > --
> > David García Garzón
> > (Work) david dot garcia at upf anotherdot edu
> > http://www.iua.upf.edu/~dgarcia
> > _______________________________________________
> > clam-devel mailing list
> > clam-devel at lists.clam-project.org
> > http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org
> 
> _______________________________________________
> clam-devel mailing list
> clam-devel at lists.clam-project.org
> http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org



More information about the clam-devel mailing list