src/devices/wifi/wscript
author Duy Nguyen <duy@soe.ucsc.edu>
Thu Aug 13 08:45:47 2009 +0200 (2009-08-13)
changeset 4703 e1259e2fdaad
parent 4692 f4cd995f1718
child 4720 15221757964f
permissions -rw-r--r--
add an implementation of the minstrel rate control algorithm
mathieu@1897
     1
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
mathieu@1897
     2
guangyu@4470
     3
def configure(conf): 
guangyu@4470
     4
    have_gsl = conf.pkg_check_modules('GSL', 'gsl', mandatory=False)
guangyu@4470
     5
    conf.env['ENABLE_GSL'] = have_gsl
guangyu@4470
     6
    conf.report_optional_feature("GSL", "GNU Scientific Library (GSL)",
guangyu@4470
     7
                                 conf.env['ENABLE_GSL'],
guangyu@4470
     8
                                 "GSL not found")
guangyu@4470
     9
mathieu@1897
    10
def build(bld):
mathieu@1897
    11
    obj = bld.create_ns3_module('wifi', ['node'])
mathieu@1897
    12
    obj.source = [
mathieu@1897
    13
        'propagation-delay-model.cc',
mathieu@1897
    14
        'propagation-loss-model.cc',
maguolof@2678
    15
        'jakes-propagation-loss-model.cc',
mathieu@1897
    16
        'wifi-channel.cc',
mathieu@1897
    17
        'wifi-mode.cc',
mathieu@1897
    18
        'ssid.cc',
mathieu@1897
    19
        'wifi-phy.cc',
mathieu@3897
    20
        'wifi-phy-state-helper.cc',
mathieu@3902
    21
        'error-rate-model.cc',
mathieu@4038
    22
        'yans-error-rate-model.cc',
mathieu@3905
    23
        'interference-helper.cc',
nbaldo@4681
    24
        'interference-helper-tx-duration-test.cc',
mathieu@3888
    25
        'yans-wifi-phy.cc',
mathieu@3893
    26
        'yans-wifi-channel.cc',
mathieu@1897
    27
        'wifi-mac-header.cc',
mathieu@1897
    28
        'wifi-mac-trailer.cc',
mathieu@1922
    29
        'mac-low.cc',
mathieu@1925
    30
        'wifi-mac-queue.cc',
mathieu@1925
    31
        'mac-tx-middle.cc',
mathieu@1927
    32
        'mac-rx-middle.cc',
mathieu@1929
    33
        'dca-txop.cc',
mathieu@1936
    34
        'supported-rates.cc',
mathieu@1937
    35
        'capability-information.cc',
mathieu@1937
    36
        'status-code.cc',
mathieu@1939
    37
        'mgt-headers.cc',
mlacage@2095
    38
        'random-stream.cc',
mlacage@2095
    39
        'dcf-manager.cc',
mlacage@2097
    40
        'dcf-manager-test.cc',
mathieu@2524
    41
        'wifi-mac.cc',
mathieu@2524
    42
        'wifi-remote-station-manager.cc',
mathieu@2524
    43
        'adhoc-wifi-mac.cc',
mathieu@2524
    44
        'nqap-wifi-mac.cc',
mathieu@2524
    45
        'nqsta-wifi-mac.cc',
mathieu@2524
    46
        'wifi-net-device.cc',
mathieu@2524
    47
        'arf-wifi-manager.cc',
mathieu@2524
    48
        'aarf-wifi-manager.cc',
mathieu@2524
    49
        'ideal-wifi-manager.cc',
mathieu@2544
    50
        'amrr-wifi-manager.cc',
mathieu@2544
    51
        'onoe-wifi-manager.cc',
mathieu@2544
    52
        'rraa-wifi-manager.cc',
maguolof@4334
    53
        'aarfcd-wifi-manager.cc',
maguolof@4342
    54
        'cara-wifi-manager.cc',
mathieu@2524
    55
        'constant-rate-wifi-manager.cc',
mathieu@2626
    56
        'wifi-test.cc',
mk@4404
    57
        'qos-tag.cc',
mk@4404
    58
        'qos-utils.cc',
mk@4408
    59
        'qadhoc-wifi-mac.cc',
mk@4408
    60
        'qap-wifi-mac.cc',
mk@4408
    61
        'qsta-wifi-mac.cc',
mk@4408
    62
        'edca-txop-n.cc',
mk@4408
    63
        'msdu-aggregator.cc',
mk@4408
    64
        'amsdu-subframe-header.cc',
mk@4408
    65
        'msdu-standard-aggregator.cc',
duy@4703
    66
        'minstrel-wifi-manager.cc',
mathieu@1897
    67
        ]
gjc@4064
    68
    headers = bld.new_task_gen('ns3header')
gjc@2609
    69
    headers.module = 'wifi'
mathieu@1897
    70
    headers.source = [
mathieu@2603
    71
        'propagation-delay-model.h',
mathieu@2066
    72
        'propagation-loss-model.h',
maguolof@2678
    73
        'jakes-propagation-loss-model.h',
mathieu@1897
    74
        'wifi-net-device.h',
mathieu@1897
    75
        'wifi-channel.h',
mathieu@1903
    76
        'wifi-mode.h',
mathieu@1897
    77
        'ssid.h',
mathieu@1922
    78
        'wifi-preamble.h',
federico@2166
    79
	'wifi-phy-standard.h',
mathieu@3888
    80
        'yans-wifi-phy.h',
mathieu@3893
    81
        'yans-wifi-channel.h',
mathieu@2055
    82
        'wifi-phy.h',
mathieu@3905
    83
        'interference-helper.h',
mathieu@2524
    84
        'wifi-remote-station-manager.h',
mathieu@2524
    85
        'arf-wifi-manager.h',
mathieu@2524
    86
        'aarf-wifi-manager.h',
mathieu@2524
    87
        'constant-rate-wifi-manager.h',
mathieu@2524
    88
        'ideal-wifi-manager.h',
mathieu@2544
    89
        'amrr-wifi-manager.h',
mathieu@2544
    90
        'onoe-wifi-manager.h',
mathieu@2544
    91
        'rraa-wifi-manager.h',
mathieu@2524
    92
        'wifi-mac.h',
mathieu@2524
    93
        'adhoc-wifi-mac.h',
mathieu@2524
    94
        'nqsta-wifi-mac.h',
mathieu@2524
    95
        'nqap-wifi-mac.h',
mathieu@2524
    96
        'wifi-phy.h',
mathieu@2682
    97
        'supported-rates.h',
mathieu@3912
    98
        'error-rate-model.h',
mathieu@4038
    99
        'yans-error-rate-model.h',
mk@4406
   100
        'dca-txop.h',
mk@4408
   101
        'wifi-mac-header.h',
mk@4408
   102
        'qadhoc-wifi-mac.h',
mk@4408
   103
        'qap-wifi-mac.h',
mk@4408
   104
        'qsta-wifi-mac.h',
mk@4408
   105
        'qos-utils.h',
mk@4408
   106
        'edca-txop-n.h',
mk@4408
   107
        'msdu-aggregator.h',
mk@4408
   108
        'amsdu-subframe-header.h',
mathieu@4419
   109
        'qos-tag.h',
boyko@4692
   110
# Need this for module devices/mesh
boyko@4692
   111
        'mgt-headers.h',
boyko@4692
   112
        'status-code.h',
boyko@4692
   113
        'capability-information.h',
boyko@4692
   114
        'dcf-manager.h',
boyko@4692
   115
        'mac-rx-middle.h', 
boyko@4692
   116
        'mac-low.h',
duy@4703
   117
        'minstrel-wifi-manager.h'
mathieu@1897
   118
        ]
mathieu@3881
   119
guangyu@4470
   120
    if bld.env['ENABLE_GSL']:
guangyu@4470
   121
        obj.uselib = 'GSL GSLCBLAS M'
guangyu@4470
   122
        obj.env.append_value('CXXDEFINES', "ENABLE_GSL")
guangyu@4470
   123
mathieu@3881
   124
    obj = bld.create_ns3_program('wifi-phy-test',
mathieu@3881
   125
        ['core', 'simulator', 'mobility', 'node', 'wifi'])
mathieu@3881
   126
    obj.source = 'wifi-phy-test.cc'
guangyu@4470
   127
guangyu@4470
   128