## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-

def build(bld):
    module = bld.create_ns3_module('mpls', ['network', 'internet'])
    module.source = [
        'model/mpls-node.cc',
        'model/mpls.cc',
        'model/mpls-protocol.cc',    
        'model/mpls-packet-demux.cc',
        'model/mpls-fec.cc',
        'model/mpls-label.cc',
        'model/mpls-label-stack.cc',        
        'model/mpls-forwarding-information.cc',
        'model/mpls-interface.cc',
        'model/mpls-operations.cc',
        'model/mpls-nhlfe.cc',
        'model/mpls-incoming-label-map.cc',
        'model/mpls-fec-to-nhlfe.cc',
        'model/mpls-ipv4-protocol.cc',
        'model/mpls-ipv4-routing.cc',
        'model/mpls-nhlfe-selection-policy.cc',
        'model/mpls-label-space.cc',
        'helpers/mpls-network-helper-base.cc',
        'helpers/mpls-node-helper-base.cc',
        'helpers/mpls-nhlfe-selection-policy-helper.cc',
        'helpers/mpls-enum-helper.cc',        
        'helpers/mpls-interface-helper.cc',
        'helpers/mpls-installer.cc',
        'helpers/mpls-ftn-helper.cc',
        'helpers/mpls-ilm-helper.cc',
        'helpers/mpls-switch.cc',
        'helpers/mpls-network-discoverer.cc',        
        'helpers/mpls-network-configurator.cc',
        'helpers/mpls-tunnel-helper.cc',
        'test/mpls-test.cc',
    ]
    headers = bld.new_task_gen(features=['ns3header'])
    headers.module = 'mpls'
    headers.source = [
        'model/mpls-node.h',
        'model/mpls.h',
        'model/mpls-traces.h',
        'model/mpls-protocol.h',    
        'model/mpls-packet-demux.h',
        'model/mpls-fec.h',    
        'model/mpls-label.h',
        'model/mpls-label-stack.h',        
        'model/mpls-forwarding-information.h',
        'model/mpls-interface.h',        
        'model/mpls-operations.h',
        'model/mpls-nhlfe.h',
        'model/mpls-incoming-label-map.h',
        'model/mpls-fec-to-nhlfe.h',
        'model/mpls-ipv4-protocol.h',
        'model/mpls-ipv4-routing.h',
        'model/mpls-nhlfe-selection-policy.h',
        'model/mpls-label-space.h',
        'helpers/mpls-network-helper-base.h',
        'helpers/mpls-node-helper-base.h',        
        'helpers/mpls-nhlfe-selection-policy-helper.h',
        'helpers/mpls-enum-helper.h',        
        'helpers/mpls-interface-helper.h',
        'helpers/mpls-installer.h',
        'helpers/mpls-ftn-helper.h',
        'helpers/mpls-ilm-helper.h',
        'helpers/mpls-switch.h',
        'helpers/mpls-network-discoverer.h',
        'helpers/mpls-network-configurator.h',
        'helpers/mpls-tunnel-helper.h',
    ]

