99 self.builddir = builddir |
99 self.builddir = builddir |
100 super(NscBuildTask, self).__init__() |
100 super(NscBuildTask, self).__init__() |
101 |
101 |
102 def run(self): |
102 def run(self): |
103 # XXX: Detect gcc major version(s) available to build supported stacks |
103 # XXX: Detect gcc major version(s) available to build supported stacks |
|
104 builddir = self.builddir |
104 kernels = [['linux-2.6.18', 'linux2.6.18'], |
105 kernels = [['linux-2.6.18', 'linux2.6.18'], |
105 ['linux-2.6.26', 'linux2.6.26']] |
106 ['linux-2.6.26', 'linux2.6.26']] |
106 for dir, name in kernels: |
107 for dir, name in kernels: |
107 soname = 'lib' + name + '.so' |
108 soname = 'lib' + name + '.so' |
108 if not os.path.exists(os.path.join("..", NSC_DIR, dir, soname)): |
109 if not os.path.exists(os.path.join("..", NSC_DIR, dir, soname)): |
109 if os.system('cd ../%s && python scons.py %s' % (NSC_DIR, dir)) != 0: |
110 if os.system('cd ../%s && python scons.py %s' % (NSC_DIR, dir)) != 0: |
110 Params.fatal("Building NSC stack failed") |
111 Params.fatal("Building NSC stack failed") |
111 builddir = self.builddir |
|
112 |
112 |
113 if not os.path.exists(builddir + '/' + soname): |
113 if not os.path.exists(builddir + '/' + soname): |
114 try: |
114 try: |
115 os.symlink('../../' + NSC_DIR + '/' + dir + '/' + soname, builddir + '/' + soname) |
115 os.symlink('../../' + NSC_DIR + '/' + dir + '/' + soname, builddir + '/' + soname) |
116 except: |
116 except: |
117 Params.fatal("Error linking " + builddir + '/' + soname) |
117 Params.fatal("Error linking " + builddir + '/' + soname) |
118 |
118 |
119 |
119 |
120 def build(bld): |
120 def build(bld): |
121 obj = bld.create_ns3_module('internet-stack', ['node']) |
121 obj = bld.create_ns3_module('internet-stack', ['node']) |
122 obj.source = [ |
122 obj.source = [ |
123 'internet-stack.cc', |
123 'internet-stack.cc', |