Files
ns-3-dev/src/tap-bridge/wscript
T
Gustavo J. A. M. Carneiro e8aeb9c6ce waf-1.6: Mac OSX and other fixes
2011-09-13 13:47:17 +01:00

56 lines
2.0 KiB
Python

## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
import os.path
def configure(conf):
if conf.env['ENABLE_THREADING']:
conf.env['ENABLE_TAP'] = conf.check_nonfatal(header_name='linux/if_tun.h',
define_name='HAVE_IF_TUN_H')
conf.report_optional_feature("TapBridge", "Tap Bridge",
conf.env['ENABLE_TAP'],
"<linux/if_tun.h> include not detected")
else:
conf.report_optional_feature("TapBridge", "Tap Bridge",
False,
"needs threading support which is not available")
if conf.env['ENABLE_TAP']:
blddir = os.path.abspath(os.path.join(conf.bldnode.abspath(), conf.variant))
tapcreatordir = os.path.abspath(os.path.join(blddir, "src/tap-bridge"))
conf.env.append_value('NS3_EXECUTABLE_PATH', tapcreatordir)
else:
# Add this module to the list of modules that won't be built
# if they are enabled.
conf.env['MODULES_NOT_BUILT'].append('tap-bridge')
def build(bld):
# Don't do anything for this module if tap-bridge's not enabled.
if not bld.env['ENABLE_TAP']:
return
module = bld.create_ns3_module('tap-bridge', ['network', 'internet'])
module.source = [
'model/tap-bridge.cc',
'model/tap-encode-decode.cc',
'helper/tap-bridge-helper.cc',
]
headers = bld.new_task_gen(features=['ns3header'])
headers.module = 'tap-bridge'
headers.source = [
'model/tap-bridge.h',
'helper/tap-bridge-helper.h',
'doc/tap.h',
]
if not bld.env['PLATFORM'].startswith('freebsd'):
obj = bld.create_suid_program('tap-creator')
obj.source = [
'model/tap-creator.cc',
'model/tap-encode-decode.cc',
]
if bld.env['ENABLE_EXAMPLES']:
bld.add_subdirs('examples')
bld.ns3_python_bindings()