## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
def build(bld):
helper = bld.create_ns3_module('helper', ['internet-stack', 'wifi', 'point-to-point', 'csma', 'olsr', 'global-routing', 'onoff', 'packet-sink', 'udp-echo'])
helper.source = [
'node-container.cc',
'net-device-container.cc',
'wifi-helper.cc',
'olsr-helper.cc',
'point-to-point-helper.cc',
'csma-helper.cc',
'mobility-helper.cc',
'ns2-mobility-helper.cc',
'ipv4-address-helper.cc',
'ipv4-static-routing-helper.cc',
'internet-stack-helper.cc',
'application-container.cc',
'on-off-helper.cc',
'packet-sink-helper.cc',
'packet-socket-helper.cc',
'ipv4-interface-container.cc',
'udp-echo-helper.cc',
'bridge-helper.cc',
'yans-wifi-helper.cc',
'v4ping-helper.cc',
'nqos-wifi-mac-helper.cc',
'qos-wifi-mac-helper.cc',
'ipv4-nix-vector-helper.cc',
'ipv4-global-routing-helper.cc',
'ipv4-list-routing-helper.cc',
'ipv4-routing-helper.cc',
'aodv-helper.cc',
'mesh-helper.cc',
'dot11s-installer.cc',
'flame-installer.cc',
'athstats-helper.cc',
'ipv6-address-helper.cc',
'ipv6-interface-container.cc',
'ipv6-static-routing-helper.cc',
'ipv6-list-routing-helper.cc',
'ipv6-routing-helper.cc',
'ping6-helper.cc',
'flow-monitor-helper.cc',
'animation-interface.cc',
'canvas-location.cc',
'point-to-point-dumbbell-helper.cc',
'point-to-point-grid-helper.cc',
'point-to-point-star-helper.cc',
'csma-star-helper.cc',
]
headers = bld.new_task_gen('ns3header')
headers.module = 'helper'
headers.source = [
'node-container.h',
'net-device-container.h',
'wifi-helper.h',
'olsr-helper.h',
'point-to-point-helper.h',
'csma-helper.h',
'mobility-helper.h',
'ns2-mobility-helper.h',
'ipv4-address-helper.h',
'ipv4-static-routing-helper.h',
'internet-stack-helper.h',
'application-container.h',
'on-off-helper.h',
'packet-sink-helper.h',
'packet-socket-helper.h',
'ipv4-interface-container.h',
'udp-echo-helper.h',
'bridge-helper.h',
'yans-wifi-helper.h',
'v4ping-helper.h',
'nqos-wifi-mac-helper.h',
'qos-wifi-mac-helper.h',
'ipv4-nix-vector-helper.h',
'ipv4-global-routing-helper.h',
'ipv4-list-routing-helper.h',
'ipv4-routing-helper.h',
'aodv-helper.h',
'mesh-helper.h',
'mesh-stack-installer.h',
'dot11s-installer.h',
'flame-installer.h',
'athstats-helper.h',
'ipv6-address-helper.h',
'ipv6-interface-container.h',
'ipv6-static-routing-helper.h',
'ipv6-list-routing-helper.h',
'ipv6-routing-helper.h',
'ping6-helper.h',
'flow-monitor-helper.h',
'animation-interface.h',
'canvas-location.h',
'point-to-point-dumbbell-helper.h',
'point-to-point-grid-helper.h',
'point-to-point-star-helper.h',
'csma-star-helper.h',
]
env = bld.env_of_name('default')
if env['ENABLE_EMU']:
helper.source.extend([
'emu-helper.cc',
])
headers.source.extend([
'emu-helper.h',
])
if env['ENABLE_TAP']:
helper.source.extend([
'tap-bridge-helper.cc',
])
headers.source.extend([
'tap-bridge-helper.h',
])
def configure(conf):
conf.check(header_name='sys/socket.h', define_name='HAVE_SYS_SOCKET_H')
conf.check(header_name='netinet/in.h', define_name='HAVE_NETINET_IN_H')
conf.write_config_header('ns3/net-anim-config.h', top=True)