2006-10-14 10:13:14 +02:00
|
|
|
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
|
2007-06-28 14:29:46 -07:00
|
|
|
|
2006-08-29 17:34:37 +02:00
|
|
|
import os.path
|
2006-09-06 13:59:43 +02:00
|
|
|
import build
|
2006-08-29 17:34:37 +02:00
|
|
|
|
2007-05-18 20:48:24 +02:00
|
|
|
version_file = open ('VERSION', 'r')
|
2007-05-18 20:57:02 +02:00
|
|
|
version = version_file.readline ()
|
2007-05-18 20:48:24 +02:00
|
|
|
version_file.close ()
|
2007-05-18 20:57:02 +02:00
|
|
|
version = version.strip ()
|
2007-05-18 20:48:24 +02:00
|
|
|
|
2006-10-23 09:24:36 +02:00
|
|
|
ns3 = build.Ns3()
|
2006-08-29 17:34:37 +02:00
|
|
|
ns3.build_dir = 'build-dir'
|
2007-05-18 20:48:24 +02:00
|
|
|
ns3.version = version
|
2006-08-29 17:34:37 +02:00
|
|
|
ns3.name = 'ns3'
|
2007-05-18 17:26:28 +02:00
|
|
|
ns3.distname = 'ns'
|
2006-10-23 09:24:36 +02:00
|
|
|
ns3.doxygen_config = os.path.join('doc', 'doxygen.conf')
|
|
|
|
|
ns3.add_extra_dist(os.path.join('doc', 'main.txt'))
|
2007-05-18 18:06:00 +02:00
|
|
|
ns3.add_extra_dist ('doc/architecture.pdf')
|
2007-05-17 11:46:33 +02:00
|
|
|
ns3.add_extra_dist ('doc/contributing.txt')
|
|
|
|
|
ns3.add_extra_dist ('doc/build.txt')
|
2007-05-18 11:13:57 -07:00
|
|
|
ns3.add_extra_dist ('doc/codingstd.txt')
|
2007-05-17 11:46:33 +02:00
|
|
|
ns3.add_extra_dist ('doc/mercurial.txt')
|
|
|
|
|
ns3.add_extra_dist ('README')
|
|
|
|
|
ns3.add_extra_dist ('RELEASE_NOTES')
|
|
|
|
|
ns3.add_extra_dist ('AUTHORS')
|
2007-05-18 20:57:02 +02:00
|
|
|
ns3.add_extra_dist ('VERSION')
|
2006-08-29 17:34:37 +02:00
|
|
|
|
2007-05-25 19:14:05 +01:00
|
|
|
ns3.add_extra_dist('doc/build-waf.txt')
|
|
|
|
|
ns3.add_extra_dist('ns3/_placeholder_')
|
|
|
|
|
for wscript in [
|
|
|
|
|
"src/core/wscript",
|
|
|
|
|
"src/node/wscript",
|
|
|
|
|
"src/devices/p2p/wscript",
|
|
|
|
|
"src/common/wscript",
|
|
|
|
|
"src/applications/wscript",
|
|
|
|
|
"src/simulator/wscript",
|
|
|
|
|
"src/internet-node/wscript",
|
|
|
|
|
"src/wscript",
|
|
|
|
|
"utils/wscript",
|
|
|
|
|
"samples/wscript",
|
|
|
|
|
"examples/wscript",
|
|
|
|
|
"wscript",
|
|
|
|
|
]:
|
|
|
|
|
ns3.add_extra_dist(wscript)
|
|
|
|
|
ns3.add_extra_dist('waf')
|
|
|
|
|
ns3.add_extra_dist('waf.bat')
|
|
|
|
|
|
2006-08-29 17:34:37 +02:00
|
|
|
#
|
|
|
|
|
# The Core module
|
|
|
|
|
#
|
2006-10-23 09:24:36 +02:00
|
|
|
core = build.Ns3Module('core', 'src/core')
|
|
|
|
|
ns3.add(core)
|
|
|
|
|
core.add_sources([
|
2006-11-03 09:04:12 +01:00
|
|
|
'callback-test.cc',
|
2007-02-06 20:40:38 +01:00
|
|
|
'debug.cc',
|
2007-02-16 09:00:22 +01:00
|
|
|
'assert.cc',
|
2006-12-18 13:17:08 +01:00
|
|
|
'ptr.cc',
|
2007-03-27 15:41:08 -07:00
|
|
|
'object.cc',
|
2007-02-15 23:55:15 -08:00
|
|
|
'test.cc',
|
2007-03-17 22:32:08 -07:00
|
|
|
'random-variable.cc',
|
|
|
|
|
'rng-stream.cc',
|
2007-05-06 18:59:36 +02:00
|
|
|
'uid-manager.cc',
|
2007-04-26 11:36:05 -04:00
|
|
|
'default-value.cc',
|
|
|
|
|
'command-line.cc',
|
|
|
|
|
'type-name.cc',
|
2007-05-11 18:42:39 +02:00
|
|
|
'component-manager.cc',
|
2006-11-03 09:04:12 +01:00
|
|
|
])
|
2006-10-23 09:24:36 +02:00
|
|
|
env = Environment()
|
2007-02-18 19:19:42 -08:00
|
|
|
if env['PLATFORM'] == 'posix' or env['PLATFORM'] == 'darwin' or env['PLATFORM'] == 'cygwin':
|
2006-10-23 09:24:36 +02:00
|
|
|
core.add_external_dep('pthread')
|
|
|
|
|
core.add_sources([
|
2006-11-03 09:04:12 +01:00
|
|
|
'unix-system-wall-clock-ms.cc',
|
|
|
|
|
])
|
2006-08-29 17:34:37 +02:00
|
|
|
elif env['PLATFORM'] == 'win32':
|
2006-10-23 09:24:36 +02:00
|
|
|
core.add_sources([
|
2006-11-03 09:04:12 +01:00
|
|
|
'win32-system-wall-clock-ms.cc',
|
2006-10-16 13:12:22 +02:00
|
|
|
])
|
2007-05-06 11:20:12 +02:00
|
|
|
core.add_headers ([
|
2007-05-06 18:59:36 +02:00
|
|
|
'uid-manager.h',
|
|
|
|
|
'singleton.h',
|
2007-05-06 11:20:12 +02:00
|
|
|
])
|
2006-11-03 09:04:12 +01:00
|
|
|
core.add_inst_headers([
|
|
|
|
|
'system-wall-clock-ms.h',
|
2007-05-25 14:13:23 +02:00
|
|
|
'empty.h',
|
2006-11-03 09:04:12 +01:00
|
|
|
'callback.h',
|
2006-12-18 13:17:08 +01:00
|
|
|
'ptr.h',
|
2007-03-27 15:41:08 -07:00
|
|
|
'object.h',
|
2007-02-15 16:52:39 -08:00
|
|
|
'debug.h',
|
2007-02-16 09:00:22 +01:00
|
|
|
'assert.h',
|
2007-02-16 09:23:22 +01:00
|
|
|
'fatal-error.h',
|
2007-03-17 22:32:08 -07:00
|
|
|
'test.h',
|
|
|
|
|
'random-variable.h',
|
2007-03-19 07:02:14 -07:00
|
|
|
'rng-stream.h',
|
2007-04-26 11:36:05 -04:00
|
|
|
'default-value.h',
|
|
|
|
|
'command-line.h',
|
|
|
|
|
'type-name.h',
|
2007-05-11 18:42:39 +02:00
|
|
|
'component-manager.h',
|
2006-11-03 09:04:12 +01:00
|
|
|
])
|
2006-08-29 17:34:37 +02:00
|
|
|
|
2007-02-06 20:40:38 +01:00
|
|
|
def config_core (env, config):
|
|
|
|
|
retval = []
|
|
|
|
|
# XXX This check is primitive but it should be
|
|
|
|
|
# good enough for now.
|
|
|
|
|
if config.CheckCHeader ('stdlib.h') == 1:
|
|
|
|
|
retval.append ('#define HAVE_STDLIB_H 1')
|
|
|
|
|
retval.append ('#define HAVE_GETENV 1')
|
|
|
|
|
else:
|
|
|
|
|
retval.append ('#undef HAVE_STDLIB_H')
|
|
|
|
|
retval.append ('#undef HAVE_GETENV')
|
|
|
|
|
return retval
|
|
|
|
|
core.add_config (config_core)
|
|
|
|
|
|
2006-08-29 17:34:37 +02:00
|
|
|
#
|
2007-07-06 15:07:03 -07:00
|
|
|
# The Simulator module
|
2006-08-29 17:34:37 +02:00
|
|
|
#
|
2006-10-23 09:24:36 +02:00
|
|
|
simu = build.Ns3Module('simulator', 'src/simulator')
|
|
|
|
|
ns3.add(simu)
|
|
|
|
|
simu.add_dep('core')
|
2006-12-04 12:33:54 +01:00
|
|
|
simu.add_external_dep('m')
|
2006-10-23 09:24:36 +02:00
|
|
|
simu.add_sources([
|
2006-11-03 09:05:58 +01:00
|
|
|
'high-precision.cc',
|
2006-11-03 09:04:12 +01:00
|
|
|
'time.cc',
|
|
|
|
|
'event-id.cc',
|
|
|
|
|
'scheduler.cc',
|
|
|
|
|
'scheduler-factory.cc',
|
|
|
|
|
'scheduler-list.cc',
|
|
|
|
|
'scheduler-heap.cc',
|
|
|
|
|
'scheduler-map.cc',
|
|
|
|
|
'event-impl.cc',
|
|
|
|
|
'simulator.cc',
|
|
|
|
|
])
|
2006-10-23 09:24:36 +02:00
|
|
|
simu.add_headers([
|
2006-11-03 09:04:12 +01:00
|
|
|
'scheduler-heap.h',
|
|
|
|
|
'scheduler-map.h',
|
|
|
|
|
'scheduler-list.h'
|
|
|
|
|
])
|
2006-10-23 09:24:36 +02:00
|
|
|
simu.add_inst_headers([
|
2006-11-03 09:05:58 +01:00
|
|
|
'high-precision.h',
|
2006-11-03 09:04:12 +01:00
|
|
|
'nstime.h',
|
|
|
|
|
'event-id.h',
|
|
|
|
|
'event-impl.h',
|
|
|
|
|
'simulator.h',
|
|
|
|
|
'scheduler.h',
|
|
|
|
|
'scheduler-factory.h',
|
2007-05-02 13:44:41 +02:00
|
|
|
'simulation-singleton.h',
|
2006-11-03 09:04:12 +01:00
|
|
|
])
|
2006-12-04 08:39:11 +01:00
|
|
|
high_precision_as_double = ARGUMENTS.get('high-precision-as-double', 'n')
|
2006-12-04 10:33:02 +01:00
|
|
|
if high_precision_as_double == 'y':
|
2006-12-04 08:39:11 +01:00
|
|
|
simu.add_inst_header ('high-precision-double.h')
|
|
|
|
|
simu.add_source ('high-precision-double.cc')
|
|
|
|
|
else:
|
2006-12-04 10:34:02 +01:00
|
|
|
simu.add_inst_headers ([
|
|
|
|
|
'high-precision-128.h',
|
|
|
|
|
'cairo-wideint-private.h'
|
|
|
|
|
])
|
2006-12-04 10:33:02 +01:00
|
|
|
simu.add_sources ([
|
|
|
|
|
'high-precision-128.cc',
|
|
|
|
|
'cairo-wideint.c',
|
|
|
|
|
])
|
2006-12-04 08:39:11 +01:00
|
|
|
|
2006-12-04 08:03:28 +01:00
|
|
|
def config_simulator (env, config):
|
|
|
|
|
retval = []
|
2006-12-04 08:39:11 +01:00
|
|
|
high_precision_as_double = ARGUMENTS.get('high-precision-as-double', 'n')
|
|
|
|
|
if high_precision_as_double == 'y':
|
|
|
|
|
retval.append ('#define USE_HIGH_PRECISION_DOUBLE 1')
|
|
|
|
|
else:
|
|
|
|
|
retval.append ('#undef USE_HIGH_PRECISION_DOUBLE')
|
2006-12-04 08:03:28 +01:00
|
|
|
if config.CheckCHeader ('stdint.h') == 1:
|
|
|
|
|
retval.append ('#define HAVE_STDINT_H 1')
|
|
|
|
|
elif config.CheckCHeader ('inttypes.h') == 1:
|
|
|
|
|
retval.append ('#define HAVE_INTTYPES_H 1')
|
|
|
|
|
elif config.CheckCHeader ('sys/inttypes.h') == 1:
|
|
|
|
|
retval.append ('#define HAVE_SYS_INT_TYPES_H 1')
|
|
|
|
|
return retval
|
|
|
|
|
simu.add_config (config_simulator)
|
|
|
|
|
|
2006-08-29 17:34:37 +02:00
|
|
|
#
|
|
|
|
|
# The Common module
|
|
|
|
|
#
|
2006-10-23 09:24:36 +02:00
|
|
|
common = build.Ns3Module('common', 'src/common')
|
|
|
|
|
common.add_deps(['core', 'simulator'])
|
|
|
|
|
ns3.add(common)
|
|
|
|
|
common.add_sources([
|
2006-11-03 09:04:12 +01:00
|
|
|
'buffer.cc',
|
2007-05-01 11:54:21 +02:00
|
|
|
'chunk.cc',
|
2006-11-03 09:04:12 +01:00
|
|
|
'header.cc',
|
|
|
|
|
'trailer.cc',
|
2007-05-31 14:30:34 +02:00
|
|
|
'packet-printer.cc',
|
2007-06-07 12:48:52 +02:00
|
|
|
'packet-metadata.cc',
|
2006-11-03 09:04:12 +01:00
|
|
|
'packet.cc',
|
|
|
|
|
'tags.cc',
|
|
|
|
|
'pcap-writer.cc',
|
|
|
|
|
'variable-tracer-test.cc',
|
2007-03-18 14:06:51 -07:00
|
|
|
'trace-context.cc',
|
|
|
|
|
'trace-resolver.cc',
|
|
|
|
|
'callback-trace-source.cc',
|
|
|
|
|
'empty-trace-resolver.cc',
|
|
|
|
|
'composite-trace-resolver.cc',
|
|
|
|
|
'trace-root.cc',
|
2007-03-22 17:20:15 -04:00
|
|
|
'data-rate.cc',
|
2007-03-18 14:06:51 -07:00
|
|
|
])
|
|
|
|
|
common.add_headers ([
|
2006-11-03 09:04:12 +01:00
|
|
|
])
|
2006-10-23 09:24:36 +02:00
|
|
|
common.add_inst_headers([
|
2006-11-03 09:04:12 +01:00
|
|
|
'buffer.h',
|
2007-05-01 11:54:21 +02:00
|
|
|
'chunk.h',
|
2006-11-03 09:04:12 +01:00
|
|
|
'header.h',
|
|
|
|
|
'trailer.h',
|
|
|
|
|
'tags.h',
|
|
|
|
|
'packet.h',
|
2007-05-31 14:30:34 +02:00
|
|
|
'packet-printer.h',
|
2007-06-07 12:48:52 +02:00
|
|
|
'packet-metadata.h',
|
2007-03-18 14:06:51 -07:00
|
|
|
'uv-trace-source.h',
|
|
|
|
|
'sv-trace-source.h',
|
|
|
|
|
'fv-trace-source.h',
|
2006-11-03 09:04:12 +01:00
|
|
|
'pcap-writer.h',
|
2007-03-18 14:06:51 -07:00
|
|
|
'callback-trace-source.h',
|
|
|
|
|
'trace-context.h',
|
|
|
|
|
'trace-resolver.h',
|
|
|
|
|
'empty-trace-resolver.h',
|
|
|
|
|
'composite-trace-resolver.h',
|
|
|
|
|
'array-trace-resolver.h',
|
|
|
|
|
'trace-root.h',
|
|
|
|
|
'terminal-trace-resolver.h',
|
2007-03-22 17:20:15 -04:00
|
|
|
'data-rate.h',
|
2006-11-03 09:04:12 +01:00
|
|
|
])
|
2006-08-29 17:34:37 +02:00
|
|
|
|
2007-07-06 15:07:03 -07:00
|
|
|
#
|
|
|
|
|
# The Node module
|
|
|
|
|
#
|
2007-02-08 11:11:24 +01:00
|
|
|
node = build.Ns3Module ('node', 'src/node')
|
|
|
|
|
ns3.add (node)
|
2007-02-12 19:28:48 +01:00
|
|
|
node.add_deps (['core', 'common', 'simulator'])
|
2007-02-08 11:11:24 +01:00
|
|
|
node.add_sources ([
|
2007-06-04 16:21:05 +02:00
|
|
|
'node.cc',
|
2007-05-04 15:04:07 +02:00
|
|
|
'ipv4-address.cc',
|
|
|
|
|
'net-device.cc',
|
|
|
|
|
'mac-address.cc',
|
|
|
|
|
'llc-snap-header.cc',
|
|
|
|
|
'ipv4-route.cc',
|
|
|
|
|
'queue.cc',
|
2007-06-12 11:04:00 +02:00
|
|
|
'drop-tail-queue.cc',
|
2007-05-04 15:04:07 +02:00
|
|
|
'channel.cc',
|
|
|
|
|
'node-list.cc',
|
|
|
|
|
'socket.cc',
|
2007-06-04 17:54:56 +02:00
|
|
|
'socket-factory.cc',
|
2007-06-04 18:01:09 +02:00
|
|
|
'udp.cc',
|
2007-06-04 18:05:36 +02:00
|
|
|
'ipv4.cc',
|
2007-05-13 09:46:38 +02:00
|
|
|
'application.cc',
|
2007-05-04 15:04:07 +02:00
|
|
|
])
|
|
|
|
|
node.add_inst_headers ([
|
2007-06-04 16:21:05 +02:00
|
|
|
'node.h',
|
2007-05-04 15:04:07 +02:00
|
|
|
'ipv4-address.h',
|
|
|
|
|
'net-device.h',
|
|
|
|
|
'mac-address.h',
|
|
|
|
|
'ipv4-route.h',
|
|
|
|
|
'queue.h',
|
2007-06-12 11:04:00 +02:00
|
|
|
'drop-tail-queue.h',
|
2007-05-04 15:04:07 +02:00
|
|
|
'llc-snap-header.h',
|
|
|
|
|
'channel.h',
|
|
|
|
|
'node-list.h',
|
|
|
|
|
'socket.h',
|
2007-06-04 17:54:56 +02:00
|
|
|
'socket-factory.h',
|
2007-06-04 18:01:09 +02:00
|
|
|
'udp.h',
|
2007-06-04 18:05:36 +02:00
|
|
|
'ipv4.h',
|
2007-05-13 09:46:38 +02:00
|
|
|
'application.h',
|
2007-05-04 15:04:07 +02:00
|
|
|
])
|
|
|
|
|
|
2007-07-06 15:07:03 -07:00
|
|
|
#
|
|
|
|
|
# The Applications module
|
|
|
|
|
#
|
2007-05-04 15:04:07 +02:00
|
|
|
applications = build.Ns3Module ('applications', 'src/applications')
|
|
|
|
|
ns3.add (applications)
|
|
|
|
|
applications.add_deps (['node'])
|
|
|
|
|
applications.add_sources ([
|
|
|
|
|
'onoff-application.cc',
|
|
|
|
|
])
|
|
|
|
|
applications.add_inst_headers ([
|
|
|
|
|
'onoff-application.h',
|
|
|
|
|
])
|
|
|
|
|
|
2007-07-06 15:07:03 -07:00
|
|
|
#
|
|
|
|
|
# The Internet Node module
|
|
|
|
|
#
|
2007-05-04 15:04:07 +02:00
|
|
|
inode = build.Ns3Module ('internet-node', 'src/internet-node')
|
|
|
|
|
ns3.add (inode)
|
2007-07-06 16:21:50 -07:00
|
|
|
inode.add_deps (['node', 'routing'])
|
2007-05-04 15:04:07 +02:00
|
|
|
inode.add_sources ([
|
|
|
|
|
'internet-node.cc',
|
2007-02-08 15:37:48 +01:00
|
|
|
'l3-demux.cc',
|
2007-02-12 13:06:05 +01:00
|
|
|
'l3-protocol.cc',
|
2007-02-08 15:37:48 +01:00
|
|
|
'ipv4-l4-demux.cc',
|
2007-02-10 11:29:44 +01:00
|
|
|
'ipv4-l4-protocol.cc',
|
2007-02-08 16:01:58 +01:00
|
|
|
'ipv4-header.cc',
|
|
|
|
|
'udp-header.cc',
|
|
|
|
|
'ipv4-checksum.cc',
|
2007-02-09 17:54:49 +01:00
|
|
|
'ipv4-interface.cc',
|
2007-06-04 16:42:10 +02:00
|
|
|
'ipv4-l3-protocol.cc',
|
2007-02-09 19:40:19 +01:00
|
|
|
'ipv4-end-point.cc',
|
2007-06-04 17:18:02 +02:00
|
|
|
'udp-l4-protocol.cc',
|
2007-02-12 15:55:49 +01:00
|
|
|
'arp-header.cc',
|
|
|
|
|
'arp-cache.cc',
|
|
|
|
|
'arp-ipv4-interface.cc',
|
2007-06-04 16:54:36 +02:00
|
|
|
'arp-l3-protocol.cc',
|
2007-02-12 19:28:48 +01:00
|
|
|
'ipv4-loopback-interface.cc',
|
|
|
|
|
'header-utils.cc',
|
2007-04-30 16:23:10 +02:00
|
|
|
'udp-socket.cc',
|
2007-05-02 19:14:34 +02:00
|
|
|
'ipv4-end-point-demux.cc',
|
2007-06-04 17:14:59 +02:00
|
|
|
'arp-private.cc',
|
2007-06-04 16:59:51 +02:00
|
|
|
'ipv4-impl.cc',
|
2007-06-04 17:06:03 +02:00
|
|
|
'ipv4-private.cc',
|
2007-05-04 15:04:07 +02:00
|
|
|
'ascii-trace.cc',
|
|
|
|
|
'pcap-trace.cc',
|
2007-06-04 17:13:21 +02:00
|
|
|
'udp-impl.cc',
|
2007-05-04 15:04:07 +02:00
|
|
|
])
|
|
|
|
|
inode.add_headers ([
|
2007-02-08 16:01:58 +01:00
|
|
|
'ipv4-checksum.h',
|
2007-02-12 15:55:49 +01:00
|
|
|
'arp-header.h',
|
2007-05-17 07:51:22 +02:00
|
|
|
'arp-cache.h',
|
2007-06-04 16:54:36 +02:00
|
|
|
'arp-l3-protocol.h',
|
2007-02-12 19:28:48 +01:00
|
|
|
'ipv4-loopback-interface.h',
|
2007-02-08 15:37:48 +01:00
|
|
|
'l3-demux.h',
|
2007-02-12 19:28:48 +01:00
|
|
|
'header-utils.h',
|
2007-04-30 10:00:34 +02:00
|
|
|
'arp-ipv4-interface.h',
|
2007-04-30 16:23:10 +02:00
|
|
|
'udp-socket.h',
|
2007-06-04 17:18:02 +02:00
|
|
|
'udp-l4-protocol.h',
|
2007-06-04 17:14:59 +02:00
|
|
|
'arp-private.h',
|
2007-06-04 16:59:51 +02:00
|
|
|
'ipv4-impl.h',
|
2007-06-04 17:06:03 +02:00
|
|
|
'ipv4-private.h',
|
2007-06-04 16:42:10 +02:00
|
|
|
'ipv4-l3-protocol.h',
|
2007-05-03 15:24:34 +02:00
|
|
|
'l3-protocol.h',
|
|
|
|
|
'ipv4-l4-protocol.h',
|
|
|
|
|
'ipv4-l4-demux.h',
|
|
|
|
|
'ipv4-end-point-demux.h',
|
|
|
|
|
'ipv4-end-point.h',
|
2007-02-21 23:09:42 +01:00
|
|
|
'ipv4-header.h',
|
2007-05-04 15:04:07 +02:00
|
|
|
'ipv4-interface.h',
|
2007-07-09 22:03:41 -07:00
|
|
|
'udp-header.h',
|
2007-05-14 09:26:32 +02:00
|
|
|
'sgi-hashmap.h',
|
2007-06-04 17:13:21 +02:00
|
|
|
'udp-impl.h',
|
2007-05-04 15:04:07 +02:00
|
|
|
])
|
|
|
|
|
inode.add_inst_headers ([
|
|
|
|
|
'internet-node.h',
|
2007-03-28 19:26:58 +02:00
|
|
|
'ascii-trace.h',
|
2007-03-29 23:24:10 +02:00
|
|
|
'pcap-trace.h',
|
2007-06-28 11:48:37 +02:00
|
|
|
'ipv4-header.h',
|
|
|
|
|
'udp-header.h',
|
2007-05-04 15:04:07 +02:00
|
|
|
])
|
|
|
|
|
|
2007-07-06 15:07:03 -07:00
|
|
|
#
|
|
|
|
|
# The Point-to-point module
|
|
|
|
|
#
|
2007-03-25 06:59:11 -07:00
|
|
|
p2p = build.Ns3Module ('p2p', 'src/devices/p2p')
|
|
|
|
|
ns3.add (p2p)
|
|
|
|
|
p2p.add_deps (['node'])
|
|
|
|
|
p2p.add_sources ([
|
|
|
|
|
'p2p-net-device.cc',
|
|
|
|
|
'p2p-channel.cc',
|
|
|
|
|
'p2p-topology.cc',
|
2007-02-22 10:04:54 +01:00
|
|
|
])
|
2007-03-25 06:59:11 -07:00
|
|
|
p2p.add_inst_headers ([
|
|
|
|
|
'p2p-net-device.h',
|
|
|
|
|
'p2p-channel.h',
|
|
|
|
|
'p2p-topology.h',
|
2007-02-22 10:04:54 +01:00
|
|
|
])
|
|
|
|
|
|
2007-07-06 15:07:03 -07:00
|
|
|
#
|
|
|
|
|
# The Routing module
|
|
|
|
|
#
|
|
|
|
|
routing = build.Ns3Module('routing', 'src/routing')
|
2007-07-08 13:55:03 -07:00
|
|
|
routing.add_deps(['core', 'node'])
|
2007-07-06 15:07:03 -07:00
|
|
|
ns3.add(routing)
|
|
|
|
|
routing.add_sources([
|
|
|
|
|
'routing-environment.cc',
|
|
|
|
|
'static-router.cc',
|
2007-07-06 16:44:58 -07:00
|
|
|
'static-route-manager.cc',
|
2007-07-20 14:21:21 -07:00
|
|
|
'static-route-manager-impl.cc',
|
2007-07-11 13:18:01 -07:00
|
|
|
'candidate-queue.cc',
|
2007-07-06 15:07:03 -07:00
|
|
|
])
|
|
|
|
|
routing.add_headers ([
|
2007-07-20 14:21:21 -07:00
|
|
|
'candidate-queue.h',
|
|
|
|
|
'static-route-manager-impl.h',
|
2007-07-06 15:07:03 -07:00
|
|
|
])
|
|
|
|
|
routing.add_inst_headers([
|
|
|
|
|
'routing-environment.h',
|
|
|
|
|
'static-router.h',
|
2007-07-06 16:44:58 -07:00
|
|
|
'static-route-manager.h',
|
2007-07-06 15:07:03 -07:00
|
|
|
])
|
2006-08-29 17:34:37 +02:00
|
|
|
|
|
|
|
|
# utils
|
2006-10-23 09:24:36 +02:00
|
|
|
run_tests = build.Ns3Module('run-tests', 'utils')
|
|
|
|
|
ns3.add(run_tests)
|
|
|
|
|
run_tests.set_executable()
|
2007-07-08 13:55:03 -07:00
|
|
|
run_tests.add_deps(['core', 'simulator', 'common', 'routing'])
|
2006-10-23 09:24:36 +02:00
|
|
|
run_tests.add_source('run-tests.cc')
|
2006-08-29 17:34:37 +02:00
|
|
|
|
2007-05-17 16:45:03 +02:00
|
|
|
bench_object = build.Ns3Module('bench-object', 'utils')
|
|
|
|
|
ns3.add(bench_object)
|
|
|
|
|
bench_object.set_executable()
|
|
|
|
|
bench_object.add_deps(['core'])
|
|
|
|
|
bench_object.add_source('bench-object.cc')
|
|
|
|
|
|
2006-10-23 09:24:36 +02:00
|
|
|
bench_packets = build.Ns3Module('bench-packets', 'utils')
|
2007-06-02 19:10:35 +02:00
|
|
|
ns3.add(bench_packets)
|
2006-10-23 09:24:36 +02:00
|
|
|
bench_packets.set_executable()
|
2007-06-02 19:10:35 +02:00
|
|
|
bench_packets.add_deps (['core', 'common'])
|
2006-10-23 09:24:36 +02:00
|
|
|
bench_packets.add_source('bench-packets.cc')
|
2006-08-29 17:34:37 +02:00
|
|
|
|
2006-10-23 09:24:36 +02:00
|
|
|
bench_simu = build.Ns3Module('bench-simulator', 'utils')
|
|
|
|
|
ns3.add(bench_simu)
|
|
|
|
|
bench_simu.set_executable()
|
|
|
|
|
bench_simu.add_dep('simulator')
|
|
|
|
|
bench_simu.add_source('bench-simulator.cc')
|
2006-08-29 17:34:37 +02:00
|
|
|
|
2006-12-12 14:59:13 +01:00
|
|
|
replay_simu = build.Ns3Module('replay-simulation', 'utils')
|
|
|
|
|
ns3.add(replay_simu)
|
|
|
|
|
replay_simu.set_executable()
|
|
|
|
|
replay_simu.add_dep('simulator')
|
|
|
|
|
replay_simu.add_source('replay-simulation.cc')
|
|
|
|
|
|
2006-08-29 17:34:37 +02:00
|
|
|
|
|
|
|
|
# samples
|
2007-02-07 08:49:54 +01:00
|
|
|
sample_debug = build.Ns3Module('sample-debug', 'samples')
|
|
|
|
|
sample_debug.set_executable()
|
|
|
|
|
ns3.add(sample_debug)
|
|
|
|
|
sample_debug.add_dep('core')
|
|
|
|
|
sample_debug.add_source('main-debug.cc')
|
|
|
|
|
sample_debug.add_source('main-debug-other.cc')
|
|
|
|
|
|
2007-06-12 23:40:14 +02:00
|
|
|
sample_packet_printer = build.Ns3Module('sample-packet-printer', 'samples')
|
|
|
|
|
sample_packet_printer.set_executable()
|
|
|
|
|
ns3.add(sample_packet_printer)
|
2007-06-28 11:48:37 +02:00
|
|
|
sample_packet_printer.add_deps (['common', 'internet-node'])
|
2007-06-12 23:40:14 +02:00
|
|
|
sample_packet_printer.add_source('main-packet-printer.cc')
|
|
|
|
|
|
2006-10-23 09:24:36 +02:00
|
|
|
sample_callback = build.Ns3Module('sample-callback', 'samples')
|
|
|
|
|
sample_callback.set_executable()
|
|
|
|
|
ns3.add(sample_callback)
|
|
|
|
|
sample_callback.add_dep('core')
|
|
|
|
|
sample_callback.add_source('main-callback.cc')
|
|
|
|
|
|
2006-12-22 09:03:09 +01:00
|
|
|
sample_ptr = build.Ns3Module('sample-ptr', 'samples')
|
|
|
|
|
sample_ptr.set_executable()
|
|
|
|
|
ns3.add(sample_ptr)
|
|
|
|
|
sample_ptr.add_dep('core')
|
|
|
|
|
sample_ptr.add_source('main-ptr.cc')
|
|
|
|
|
|
2006-10-23 09:24:36 +02:00
|
|
|
sample_trace = build.Ns3Module('sample-trace', 'samples')
|
2007-03-18 14:06:51 -07:00
|
|
|
#ns3.add(sample_trace)
|
2006-10-23 09:24:36 +02:00
|
|
|
sample_trace.add_dep('common')
|
|
|
|
|
sample_trace.set_executable()
|
|
|
|
|
sample_trace.add_source('main-trace.cc')
|
|
|
|
|
|
2007-06-13 23:13:21 -07:00
|
|
|
sample_query_interface = build.Ns3Module('sample-query-interface', 'samples')
|
|
|
|
|
ns3.add(sample_query_interface)
|
|
|
|
|
sample_query_interface.add_dep('common')
|
|
|
|
|
sample_query_interface.set_executable()
|
|
|
|
|
sample_query_interface.add_source('main-query-interface.cc')
|
|
|
|
|
|
2006-10-23 09:24:36 +02:00
|
|
|
sample_simu = build.Ns3Module('sample-simulator', 'samples')
|
|
|
|
|
ns3.add(sample_simu)
|
|
|
|
|
sample_simu.set_executable()
|
|
|
|
|
sample_simu.add_dep('simulator')
|
|
|
|
|
sample_simu.add_source('main-simulator.cc')
|
|
|
|
|
|
|
|
|
|
sample_packet = build.Ns3Module('sample-packet', 'samples')
|
|
|
|
|
ns3.add(sample_packet)
|
|
|
|
|
sample_packet.set_executable()
|
|
|
|
|
sample_packet.add_dep('common')
|
|
|
|
|
sample_packet.add_source('main-packet.cc')
|
|
|
|
|
|
|
|
|
|
sample_test = build.Ns3Module('sample-test', 'samples')
|
|
|
|
|
sample_test.set_executable()
|
|
|
|
|
ns3.add(sample_test)
|
|
|
|
|
sample_test.add_dep('core')
|
|
|
|
|
sample_test.add_source('main-test.cc')
|
|
|
|
|
|
2007-02-12 19:28:48 +01:00
|
|
|
sample_simple = build.Ns3Module('sample-simple', 'samples')
|
|
|
|
|
sample_simple.set_executable()
|
|
|
|
|
ns3.add(sample_simple)
|
2007-07-06 15:07:03 -07:00
|
|
|
sample_simple.add_deps(['core', 'simulator', 'node', 'internet-node', 'routing'])
|
2007-02-12 19:28:48 +01:00
|
|
|
sample_simple.add_source('main-simple.cc')
|
|
|
|
|
|
2007-02-12 20:15:19 +01:00
|
|
|
sample_sp2p = build.Ns3Module('sample-simple-p2p', 'samples')
|
|
|
|
|
sample_sp2p.set_executable()
|
2007-03-18 14:06:51 -07:00
|
|
|
#n3.add(sample_sp2p)
|
2007-05-04 15:04:07 +02:00
|
|
|
sample_sp2p.add_deps(['core', 'simulator', 'node', 'internet-node', 'p2p'])
|
2007-02-12 20:15:19 +01:00
|
|
|
sample_sp2p.add_source('main-simple-p2p.cc')
|
|
|
|
|
|
2007-05-02 15:23:35 -04:00
|
|
|
sample_default_value = build.Ns3Module('sample-default-value', 'samples')
|
|
|
|
|
sample_default_value.set_executable()
|
|
|
|
|
ns3.add(sample_default_value)
|
|
|
|
|
sample_default_value.add_deps(['core', 'simulator', 'node', 'p2p'])
|
|
|
|
|
sample_default_value.add_source('main-default-value.cc')
|
|
|
|
|
|
2007-05-25 21:43:23 +02:00
|
|
|
sample_object = build.Ns3Module('sample-object', 'samples')
|
|
|
|
|
sample_object.set_executable()
|
|
|
|
|
ns3.add(sample_object)
|
|
|
|
|
sample_object.add_deps(['core'])
|
|
|
|
|
sample_object.add_source('main-object.cc')
|
|
|
|
|
|
2007-05-25 21:53:24 +02:00
|
|
|
sample_component_manager = build.Ns3Module('sample-component-manager', 'samples')
|
|
|
|
|
sample_component_manager.set_executable()
|
|
|
|
|
ns3.add(sample_component_manager)
|
|
|
|
|
sample_component_manager.add_deps(['core'])
|
|
|
|
|
sample_component_manager.add_source('main-component-manager.cc')
|
|
|
|
|
|
2007-03-19 21:01:35 -07:00
|
|
|
# examples
|
2007-03-25 06:59:11 -07:00
|
|
|
example_simple_p2p = build.Ns3Module('simple-p2p', 'examples')
|
|
|
|
|
example_simple_p2p.set_executable()
|
|
|
|
|
ns3.add(example_simple_p2p)
|
2007-07-06 15:07:03 -07:00
|
|
|
example_simple_p2p.add_deps(['core', 'simulator', 'node', 'p2p', 'internet-node', 'applications', 'routing'])
|
2007-03-25 06:59:11 -07:00
|
|
|
example_simple_p2p.add_source('simple-p2p.cc')
|
2007-02-15 21:54:16 -08:00
|
|
|
|
2007-07-06 13:13:43 -07:00
|
|
|
example_static_routing = build.Ns3Module('simple-static-routing', 'examples')
|
|
|
|
|
example_static_routing.set_executable()
|
|
|
|
|
ns3.add(example_static_routing)
|
2007-07-06 15:07:03 -07:00
|
|
|
example_static_routing.add_deps(['core', 'simulator', 'node', 'p2p', 'internet-node', 'applications', 'routing'])
|
2007-07-06 13:13:43 -07:00
|
|
|
example_static_routing.add_source('simple-static-routing.cc')
|
|
|
|
|
|
2006-10-23 09:24:36 +02:00
|
|
|
ns3.generate_dependencies()
|