merge
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Sat, 08 Nov 2008 15:00:56 +0000
changeset 3856 7e9406b15666
parent 3855 7fdcbeea6c4f (current diff)
parent 3854 c049b25f2ded (diff)
child 3857 6ed8e59690b2
merge
--- a/examples/wscript	Sat Nov 08 15:00:28 2008 +0000
+++ b/examples/wscript	Sat Nov 08 15:00:56 2008 +0000
@@ -32,10 +32,6 @@
                                  ['csma', 'internet-stack'])
     obj.source = 'udp-echo.cc'
 
-    obj = bld.create_ns3_program('emu-udp-echo',
-                                 ['emu', 'internet-stack'])
-    obj.source = 'emu-udp-echo.cc'
-
     obj = bld.create_ns3_program('realtime-udp-echo',
                                  ['csma', 'internet-stack'])
     obj.source = 'realtime-udp-echo.cc'
@@ -110,3 +106,10 @@
     obj = bld.create_ns3_program('test-ipv6',
       ['point-to-point', 'internet-stack'])
     obj.source = 'test-ipv6.cc'
+
+    env = bld.env_of_name('default')
+    if env['ENABLE_EMU']:
+        obj = bld.create_ns3_program('emu-udp-echo',
+                                     ['emu', 'internet-stack'])
+        obj.source = 'emu-udp-echo.cc'
+
--- a/src/devices/emu/wscript	Sat Nov 08 15:00:28 2008 +0000
+++ b/src/devices/emu/wscript	Sat Nov 08 15:00:56 2008 +0000
@@ -1,22 +1,39 @@
 ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
 
+def configure(conf):
+    e = conf.create_header_configurator()
+    e.mandatory = False
+    e.name = 'linux/if_ether.h'
+    e.define = 'HAVE_IF_ETHER_H'
+    conf.env['ENABLE_EMU'] = e.run()
+    conf.report_optional_feature("Low Level Ethernet Defintions", "Emulated Net Device",
+                                 conf.env['ENABLE_EMU'],
+                                 "<linux/if_ether.h> include not detected")
 
 def build(bld):
-    obj = bld.create_suid_program('emu-sock-creator')
-    obj.source = [
-       'emu-sock-creator.cc',
-       'emu-encode-decode.cc',
-       ]
-
     module = bld.create_ns3_module('emu', ['node'])
     module.source = [
-        'emu-net-device.cc',
-        'emu-encode-decode.cc',
         ]
-
     headers = bld.create_obj('ns3header')
     headers.module = 'emu'
     headers.source = [
-        'emu-net-device.h',
+        'emu.h',
         ]
 
+    env = bld.env_of_name('default')
+    if env['ENABLE_EMU']:
+        module.source.extend([
+                'emu-net-device.cc',
+                'emu-encode-decode.cc',
+                ])
+        headers.source.extend([
+                'emu-net-device.h',
+                ])
+
+        obj = bld.create_suid_program('emu-sock-creator')
+        obj.source = [
+            'emu-sock-creator.cc',
+            'emu-encode-decode.cc',
+            ]
+
+
--- a/src/helper/wscript	Sat Nov 08 15:00:28 2008 +0000
+++ b/src/helper/wscript	Sat Nov 08 15:00:56 2008 +0000
@@ -10,7 +10,6 @@
         'static-multicast-route-helper.cc',
         'point-to-point-helper.cc',
         'csma-helper.cc',
-        'emu-helper.cc',
         'mobility-helper.cc',
         'ns2-mobility-helper.cc',
         'ipv4-address-helper.cc',
@@ -35,7 +34,6 @@
         'static-multicast-route-helper.h',
         'point-to-point-helper.h',
         'csma-helper.h',
-        'emu-helper.h',
         'mobility-helper.h',
         'ns2-mobility-helper.h',
         'ipv4-address-helper.h',
@@ -49,3 +47,13 @@
         'bridge-helper.h',
         'v4ping-helper.h',
         ]
+
+    env = bld.env_of_name('default')
+    if env['ENABLE_EMU']:
+        helper.source.extend([
+                'emu-helper.cc',
+                ])
+        headers.source.extend([
+                'emu-helper.h',
+                ])
+
--- a/src/wscript	Sat Nov 08 15:00:28 2008 +0000
+++ b/src/wscript	Sat Nov 08 15:00:56 2008 +0000
@@ -19,8 +19,8 @@
     'internet-stack',
     'devices/point-to-point',
     'devices/csma',
+    'devices/emu',
     'devices/bridge',
-    'devices/emu',
     'applications/onoff',
     'applications/packet-sink',
     'applications/udp-echo',
@@ -51,6 +51,7 @@
 def configure(conf):
     conf.sub_config('core')
     conf.sub_config('simulator')
+    conf.sub_config('devices/emu')
     conf.sub_config('contrib')
     conf.sub_config('internet-stack')