The ns-3 Network Simulator Project

Make waf and bake find themselves

ns-3 uses two build tools, Waf and Bake. If you follow the tutorial you'll see that you need to cd to the directory where these are located in order to use them.

Note that developers often have multiple clones of ns-3 at different versions, and a bake directory for each project which uses different components. These separate directories can have different versions of Waf and Bake themselves, so you can't just have one Waf or Bake in a bin directory and use that everywhere. The goal is to make Waf (or Bake, you can work on either one) find the correct instance to use.

Your task is the following:

  1. Assume that the user has put a version of Waf (or Bake) on their PATH. When they invoke Waf that version will begin executing.
  2. Modify Waf (or Bake) so that instead of running the PATH version directly, it searches up the directory tree from the current working directory to find the correct Waf (or Bake) for this tree, and invoke that instead. (git does something similar, in that it works up the tree looking for a .git directory to identify the root of the repository.)

Waf

Bake: The package management tool for advanced ns-3 builds.

Task tags

  • python

Students who completed this task

hax0kartik

Task type

  • code Code
close

2019