artemp/mapnik — Issue #214: SConstruct build engine refactoring
Author: artemp
Created: 2011-10-11 16:05:05+00:00
State: open
Labels: Scons_Build_Scripts

Here are some brief ideas when refactoring the SConstruct main engine:

* main SConstruct should be only the engine for the configure / build stages (no configuration options inside)

* should use a '''global configuration file''' in which only tables / list of configuration options for every search path and include and variables around

* then the user can choose to have a '''user configuration file''' in which he can override any variable

* the plugin SConscript will have 2 functions, one for dependancies to be checked and the other for the real build / link stages, and they will be called in the right place by the main SConstruct only if the plugin is selected by the user

* all variables, dependancies, headers, and libraries ... used by a plugin should be specified only in the plugin SConscript itself and not outside in the SConstruct: this way we keep only one place for plugin dependancies (in particular we should move away from using env['LIBS'] to check for whether plugins should be built)

*