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
     1 ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
     2 
     3 def configure(conf): 
     4     have_gsl = conf.pkg_check_modules('GSL', 'gsl', mandatory=False)
     5     conf.env['ENABLE_GSL'] = have_gsl
     6     conf.report_optional_feature("GSL", "GNU Scientific Library (GSL)",
     7                                  conf.env['ENABLE_GSL'],
     8                                  "GSL not found")
     9 
    10 def build(bld):
    11     obj = bld.create_ns3_module('wifi', ['node'])
    12     obj.source = [
    13         'propagation-delay-model.cc',
    14         'propagation-loss-model.cc',
    15         'jakes-propagation-loss-model.cc',
    16         'wifi-channel.cc',
    17         'wifi-mode.cc',
    18         'ssid.cc',
    19         'wifi-phy.cc',
    20         'wifi-phy-state-helper.cc',
    21         'error-rate-model.cc',
    22         'yans-error-rate-model.cc',
    23         'interference-helper.cc',
    24         'interference-helper-tx-duration-test.cc',
    25         'yans-wifi-phy.cc',
    26         'yans-wifi-channel.cc',
    27         'wifi-mac-header.cc',
    28         'wifi-mac-trailer.cc',
    29         'mac-low.cc',
    30         'wifi-mac-queue.cc',
    31         'mac-tx-middle.cc',
    32         'mac-rx-middle.cc',
    33         'dca-txop.cc',
    34         'supported-rates.cc',
    35         'capability-information.cc',
    36         'status-code.cc',
    37         'mgt-headers.cc',
    38         'random-stream.cc',
    39         'dcf-manager.cc',
    40         'dcf-manager-test.cc',
    41         'wifi-mac.cc',
    42         'wifi-remote-station-manager.cc',
    43         'adhoc-wifi-mac.cc',
    44         'nqap-wifi-mac.cc',
    45         'nqsta-wifi-mac.cc',
    46         'wifi-net-device.cc',
    47         'arf-wifi-manager.cc',
    48         'aarf-wifi-manager.cc',
    49         'ideal-wifi-manager.cc',
    50         'amrr-wifi-manager.cc',
    51         'onoe-wifi-manager.cc',
    52         'rraa-wifi-manager.cc',
    53         'aarfcd-wifi-manager.cc',
    54         'cara-wifi-manager.cc',
    55         'constant-rate-wifi-manager.cc',
    56         'wifi-test.cc',
    57         'qos-tag.cc',
    58         'qos-utils.cc',
    59         'qadhoc-wifi-mac.cc',
    60         'qap-wifi-mac.cc',
    61         'qsta-wifi-mac.cc',
    62         'edca-txop-n.cc',
    63         'msdu-aggregator.cc',
    64         'amsdu-subframe-header.cc',
    65         'msdu-standard-aggregator.cc',
    66         'minstrel-wifi-manager.cc',
    67         ]
    68     headers = bld.new_task_gen('ns3header')
    69     headers.module = 'wifi'
    70     headers.source = [
    71         'propagation-delay-model.h',
    72         'propagation-loss-model.h',
    73         'jakes-propagation-loss-model.h',
    74         'wifi-net-device.h',
    75         'wifi-channel.h',
    76         'wifi-mode.h',
    77         'ssid.h',
    78         'wifi-preamble.h',
    79 	'wifi-phy-standard.h',
    80         'yans-wifi-phy.h',
    81         'yans-wifi-channel.h',
    82         'wifi-phy.h',
    83         'interference-helper.h',
    84         'wifi-remote-station-manager.h',
    85         'arf-wifi-manager.h',
    86         'aarf-wifi-manager.h',
    87         'constant-rate-wifi-manager.h',
    88         'ideal-wifi-manager.h',
    89         'amrr-wifi-manager.h',
    90         'onoe-wifi-manager.h',
    91         'rraa-wifi-manager.h',
    92         'wifi-mac.h',
    93         'adhoc-wifi-mac.h',
    94         'nqsta-wifi-mac.h',
    95         'nqap-wifi-mac.h',
    96         'wifi-phy.h',
    97         'supported-rates.h',
    98         'error-rate-model.h',
    99         'yans-error-rate-model.h',
   100         'dca-txop.h',
   101         'wifi-mac-header.h',
   102         'qadhoc-wifi-mac.h',
   103         'qap-wifi-mac.h',
   104         'qsta-wifi-mac.h',
   105         'qos-utils.h',
   106         'edca-txop-n.h',
   107         'msdu-aggregator.h',
   108         'amsdu-subframe-header.h',
   109         'qos-tag.h',
   110 # Need this for module devices/mesh
   111         'mgt-headers.h',
   112         'status-code.h',
   113         'capability-information.h',
   114         'dcf-manager.h',
   115         'mac-rx-middle.h', 
   116         'mac-low.h',
   117         'minstrel-wifi-manager.h'
   118         ]
   119 
   120     if bld.env['ENABLE_GSL']:
   121         obj.uselib = 'GSL GSLCBLAS M'
   122         obj.env.append_value('CXXDEFINES', "ENABLE_GSL")
   123 
   124     obj = bld.create_ns3_program('wifi-phy-test',
   125         ['core', 'simulator', 'mobility', 'node', 'wifi'])
   126     obj.source = 'wifi-phy-test.cc'
   127 
   128