SConstruct
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Fri, 16 Feb 2007 09:23:22 +0100
changeset 278 fc1133fee95d
parent 276 58651aff818b
child 280 2fe90883716a
permissions -rw-r--r--
add fatal-error.h header
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',
265
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    21
    'debug.cc',
276
58651aff818b split out assert from debug.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 268
diff changeset
    22
    'assert.cc',
223
80f1c6b76999 initial go at smart pointer implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 197
diff changeset
    23
    'ptr.cc',
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    24
    'test.cc'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    25
    ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    26
env = Environment()
18
a579c71fdb2a compile these classes for darwin
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 15
diff changeset
    27
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
    28
    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
    29
    core.add_sources([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    30
        'unix-system-wall-clock-ms.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    31
        'unix-system-file.cc'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    32
        ])
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
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
    34
    core.add_sources([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    35
        'win32-system-wall-clock-ms.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    36
        'win32-system-file.cc'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    37
        ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    38
core.add_inst_headers([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    39
    'system-file.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    40
    'system-wall-clock-ms.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    41
    'reference-list.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    42
    'callback.h',
223
80f1c6b76999 initial go at smart pointer implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 197
diff changeset
    43
    'ptr.h',
265
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    44
    'debug.h',
276
58651aff818b split out assert from debug.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 268
diff changeset
    45
    'assert.h',
278
fc1133fee95d add fatal-error.h header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 276
diff changeset
    46
    'fatal-error.h',
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    47
    'test.h'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    48
    ])
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    49
265
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    50
def config_core (env, config):
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    51
    retval = []
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    52
    # XXX This check is primitive but it should be
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    53
    # good enough for now.
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    54
    if config.CheckCHeader ('stdlib.h') == 1:
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    55
        retval.append ('#define HAVE_STDLIB_H 1')
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    56
        retval.append ('#define HAVE_GETENV 1')
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    57
    else:
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    58
        retval.append ('#undef HAVE_STDLIB_H')
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    59
        retval.append ('#undef HAVE_GETENV')
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    60
    return retval
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    61
core.add_config (config_core)
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    62
fb0c531530f2 add debugging support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 226
diff changeset
    63
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    64
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    65
#
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    66
# The Simu module
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    67
#
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    68
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
    69
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
    70
simu.add_dep('core')
173
c42687a343e1 add dep on math library
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 171
diff changeset
    71
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
    72
simu.add_sources([
168
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    73
    'high-precision.cc',
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    74
    'time.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    75
    'event-id.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    76
    'scheduler.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    77
    'scheduler-factory.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    78
    'scheduler-list.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    79
    'scheduler-heap.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    80
    'scheduler-map.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    81
    'event-impl.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    82
    'simulator.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    83
    ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    84
simu.add_headers([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    85
    'scheduler-heap.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    86
    'scheduler-map.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    87
    'scheduler-list.h'
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    88
    ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
    89
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
    90
    'high-precision.h',
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    91
    'nstime.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    92
    'event-id.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    93
    'event-impl.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    94
    'simulator.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    95
    'scheduler.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    96
    'scheduler-factory.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
    97
    ])
168
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
    98
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
    99
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
   100
    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
   101
    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
   102
else:
171
64cafe7b7baf make sure cairo internal header is installed when needed.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 170
diff changeset
   103
    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
   104
        '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
   105
        '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
   106
        ])
170
9f68cb694f40 implement 128 bit arithmetic with cairo's internal types
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 168
diff changeset
   107
    simu.add_sources ([
9f68cb694f40 implement 128 bit arithmetic with cairo's internal types
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 168
diff changeset
   108
        '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
   109
        'cairo-wideint.c',
9f68cb694f40 implement 128 bit arithmetic with cairo's internal types
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 168
diff changeset
   110
        ])
168
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
   111
165
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   112
def config_simulator (env, config):
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   113
    retval = []
168
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
   114
    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
   115
    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
   116
        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
   117
    else:
037cd2b37c67 split high precision implementations in different files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 165
diff changeset
   118
        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
   119
    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
   120
        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
   121
    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
   122
        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
   123
    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
   124
        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
   125
    return retval
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   126
simu.add_config (config_simulator)
33a2c446e6dc add needed configure magic and header includes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 153
diff changeset
   127
    
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   128
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   129
#
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   130
# The Common module
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   131
#
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   132
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
   133
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
   134
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
   135
common.add_sources([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   136
    'buffer.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   137
    'header.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   138
    'trailer.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   139
    'packet.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   140
    'tags.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   141
    'pcap-writer.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   142
    'trace-container.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   143
    'variable-tracer-test.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   144
    'stream-tracer-test.cc',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   145
    ])
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   146
common.add_inst_headers([
152
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   147
    'buffer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   148
    'header.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   149
    'trailer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   150
    'tags.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   151
    'packet.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   152
    'ui-variable-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   153
    'si-variable-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   154
    'f-variable-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   155
    'callback-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   156
    'stream-tracer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   157
    'trace-container.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   158
    'pcap-writer.h',
f3e570a78662 fix python indent.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 136
diff changeset
   159
    ])
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   160
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   161
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   162
# utils
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   163
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
   164
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
   165
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
   166
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
   167
run_tests.add_source('run-tests.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   168
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   169
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
   170
#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
   171
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
   172
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
   173
bench_packets.add_source('bench-packets.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   174
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   175
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
   176
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
   177
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
   178
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
   179
bench_simu.add_source('bench-simulator.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   180
197
8346ab3528bf fix the Simulation event replayer: make it build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 173
diff changeset
   181
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
   182
ns3.add(replay_simu)
8346ab3528bf fix the Simulation event replayer: make it build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 173
diff changeset
   183
replay_simu.set_executable()
8346ab3528bf fix the Simulation event replayer: make it build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 173
diff changeset
   184
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
   185
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
   186
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   187
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   188
# samples
268
a43b635230e8 test and debug the debug support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 265
diff changeset
   189
sample_debug = build.Ns3Module('sample-debug', 'samples')
a43b635230e8 test and debug the debug support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 265
diff changeset
   190
sample_debug.set_executable()
a43b635230e8 test and debug the debug support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 265
diff changeset
   191
ns3.add(sample_debug)
a43b635230e8 test and debug the debug support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 265
diff changeset
   192
sample_debug.add_dep('core')
a43b635230e8 test and debug the debug support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 265
diff changeset
   193
sample_debug.add_source('main-debug.cc')
a43b635230e8 test and debug the debug support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 265
diff changeset
   194
sample_debug.add_source('main-debug-other.cc')
a43b635230e8 test and debug the debug support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 265
diff changeset
   195
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   196
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
   197
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
   198
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
   199
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
   200
sample_callback.add_source('main-callback.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   201
226
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   202
sample_ptr = build.Ns3Module('sample-ptr', 'samples')
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   203
sample_ptr.set_executable()
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   204
ns3.add(sample_ptr)
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   205
sample_ptr.add_dep('core')
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   206
sample_ptr.add_source('main-ptr.cc')
1f8c4e56bc86 add smart pointer sample code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 223
diff changeset
   207
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   208
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
   209
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
   210
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
   211
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
   212
sample_trace.add_source('main-trace.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   213
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   214
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
   215
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
   216
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
   217
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
   218
sample_simu.add_source('main-simulator.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   219
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   220
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
   221
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
   222
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
   223
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
   224
sample_packet.add_source('main-packet.cc')
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   225
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   226
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
   227
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
   228
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
   229
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
   230
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
   231
8
cb4ae01ba180 add scons build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   232
136
4faf1726e8ff make python code more Pep8 conformant (patch from Gustavo Carneiro)
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 128
diff changeset
   233
ns3.generate_dependencies()