## -*- 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-global-routing-helper.cc',
        'ipv4-list-routing-helper.cc',
        'ipv4-routing-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-global-routing-helper.h',
        'ipv4-list-routing-helper.h',
        'ipv4-routing-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',
                ])

