|
|
| 88 |
|
88 |
|
| 89 |
def build(bld): |
89 |
def build(bld): |
| 90 |
# Don't do anything for this module if emu's not enabled. |
90 |
# Don't do anything for this module if emu's not enabled. |
| 91 |
if not bld.env['ENABLE_FDNETDEV']: |
91 |
enabled = bld.env['ENABLE_FDNETDEV'] |
| 92 |
return |
92 |
|
| 93 |
|
|
|
| 94 |
module = bld.create_ns3_module('fd-net-device', ['network']) |
93 |
module = bld.create_ns3_module('fd-net-device', ['network']) |
| 95 |
module.source = [ |
|
|
| 96 |
'model/fd-net-device.cc', |
| 97 |
'helper/fd-net-device-helper.cc', |
| 98 |
'helper/encode-decode.cc', |
| 99 |
'helper/creator-utils.cc', |
| 100 |
] |
| 101 |
|
| 102 |
headers = bld(features='ns3header') |
94 |
headers = bld(features='ns3header') |
| 103 |
headers.module = 'fd-net-device' |
95 |
headers.module = 'fd-net-device' |
| 104 |
headers.source = [ |
96 |
headers.source = [ |
|
|
| 106 |
'helper/fd-net-device-helper.h', |
98 |
'helper/fd-net-device-helper.h', |
| 107 |
] |
99 |
] |
| 108 |
|
100 |
|
| 109 |
if bld.env['ENABLE_TAP']: |
101 |
if enabled: |
|
|
102 |
module.source = [ |
| 103 |
'model/fd-net-device.cc', |
| 104 |
'helper/fd-net-device-helper.cc', |
| 105 |
'helper/encode-decode.cc', |
| 106 |
'helper/creator-utils.cc', |
| 107 |
] |
| 108 |
|
| 109 |
headers.source.extend([ |
| 110 |
'helper/tap-fd-net-device-helper.h', |
| 111 |
]) |
| 112 |
|
| 113 |
if enabled and bld.env['ENABLE_TAP']: |
| 110 |
if not bld.env['PLATFORM'].startswith('freebsd'): |
114 |
if not bld.env['PLATFORM'].startswith('freebsd'): |
| 111 |
module.source.extend([ |
115 |
module.source.extend([ |
| 112 |
'helper/tap-fd-net-device-helper.cc', |
116 |
'helper/tap-fd-net-device-helper.cc', |
| 113 |
]) |
117 |
]) |
| 114 |
|
118 |
|
| 115 |
headers.source.extend([ |
|
|
| 116 |
'helper/tap-fd-net-device-helper.h', |
| 117 |
]) |
| 118 |
|
| 119 |
creator = bld.create_suid_program('tap-device-creator') |
119 |
creator = bld.create_suid_program('tap-device-creator') |
| 120 |
creator.source = [ |
120 |
creator.source = [ |
| 121 |
'helper/tap-device-creator.cc', |
121 |
'helper/tap-device-creator.cc', |
|
|
| 126 |
module.env.append_value("DEFINES", |
126 |
module.env.append_value("DEFINES", |
| 127 |
"TAP_DEV_CREATOR=\"%s\"" % (creator.target,)) |
127 |
"TAP_DEV_CREATOR=\"%s\"" % (creator.target,)) |
| 128 |
|
128 |
|
| 129 |
if bld.env['ENABLE_EMU']: |
129 |
headers.source.extend([ |
|
|
130 |
'helper/emu-fd-net-device-helper.h', |
| 131 |
]) |
| 132 |
|
| 133 |
if enabled and bld.env['ENABLE_EMU']: |
| 130 |
module.source.extend([ |
134 |
module.source.extend([ |
| 131 |
'helper/emu-fd-net-device-helper.cc', |
135 |
'helper/emu-fd-net-device-helper.cc', |
| 132 |
]) |
136 |
]) |
| 133 |
|
137 |
|
| 134 |
headers.source.extend([ |
|
|
| 135 |
'helper/emu-fd-net-device-helper.h', |
| 136 |
]) |
| 137 |
|
| 138 |
creator = bld.create_suid_program('raw-sock-creator') |
138 |
creator = bld.create_suid_program('raw-sock-creator') |
| 139 |
creator.source = [ |
139 |
creator.source = [ |
| 140 |
'helper/raw-sock-creator.cc', |
140 |
'helper/raw-sock-creator.cc', |
|
|
| 145 |
module.env.append_value("DEFINES", |
145 |
module.env.append_value("DEFINES", |
| 146 |
"RAW_SOCK_CREATOR=\"%s\"" % (creator.target,)) |
146 |
"RAW_SOCK_CREATOR=\"%s\"" % (creator.target,)) |
| 147 |
|
147 |
|
| 148 |
if bld.env['ENABLE_PLANETLAB']: |
148 |
headers.source.extend([ |
|
|
149 |
'helper/planetlab-fd-net-device-helper.h', |
| 150 |
]) |
| 151 |
|
| 152 |
if enabled and bld.env['ENABLE_PLANETLAB']: |
| 149 |
module.source.extend([ |
153 |
module.source.extend([ |
| 150 |
'helper/planetlab-fd-net-device-helper.cc', |
154 |
'helper/planetlab-fd-net-device-helper.cc', |
| 151 |
]) |
155 |
]) |
| 152 |
|
156 |
|
| 153 |
headers.source.extend([ |
|
|
| 154 |
'helper/planetlab-fd-net-device-helper.h', |
| 155 |
]) |
| 156 |
|
| 157 |
creator = bld.create_suid_program('planetlab-tap-creator') |
157 |
creator = bld.create_suid_program('planetlab-tap-creator') |
| 158 |
creator.source = [ |
158 |
creator.source = [ |
| 159 |
'helper/planetlab-tap-creator.cc', |
159 |
'helper/planetlab-tap-creator.cc', |
|
|
| 164 |
module.env.append_value("DEFINES", |
164 |
module.env.append_value("DEFINES", |
| 165 |
"PLANETLAB_TAP_CREATOR=\"%s\"" % (creator.target,)) |
165 |
"PLANETLAB_TAP_CREATOR=\"%s\"" % (creator.target,)) |
| 166 |
|
166 |
|
| 167 |
if bld.env['ENABLE_EXAMPLES']: |
167 |
if enabled and bld.env['ENABLE_EXAMPLES']: |
| 168 |
bld.recurse('examples') |
168 |
bld.recurse('examples') |
| 169 |
|
169 |
|
| 170 |
bld.ns3_python_bindings() |
170 |
if enabled: |
|
|
171 |
bld.ns3_python_bindings() |
| 171 |
|
172 |
|