Add ns-3-dev waf configure options to module file
authorMitch Watrous <watrous@u.washington.edu>
Wed, 17 Nov 2010 09:27:13 -0800
changeset 40 e4bdc963c4fa
parent 39 8324bec5a50c
child 41 a2da8afdd95c
Add ns-3-dev waf configure options to module file
README
build.py
download.py
ns-3.modules
--- a/README	Fri Nov 12 15:53:52 2010 -0800
+++ b/README	Wed Nov 17 09:27:13 2010 -0800
@@ -1,30 +1,1 @@
-This is ns-3-allinone.
-
-If you have downloaded this in tarball release format, this directory
-contains some released ns-3 version, along with 3rd party components
-necessary to support all optional ns-3 features, such as Python
-bindings and Network Simulation Cradle.  In this case, just run the
-script build.py; all the components, plus ns-3 itself, will thus be
-built.
-
-If, on the other hand, you have obtained this by cloning the mercurial
-repository, this directory only contains a few python scripts:
-
-  download.py:
-   
-     This script will take care of downloading all necessary
-     components, including pybindgen and NSC, along with cloning an
-     ns-3 repository.  By default, the main development ns-3 branch,
-     ns-3-dev, will be cloned, but it can be overridden via the -n
-     command line option.  For example,
-     
-       ./download.py -n craigdo/ns-3-tap
-
-     will clone the repository http://code.nsnam.org/craigdo/ns-3-tap
-     into the allinone directory.
-
-  build.py:
-
-     This script will get all external components that need to be
-     built, and then will build ns-3 using the downloaded components.
-
+This is an experimental prototype that builds ns-3 with the jhbuild build system.
--- a/build.py	Fri Nov 12 15:53:52 2010 -0800
+++ b/build.py	Wed Nov 17 09:27:13 2010 -0800
@@ -5,7 +5,7 @@
 from xml.dom import minidom as dom
 
 import constants
-from util import run_command, fatal, CommandError
+from util import run_command, fatal, CommandError, which
 
 
 def build_nsc():
@@ -50,6 +50,9 @@
 
 
 def main(argv):
+    if not which("jhbuild"):
+      fatal("failed:  jhbuild required but not found on system")
+      
     parser = OptionParser()
     parser.add_option('--disable-nsc',
                       help=("Don't try to build NSC"), action="store_true", default=False,
--- a/download.py	Fri Nov 12 15:53:52 2010 -0800
+++ b/download.py	Wed Nov 17 09:27:13 2010 -0800
@@ -135,6 +135,11 @@
     pybindgen_config.setAttribute("dir", pybindgen_dir)
     pybindgen_config.setAttribute("version", pybindgen_version)
 
+    # Set configuration information for NSC.
+    nsc_config = config.documentElement.appendChild(config.createElement("nsc"))
+    nsc_config.setAttribute("dir", nsc_dir)
+    nsc_config.setAttribute("version", nsc_version)
+
     # write the config to a file
     dot_config = open(".config", "wt")
     config.writexml(dot_config, addindent="    ", newl="\n")
--- a/ns-3.modules	Fri Nov 12 15:53:52 2010 -0800
+++ b/ns-3.modules	Wed Nov 17 09:27:13 2010 -0800
@@ -10,7 +10,7 @@
   <repository type="hg" name="secure.wand.net.nz"
       href="https://secure.wand.net.nz/mercurial/"/>
 
-  <waf id="ns-3-dev">
+  <waf id="ns-3-dev" waf-command="waf --with-pybindgen='../pybindgen' --with-nsc='../nsc'">
     <branch repo="code.nsnam.org"
             module="ns-3-dev"
             checkoutdir="ns-3-dev"/>