[Ns-developers] Python Bindings for optional ns-3 features
Raj Bhattacharjea
raj.b at gatech.edu
Fri Mar 20 08:57:54 PDT 2009
We ship a set of the bindings definition files along with ns-3, and
keep these files updated and in the trunk of ns-3-dev by using ./waf
--python-scan. However, there are some subtle issues that are
creeping up. Namely, there are some optional components in ns-3, that
might cause some code to be #IFDEFed out depending on whether or not
certain libraries are detected by ./waf configure. So, for example,
if "waf configure" detects GTK+ on my system, the bindings I generate
and check in might not compile on another system where GTK+ is not
installed.
We need to define a minimum set of features for which we'll ship
bindings code. We then also need a way to configure ns-3 with all of
those optional features turned off, which I don't know how to do at
present; for example, if waf configure finds GTK+, it enables the
featues that depend on it; I'd like to force waf configure to
_disable_ those features (or any optional features for that matter)
using something like ./waf configure --no-gtk
Then for python-scanning, it needs to go something like this:
./waf configure --no-gtk --no-xml --no-threads --no-rt ...
./waf --python-scan
And then check in this set of bindings code which is common to ALL
ns-3 users. If users want to enable the optional APIs on their end
system, they will have to install gccxml, pygccxml, pybindgen, etc. to
get the full set of bindings code.
Gustavo, ideas?
--
Raj Bhattacharjea
Georgia Institute of Technology
School of Electrical and Computer Engineering
Ph.D. Candidate
Systems Analyst
404.894.2955
More information about the Ns-developers
mailing list