SConstruct
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Thu, 08 Feb 2007 15:37:48 +0100
changeset 234 6124bda39cb3
parent 232 8cd08910f9a1
child 235 190d5bef3254
permissions -rw-r--r--
code from all trees.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
124
c0d0f7bebb73 add magic emacs incantation for python
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 108
diff changeset
     1
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
import os.path
62
0ec2ff3a483f split SConstruct to make it more readable
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 61
diff changeset
     3
import build
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
     5
ns3 = build.Ns3()
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
ns3.build_dir = 'build-dir'
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
ns3.version = '0.0.1'
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
ns3.name = 'ns3'
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
     9
ns3.doxygen_config = os.path.join('doc', 'doxygen.conf')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    10
ns3.add_extra_dist(os.path.join('doc', 'main.txt'))
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
#
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
# The Core module
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
#
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    16
core = build.Ns3Module('core', 'src/core')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    17
ns3.add(core)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    18
core.add_sources([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    19
    'reference-list-test.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    20
    'callback-test.cc',
223
80f1c6b76999 initial go at smart pointer implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 197
diff changeset
    21
    'ptr.cc',
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    22
    'test.cc'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    23
    ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    24
env = Environment()
18
a579c71fdb2a compile these classes for darwin
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 15
diff changeset
    25
if env['PLATFORM'] == 'posix' or env['PLATFORM'] == 'darwin':
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    26
    core.add_external_dep('pthread')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    27
    core.add_sources([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    28
        'unix-system-wall-clock-ms.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    29
        'unix-system-file.cc'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    30
        ])
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
elif env['PLATFORM'] == 'win32':
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    32
    core.add_sources([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    33
        'win32-system-wall-clock-ms.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    34
        'win32-system-file.cc'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    35
        ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    36
core.add_inst_headers([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    37
    'system-file.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    38
    'system-wall-clock-ms.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    39
    'reference-list.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    40
    'callback.h',
223
80f1c6b76999 initial go at smart pointer implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 197
diff changeset
    41
    'ptr.h',
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    42
    'test.h'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    43
    ])
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    44
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    46
#
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    47
# The Simu module
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
#
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    49
simu = build.Ns3Module('simulator', 'src/simulator')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    50
ns3.add(simu)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    51
simu.add_dep('core')
173
c42687a343e1 add dep on math library
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 171
diff changeset
    52
simu.add_external_dep('m')
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    53
simu.add_sources([
168
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    54
    'high-precision.cc',
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    55
    'time.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    56
    'event-id.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    57
    'scheduler.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    58
    'scheduler-factory.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    59
    'scheduler-list.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    60
    'scheduler-heap.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    61
    'scheduler-map.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    62
    'event-impl.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    63
    'simulator.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    64
    ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    65
simu.add_headers([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    66
    'scheduler-heap.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    67
    'scheduler-map.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    68
    'scheduler-list.h'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    69
    ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    70
simu.add_inst_headers([
153
22c3d53dbae3 Add HighPrecision class used for external Time bookkeeping
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 152
diff changeset
    71
    'high-precision.h',
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    72
    'nstime.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    73
    'event-id.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    74
    'event-impl.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    75
    'simulator.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    76
    'scheduler.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    77
    'scheduler-factory.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    78
    ])
168
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    79
high_precision_as_double = ARGUMENTS.get('high-precision-as-double', 'n')
170
9f68cb694f40 implement 128 bit arithmetic with cairo's internal types
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 168
diff changeset
    80
if high_precision_as_double == 'y':
168
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    81
    simu.add_inst_header ('high-precision-double.h')
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    82
    simu.add_source ('high-precision-double.cc')
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    83
else:
171
64cafe7b7baf make sure cairo internal header is installed when needed.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 170
diff changeset
    84
    simu.add_inst_headers ([
64cafe7b7baf make sure cairo internal header is installed when needed.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 170
diff changeset
    85
        'high-precision-128.h',
64cafe7b7baf make sure cairo internal header is installed when needed.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 170
diff changeset
    86
        'cairo-wideint-private.h'
64cafe7b7baf make sure cairo internal header is installed when needed.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 170
diff changeset
    87
        ])
170
9f68cb694f40 implement 128 bit arithmetic with cairo's internal types
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 168
diff changeset
    88
    simu.add_sources ([
9f68cb694f40 implement 128 bit arithmetic with cairo's internal types
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 168
diff changeset
    89
        'high-precision-128.cc',
9f68cb694f40 implement 128 bit arithmetic with cairo's internal types
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 168
diff changeset
    90
        'cairo-wideint.c',
9f68cb694f40 implement 128 bit arithmetic with cairo's internal types
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 168
diff changeset
    91
        ])
168
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    92
165
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
    93
def config_simulator (env, config):
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
    94
    retval = []
168
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    95
    high_precision_as_double = ARGUMENTS.get('high-precision-as-double', 'n')
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    96
    if high_precision_as_double == 'y':
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    97
        retval.append ('#define USE_HIGH_PRECISION_DOUBLE 1')
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    98
    else:
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    99
        retval.append ('#undef USE_HIGH_PRECISION_DOUBLE')
165
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   100
    if config.CheckCHeader ('stdint.h') == 1:
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   101
        retval.append ('#define HAVE_STDINT_H 1')
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   102
    elif config.CheckCHeader ('inttypes.h') == 1:
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   103
        retval.append ('#define HAVE_INTTYPES_H 1')
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   104
    elif config.CheckCHeader ('sys/inttypes.h') == 1:
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   105
        retval.append ('#define HAVE_SYS_INT_TYPES_H 1')
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   106
    return retval
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   107
simu.add_config (config_simulator)
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   108
    
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   109
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   110
#
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   111
# The Common module
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   112
#
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   113
common = build.Ns3Module('common', 'src/common')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   114
common.add_deps(['core', 'simulator'])
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   115
ns3.add(common)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   116
common.add_sources([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   117
    'buffer.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   118
    'header.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   119
    'trailer.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   120
    'packet.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   121
    'tags.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   122
    'pcap-writer.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   123
    'trace-container.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   124
    'variable-tracer-test.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   125
    'stream-tracer-test.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   126
    ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   127
common.add_inst_headers([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   128
    'buffer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   129
    'header.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   130
    'trailer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   131
    'tags.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   132
    'packet.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   133
    'ui-variable-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   134
    'si-variable-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   135
    'f-variable-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   136
    'callback-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   137
    'stream-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   138
    'trace-container.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   139
    'pcap-writer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   140
    ])
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   141
232
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   142
node = build.Ns3Module ('node', 'src/node')
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   143
ns3.add (node)
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   144
node.add_deps (['core'])
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   145
node.add_sources ([
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   146
    'node.cc',
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   147
    'capability.cc',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   148
    'l3-demux.cc',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   149
    'ipv4-l4-demux.cc',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   150
    'ipv4-address.cc',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   151
    'internet-node.cc',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   152
    'net-device.cc',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   153
    'mac-address.cc'
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   154
    ])
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   155
node.add_headers ([
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   156
    'ipv4-address.h',
232
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   157
    ])
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   158
node.add_inst_headers ([
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   159
    'node.h',
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   160
    'capability.h',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   161
    'l3-demux.h',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   162
    'l3-protocol.h',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   163
    'ipv4-l4-demux.h',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   164
    'ipv4-l4-protocol.h',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   165
    'net-device-list.h',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   166
    'internet-node.h',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   167
    'net-device.h',
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 232
diff changeset
   168
    'mac-address.h'
232
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   169
    ])
8cd08910f9a1 initial node base class from george's repo.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
   170
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   171
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   172
# utils
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   173
run_tests = build.Ns3Module('run-tests', 'utils')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   174
ns3.add(run_tests)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   175
run_tests.set_executable()
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   176
run_tests.add_deps(['core', 'simulator', 'common'])
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   177
run_tests.add_source('run-tests.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   178
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   179
bench_packets = build.Ns3Module('bench-packets', 'utils')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   180
#ns3.add(bench_packets)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   181
bench_packets.set_executable()
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   182
bench_packets.add_dep('core')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   183
bench_packets.add_source('bench-packets.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   184
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   185
bench_simu = build.Ns3Module('bench-simulator', 'utils')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   186
ns3.add(bench_simu)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   187
bench_simu.set_executable()
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   188
bench_simu.add_dep('simulator')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   189
bench_simu.add_source('bench-simulator.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   190
197
8346ab3528bf fix the Simulation event replayer: make it build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 173
diff changeset
   191
replay_simu = build.Ns3Module('replay-simulation', 'utils')
8346ab3528bf fix the Simulation event replayer: make it build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 173
diff changeset
   192
ns3.add(replay_simu)
8346ab3528bf fix the Simulation event replayer: make it build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 173
diff changeset
   193
replay_simu.set_executable()
8346ab3528bf fix the Simulation event replayer: make it build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 173
diff changeset
   194
replay_simu.add_dep('simulator')
8346ab3528bf fix the Simulation event replayer: make it build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 173
diff changeset
   195
replay_simu.add_source('replay-simulation.cc')
8346ab3528bf fix the Simulation event replayer: make it build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 173
diff changeset
   196
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   197
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   198
# samples
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   199
sample_callback = build.Ns3Module('sample-callback', 'samples')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   200
sample_callback.set_executable()
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   201
ns3.add(sample_callback)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   202
sample_callback.add_dep('core')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   203
sample_callback.add_source('main-callback.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   204
226
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   205
sample_ptr = build.Ns3Module('sample-ptr', 'samples')
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   206
sample_ptr.set_executable()
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   207
ns3.add(sample_ptr)
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   208
sample_ptr.add_dep('core')
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   209
sample_ptr.add_source('main-ptr.cc')
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   210
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   211
sample_trace = build.Ns3Module('sample-trace', 'samples')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   212
ns3.add(sample_trace)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   213
sample_trace.add_dep('common')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   214
sample_trace.set_executable()
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   215
sample_trace.add_source('main-trace.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   216
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   217
sample_simu = build.Ns3Module('sample-simulator', 'samples')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   218
ns3.add(sample_simu)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   219
sample_simu.set_executable()
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   220
sample_simu.add_dep('simulator')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   221
sample_simu.add_source('main-simulator.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   222
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   223
sample_packet = build.Ns3Module('sample-packet', 'samples')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   224
ns3.add(sample_packet)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   225
sample_packet.set_executable()
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   226
sample_packet.add_dep('common')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   227
sample_packet.add_source('main-packet.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   228
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   229
sample_test = build.Ns3Module('sample-test', 'samples')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   230
sample_test.set_executable()
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   231
ns3.add(sample_test)
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   232
sample_test.add_dep('core')
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   233
sample_test.add_source('main-test.cc')
60
6672664e72bb add sample code for test, add doxygen doc
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 56
diff changeset
   234
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   235
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   236
ns3.generate_dependencies()