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

def build(bld):

    module = bld.create_ns3_module('buildings', ['mobility', 'propagation', 'config-store'])
    module.source = [
        'model/building.cc',
        'model/building-list.cc',
        'model/mobility-building-info.cc',
        'model/itu-r-1238-propagation-loss-model.cc',
        'model/buildings-propagation-loss-model.cc',
        'model/hybrid-buildings-propagation-loss-model.cc',
        'model/oh-buildings-propagation-loss-model.cc',
        'model/buildings-channel-condition-model.cc',
        'model/three-gpp-v2v-channel-condition-model.cc',
        'helper/building-container.cc',
        'helper/building-position-allocator.cc',
        'helper/building-allocator.cc',
        'helper/buildings-helper.cc',
        'model/random-walk-2d-outdoor-mobility-model.cc',
        ]

    module_test = bld.create_ns3_module_test_library('buildings')
    module_test.source = [
        'test/buildings-helper-test.cc',
        'test/building-position-allocator-test.cc',
        'test/buildings-pathloss-test.cc',
        'test/buildings-shadowing-test.cc',
        'test/buildings-channel-condition-model-test.cc',
        'test/outdoor-random-walk-test.cc',
        'test/three-gpp-v2v-channel-condition-model-test.cc',
        ]

    # Tests encapsulating example programs should be listed here
    if (bld.env['ENABLE_EXAMPLES']):
        module_test.source.extend([
        #   'test/buildings-examples-test-suite.cc',
            ])
    
    headers = bld(features='ns3header')
    headers.module = 'buildings'
    headers.source = [
        'model/building.h',
        'model/building-list.h',
        'model/mobility-building-info.h',
        'model/itu-r-1238-propagation-loss-model.h',
        'model/buildings-propagation-loss-model.h',
        'model/hybrid-buildings-propagation-loss-model.h',
        'model/oh-buildings-propagation-loss-model.h',
        'model/buildings-channel-condition-model.h',
        'model/three-gpp-v2v-channel-condition-model.h',
        'helper/building-container.h',
        'helper/building-allocator.h',
        'helper/building-position-allocator.h',
        'helper/buildings-helper.h',
        'model/random-walk-2d-outdoor-mobility-model.h',
        ]

    if (bld.env['ENABLE_EXAMPLES']):
        bld.recurse('examples')


    bld.ns3_python_bindings()
