[Ns-developers] ns-3 modular build

Mathieu Lacage mathieu.lacage at inria.fr
Thu Oct 28 01:00:55 PDT 2010


On Thu, 2010-10-28 at 09:07 +0400, Pavel Boyko wrote:

>   I am not sure that this is a good idea. Requiring uniform build system for 
> all NS-3 modules is not strange, after all you do require uniform coding 
> style, etc. Actually this infrastructure uniformity can distinguish NS-3 
> module from "just a library".   This can simplify things essentially both for 
> developers (I don't need to invent a build system for my module, just copy-
> paste the example) and users (I don't need to have all those exotic build 
> tools installed and don't need to understand their output when something goes 
> wrong).    

I think that there are two important things to keep in mind:

  - I believe (and I know that  a certain number of serious ns-3
users/developers I talked to feel the same) that using waf was a mistake
and that we should aim long term for another tool, especially since
gustavo will not be around forever to debug our biggest waf problems for
us. I don't know what gustavo thinks about this nowadays but he was
pretty sympathetic to this kind of statement when I last discussed this
with him.

  - we already depend on a number of external modules which use
different build tools: it would be nice to integrate these modules
within the ns-3 build process. (tom mentioned nsc but there are others,
especially with the dce stuff)

> > waf may be too painful to orchestrate everything; a dedicated python program 
> may be better in the long run
> 
>   I thought waf  was "the dedicated python program" :))) You are going to 
> invent waf 2. 

The model I have in mind is something close to jhbuild (the gtk/gnome
build script). In previous lives, I have witnessed people re-inventing
the same functionality twice in two different projects and I know how
useful these scripts are especially when you start trying to integrate
multiple modules/packages together.

Yes, there is a price to be paid here: giving up on using the same build
tool for every module means we are going to lose some features but I
believe that the gain in terms of modularity will more than offset this
loss. i.e., right now, the monolithic build is killing us.

Mathieu
-- 
Mathieu Lacage <mathieu.lacage at inria.fr>
Tel: +33 4 9238 5056



More information about the Ns-developers mailing list