Files
unison/src/stats/wscript
Tom Henderson 700fb009c5 stats: (fixes #228) Disable bindings for SQLite options when not enabled
Further work on patch originally started by Tommaso Pecorella in the tracker
2020-06-21 08:09:58 -07:00

94 lines
3.3 KiB
Python

## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
def configure(conf):
have_sqlite3 = conf.check_cfg(package='sqlite3', uselib_store='SQLITE3',
args=['--cflags', '--libs'],
mandatory=False)
conf.env['SQLITE_STATS'] = have_sqlite3
have_sem = conf.check_nonfatal(header_name='semaphore.h', define_name='HAVE_SEMAPHORE_H')
conf.env['SEMAPHORE_ENABLED'] = have_sem
conf.report_optional_feature("SQLiteStats", "SQLite stats support",
conf.env['SQLITE_STATS'] and conf.env['SEMAPHORE_ENABLED'],
"library 'sqlite3' and/or semaphore.h not found")
conf.write_config_header('ns3/stats-config.h', top=True)
def build(bld):
obj = bld.create_ns3_module('stats', ['core'])
obj.source = [
'helper/file-helper.cc',
'helper/gnuplot-helper.cc',
'model/data-calculator.cc',
'model/time-data-calculators.cc',
'model/data-output-interface.cc',
'model/omnet-data-output.cc',
'model/data-collector.cc',
'model/gnuplot.cc',
'model/data-collection-object.cc',
'model/probe.cc',
'model/boolean-probe.cc',
'model/double-probe.cc',
'model/time-probe.cc',
'model/uinteger-8-probe.cc',
'model/uinteger-16-probe.cc',
'model/uinteger-32-probe.cc',
'model/time-series-adaptor.cc',
'model/file-aggregator.cc',
'model/gnuplot-aggregator.cc',
'model/get-wildcard-matches.cc',
]
module_test = bld.create_ns3_module_test_library('stats')
module_test.source = [
'test/basic-data-calculators-test-suite.cc',
'test/average-test-suite.cc',
'test/double-probe-test-suite.cc',
]
# Tests encapsulating example programs should be listed here
if (bld.env['ENABLE_EXAMPLES']):
module_test.source.extend([
# 'test/stats-examples-test-suite.cc',
])
headers = bld(features='ns3header')
headers.module = 'stats'
headers.source = [
'helper/file-helper.h',
'helper/gnuplot-helper.h',
'model/data-calculator.h',
'model/time-data-calculators.h',
'model/basic-data-calculators.h',
'model/data-output-interface.h',
'model/omnet-data-output.h',
'model/data-collector.h',
'model/gnuplot.h',
'model/average.h',
'model/data-collection-object.h',
'model/probe.h',
'model/boolean-probe.h',
'model/double-probe.h',
'model/time-probe.h',
'model/uinteger-8-probe.h',
'model/uinteger-16-probe.h',
'model/uinteger-32-probe.h',
'model/time-series-adaptor.h',
'model/file-aggregator.h',
'model/gnuplot-aggregator.h',
'model/get-wildcard-matches.h',
]
if bld.env['SQLITE_STATS']:
headers.source.append('model/sqlite-data-output.h')
obj.source.append('model/sqlite-data-output.cc')
obj.use.append('SQLITE3')
if bld.env['SQLITE_STATS'] and bld.env['SEMAPHORE_ENABLED']:
obj.source.append('model/sqlite-output.cc')
headers.source.append('model/sqlite-output.h')
if (bld.env['ENABLE_EXAMPLES']):
bld.recurse('examples')
bld.ns3_python_bindings()