src/core/wscript
author Peter D. Barnes, Jr. <barnes26@llnl.gov>
Fri, 14 Mar 2014 15:31:15 -0700
changeset 10661 06fbdb895376
parent 10590 fbc7c02235fb
child 10673 44d19e88713f
permissions -rw-r--r--
[Bug 1882] int64x64 tests trigger valgrind bug
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
     1
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
     2
import sys
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
     3
9277
0f87d1cb030c Upgrade waf to 1.7.10 and fix included wscripts
Vedran Miletić <rivanvx@gmail.com>
parents: 9072
diff changeset
     4
from waflib import Options
7681
0873edb445e8 Bug 1327 - Version installed ns-3 files
Gustavo Carneiro / Vedran Miletić
parents: 7590
diff changeset
     5
import wutils
0873edb445e8 Bug 1327 - Version installed ns-3 files
Gustavo Carneiro / Vedran Miletić
parents: 7590
diff changeset
     6
10590
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
     7
int64x64 = {
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
     8
    # implementation name: [define, env, highprec]
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
     9
    'default': ['INT64X64_USE_128',    'INT64X64_USE_128',    '128-bit integer'], 
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    10
    'int128':  ['INT64X64_USE_128',    'INT64X64_USE_128',    '128-bit integer'], 
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    11
    'cairo':   ['INT64X64_USE_CAIRO',  'INT64X64_USE_CAIRO',  'cairo 128-bit integer'],
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    12
    'double':  ['INT64X64_USE_DOUBLE', 'INT64X64_USE_DOUBLE', 'long double'],
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    13
    }
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    14
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    15
default_int64x64 = 'default'
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    16
7488
72d0c878f3c7 More waf 1.6.7 build fixes
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7487
diff changeset
    17
def options(opt):
10590
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    18
    assert default_int64x64 in int64x64
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    19
    opt.add_option('--int64x64',
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    20
                   action='store',
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    21
                   default=default_int64x64,
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    22
                   help=("Force the choice of int64x64_t implementation "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    23
                         "(normally only for debugging).  "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    24
                         "The supported implementations use int128_t, "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    25
                         "cairo_int128, or long double.  "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    26
                         "The int128_t implementation (the preferred option) "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    27
                         "requires compiler support.  "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    28
                         "The cairo implementation fallback provides exactly "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    29
                         "the same numerical results, but possibly at lower "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    30
                         "execution speed.  The long double implementation "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    31
                         "may not provide the same numerical results because "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    32
                         "the implementation-defined numerical precision may "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    33
                         "be less than the other implementations.  "
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    34
                         "[Allowed Values: %s]"
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    35
                         % ", ".join([repr(p) for p in int64x64.keys()])),
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    36
                   choices=int64x64.keys(),
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    37
                   dest='int64x64_impl')
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    38
                   
10215
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    39
    opt.add_option('--disable-pthread',
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    40
                   help=('Whether to enable the use of POSIX threads'),
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    41
                   action="store_true", default=False,
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    42
                   dest='disable_pthread')
7041
70c8f8e0b08d move int64x64 to src/core/
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 6370
diff changeset
    43
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
    44
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
    45
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
    46
def configure(conf):
10590
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    47
    int64x64_impl = Options.options.int64x64_impl
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    48
    if int64x64_impl == 'default' or int64x64_impl == 'int128':
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    49
        have_uint128  = conf.check_nonfatal(type_name='uint128_t',
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    50
                                            define_name='HAVE_UINT128_T')
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    51
        have__uint128 = conf.check_nonfatal(type_name='__uint128_t',
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    52
                                            define_name='HAVE___UINT128_T')
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    53
        if have_uint128 or have__uint128:
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    54
            int64x64_impl = 'int128'
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    55
        else:
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    56
            int64x64_impl = 'cairo'
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    57
        
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    58
    def_flag, env_flag, highprec = int64x64[int64x64_impl]
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    59
    # Add a tag confirming default choice
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    60
    if Options.options.int64x64_impl == 'default':
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    61
        highprec += ' (default)'
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    62
    conf.define(def_flag, 1)
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    63
    conf.env[env_flag] = 1
fbc7c02235fb Enable selection of high precision int64x64 implementation at configure time.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10215
diff changeset
    64
    conf.msg('Checking high precision implementation', highprec)
7041
70c8f8e0b08d move int64x64 to src/core/
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 6370
diff changeset
    65
7487
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
    66
    conf.check_nonfatal(header_name='stdint.h', define_name='HAVE_STDINT_H')
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
    67
    conf.check_nonfatal(header_name='inttypes.h', define_name='HAVE_INTTYPES_H')
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
    68
    conf.check_nonfatal(header_name='sys/inttypes.h', define_name='HAVE_SYS_INT_TYPES_H')
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
    69
    conf.check_nonfatal(header_name='sys/types.h', define_name='HAVE_SYS_TYPES_H')
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
    70
    conf.check_nonfatal(header_name='sys/stat.h', define_name='HAVE_SYS_STAT_H')
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
    71
    conf.check_nonfatal(header_name='dirent.h', define_name='HAVE_DIRENT_H')
7041
70c8f8e0b08d move int64x64 to src/core/
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 6370
diff changeset
    72
7487
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
    73
    if conf.check_nonfatal(header_name='stdlib.h'):
4064
10222f483860 Upgrade to new WAF, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3781
diff changeset
    74
        conf.define('HAVE_STDLIB_H', 1)
10222f483860 Upgrade to new WAF, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3781
diff changeset
    75
        conf.define('HAVE_GETENV', 1)
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
    76
7487
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
    77
    conf.check_nonfatal(header_name='signal.h', define_name='HAVE_SIGNAL_H')
1018
99476ef5580a Bug #7: Better breakpoints.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1000
diff changeset
    78
4121
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
    79
    # Check for POSIX threads
9277
0f87d1cb030c Upgrade waf to 1.7.10 and fix included wscripts
Vedran Miletić <rivanvx@gmail.com>
parents: 9072
diff changeset
    80
    test_env = conf.env.derive()
4300
b25665f81754 don't use pthread option under cygwin
Craig Dowell <craigdo@ee.washington.edu>
parents: 4150
diff changeset
    81
    if Options.platform != 'darwin' and Options.platform != 'cygwin':
4124
d2ec423e4576 Don't use the flag -pthread on darwin to avoid warning message
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4123
diff changeset
    82
        test_env.append_value('LINKFLAGS', '-pthread')
d2ec423e4576 Don't use the flag -pthread on darwin to avoid warning message
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4123
diff changeset
    83
        test_env.append_value('CXXFLAGS', '-pthread')
d2ec423e4576 Don't use the flag -pthread on darwin to avoid warning message
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4123
diff changeset
    84
        test_env.append_value('CCFLAGS', '-pthread')
4123
383d47fa7444 Fix 'no newline at the end of file' compilation error in the pthread test
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4121
diff changeset
    85
    fragment = r"""
4121
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
    86
#include <pthread.h>
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
    87
int main ()
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
    88
{
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
    89
   pthread_mutex_t m;
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
    90
   pthread_mutex_init (&m, NULL);
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
    91
   return 0;
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
    92
}
4123
383d47fa7444 Fix 'no newline at the end of file' compilation error in the pthread test
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4121
diff changeset
    93
"""
10215
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    94
    if Options.options.disable_pthread:
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    95
        conf.report_optional_feature("Threading", "Threading Primitives",
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    96
                                     False,
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    97
                                     "Disabled by user request (--disable-pthread)")
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    98
        have_pthread = False
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
    99
    else:
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
   100
        have_pthread = conf.check_nonfatal(header_name='pthread.h', define_name='HAVE_PTHREAD_H',
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
   101
                                           env=test_env, fragment=fragment,
b34e722a7db1 Add waf option to disable threads in build.
Gustavo Carneiro <gjcarneiro@gmail.com>
parents: 9959
diff changeset
   102
                                           errmsg='Could not find pthread support (build/config.log for details)')
4121
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
   103
    if have_pthread:
4124
d2ec423e4576 Don't use the flag -pthread on darwin to avoid warning message
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4123
diff changeset
   104
        # darwin accepts -pthread but prints a warning saying it is ignored
4300
b25665f81754 don't use pthread option under cygwin
Craig Dowell <craigdo@ee.washington.edu>
parents: 4150
diff changeset
   105
        if Options.platform != 'darwin' and Options.platform != 'cygwin':
4124
d2ec423e4576 Don't use the flag -pthread on darwin to avoid warning message
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4123
diff changeset
   106
            conf.env['CXXFLAGS_PTHREAD'] = '-pthread'
d2ec423e4576 Don't use the flag -pthread on darwin to avoid warning message
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4123
diff changeset
   107
            conf.env['CCFLAGS_PTHREAD'] = '-pthread'
d2ec423e4576 Don't use the flag -pthread on darwin to avoid warning message
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4123
diff changeset
   108
            conf.env['LINKFLAGS_PTHREAD'] = '-pthread'
4121
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
   109
4bbe798b0dab Detect pthread support by compiling a test program with the -pthread switch, not just check for the header file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4120
diff changeset
   110
    conf.env['ENABLE_THREADING'] = have_pthread
4064
10222f483860 Upgrade to new WAF, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3781
diff changeset
   111
3648
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   112
    conf.report_optional_feature("Threading", "Threading Primitives",
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   113
                                 conf.env['ENABLE_THREADING'],
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   114
                                 "<pthread.h> include not detected")
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   115
7487
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
   116
    conf.check_nonfatal(header_name='stdint.h', define_name='HAVE_STDINT_H')
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
   117
    conf.check_nonfatal(header_name='inttypes.h', define_name='HAVE_INTTYPES_H')
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   118
7487
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
   119
    conf.check_nonfatal(header_name='sys/inttypes.h', define_name='HAVE_SYS_INT_TYPES_H')
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   120
7590
5f250a7a6f1f Adding required PTHREAD dependency to RT library check. Adding missing include to ipv6-address.cc
Alexander Afanasyev <alexander.afanasyev@ucla.edu>
parents: 7525
diff changeset
   121
    if not conf.check_nonfatal(lib='rt', uselib='RT, PTHREAD', define_name='HAVE_RT'):
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   122
        conf.report_optional_feature("RealTime", "Real Time Simulator",
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   123
                                     False, "librt is not available")
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   124
    else:
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   125
        conf.report_optional_feature("RealTime", "Real Time Simulator",
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   126
                                     conf.env['ENABLE_THREADING'],
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   127
                                     "threading not enabled")
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   128
        conf.env["ENABLE_REAL_TIME"] = conf.env['ENABLE_THREADING']
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   129
4531
14a102415139 Run unit tests as indenpendent WAF tasks
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 4368
diff changeset
   130
    conf.write_config_header('ns3/core-config.h', top=True)
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
   131
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
   132
def build(bld):
7681
0873edb445e8 Bug 1327 - Version installed ns-3 files
Gustavo Carneiro / Vedran Miletić
parents: 7590
diff changeset
   133
    bld.install_files('${INCLUDEDIR}/%s%s/ns3' % (wutils.APPNAME, wutils.VERSION), '../../ns3/core-config.h')
7068
102581d94dd9 install core-config.h
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7057
diff changeset
   134
1217
2f7791ae388d WAF: add new bld.create_ns3_module() and bld.create_ns3_program() methods to make declaration of modules and programs simpler, and allowing us to change how ns-3 is built in a centralized way, without needing to change every module wscript file.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1018
diff changeset
   135
    core = bld.create_ns3_module('core')
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
   136
    core.source = [
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   137
        'model/time.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   138
        'model/event-id.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   139
        'model/scheduler.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   140
        'model/list-scheduler.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   141
        'model/map-scheduler.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   142
        'model/heap-scheduler.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   143
        'model/calendar-scheduler.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   144
        'model/event-impl.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   145
        'model/simulator.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   146
        'model/simulator-impl.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   147
        'model/default-simulator-impl.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   148
        'model/timer.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   149
        'model/watchdog.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   150
        'model/synchronizer.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   151
        'model/make-event.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   152
        'model/log.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   153
        'model/breakpoint.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   154
        'model/type-id.cc',
7399
520706f801e8 introduce Config::Reset
Mathieu Lacage <mathieu.lacage@gmail.com>
parents: 7379
diff changeset
   155
        'model/attribute-construction-list.cc',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   156
        'model/object-base.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   157
        'model/ref-count-base.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   158
        'model/object.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   159
        'model/test.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   160
        'model/random-variable.cc',
8871
60846d2741c0 initial patch to fix rng variability
Mathieu Lacage <mathieu.lacage@cutebugs.net>
parents: 8749
diff changeset
   161
        'model/random-variable-stream.cc',
60846d2741c0 initial patch to fix rng variability
Mathieu Lacage <mathieu.lacage@cutebugs.net>
parents: 8749
diff changeset
   162
        'model/rng-seed-manager.cc',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   163
        'model/rng-stream.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   164
        'model/command-line.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   165
        'model/type-name.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   166
        'model/attribute.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   167
        'model/boolean.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   168
        'model/integer.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   169
        'model/uinteger.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   170
        'model/enum.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   171
        'model/double.cc',
7045
d13fa06886ce merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 7041 7003
diff changeset
   172
        'model/int64x64.cc',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   173
        'model/string.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   174
        'model/pointer.cc',
8749
4462ac63d4cf merge of the code from the LENA project into ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 8731
diff changeset
   175
        'model/object-ptr-container.cc',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   176
        'model/object-factory.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   177
        'model/global-value.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   178
        'model/trace-source-accessor.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   179
        'model/config.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   180
        'model/callback.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   181
        'model/names.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   182
        'model/vector.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   183
        'model/fatal-impl.cc',
7379
ff0d074f885a add support for --update-data to test.py, move test runner code to library for modular build, add support for hierarchical tests beyond the previous two-level hierarchy.
Mathieu Lacage <mathieu.lacage@gmail.com>
parents: 7155
diff changeset
   184
        'model/system-path.cc',
9838
a8eaa0a01106 make core/helper directory; move random-stream helper code there
Tom Henderson <tomh@tomh.org>
parents: 9277
diff changeset
   185
        'helper/random-variable-stream-helper.cc',
9839
7bcd513dc6a2 move event-garbage-collector from tools module to core/helper
Tom Henderson <tomh@tomh.org>
parents: 9838
diff changeset
   186
        'helper/event-garbage-collector.cc',
9932
0fd1bdf7671f Refactor namespaces
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9929
diff changeset
   187
        'model/hash-function.cc',
9924
d5a552660be9 General hash interface, with replaceable hash functions, defaults to murmur3.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9839
diff changeset
   188
        'model/hash-murmur3.cc',
9926
29a6185562e5 Add FNV1a, manual documentation.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9924
diff changeset
   189
        'model/hash-fnv.cc',
9932
0fd1bdf7671f Refactor namespaces
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9929
diff changeset
   190
        'model/hash.cc',
6913
54679ab32585 Create separate module and test-module libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6912
diff changeset
   191
        ]
54679ab32585 Create separate module and test-module libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6912
diff changeset
   192
54679ab32585 Create separate module and test-module libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6912
diff changeset
   193
    core_test = bld.create_ns3_module_test_library('core')
54679ab32585 Create separate module and test-module libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6912
diff changeset
   194
    core_test.source = [
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   195
        'test/attribute-test-suite.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   196
        'test/callback-test-suite.cc',
7003
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
   197
        'test/command-line-test-suite.cc',
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
   198
        'test/config-test-suite.cc',
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
   199
        'test/global-value-test-suite.cc',
7046
56c75e39d8a3 fix small bugs
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 7045
diff changeset
   200
        'test/int64x64-test-suite.cc',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   201
        'test/names-test-suite.cc',
7003
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
   202
        'test/object-test-suite.cc',
6952
91a77c7f3bb2 Move tests from some modules to their test libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6913
diff changeset
   203
        'test/ptr-test-suite.cc',
7003
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
   204
        'test/random-variable-test-suite.cc',
9839
7bcd513dc6a2 move event-garbage-collector from tools module to core/helper
Tom Henderson <tomh@tomh.org>
parents: 9838
diff changeset
   205
        'test/event-garbage-collector-test-suite.cc',
9072
7bfaded450be Bug 1284 - ./test.py performance tests do not exist
Mitch Watrous <watrous@u.washington.edu>
parents: 9063
diff changeset
   206
        'test/many-uniform-random-variables-one-get-value-call-test-suite.cc',
7bfaded450be Bug 1284 - ./test.py performance tests do not exist
Mitch Watrous <watrous@u.washington.edu>
parents: 9063
diff changeset
   207
        'test/one-uniform-random-variable-many-get-value-calls-test-suite.cc',
7155
e3e4192e2f67 Add manual chapter for adding new modules
Mitch Watrous <watrous@u.washington.edu>
parents: 7069
diff changeset
   208
        'test/sample-test-suite.cc',
6999
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6952
diff changeset
   209
        'test/simulator-test-suite.cc',
6952
91a77c7f3bb2 Move tests from some modules to their test libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6913
diff changeset
   210
        'test/time-test-suite.cc',
91a77c7f3bb2 Move tests from some modules to their test libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6913
diff changeset
   211
        'test/timer-test-suite.cc',
91a77c7f3bb2 Move tests from some modules to their test libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6913
diff changeset
   212
        'test/traced-callback-test-suite.cc',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   213
        'test/type-traits-test-suite.cc',
6952
91a77c7f3bb2 Move tests from some modules to their test libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6913
diff changeset
   214
        'test/watchdog-test-suite.cc',
9924
d5a552660be9 General hash interface, with replaceable hash functions, defaults to murmur3.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9839
diff changeset
   215
        'test/hash-test-suite.cc',
9959
721b5b528cc0 Hashed TypeId
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9932
diff changeset
   216
        'test/type-id-test-suite.cc',
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
   217
        ]
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
   218
9277
0f87d1cb030c Upgrade waf to 1.7.10 and fix included wscripts
Vedran Miletić <rivanvx@gmail.com>
parents: 9072
diff changeset
   219
    headers = bld(features='ns3header')
2609
931d59bb1303 Add a 'module' attribute to the ns3header object specifying which module each set of headers belongs to.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 2577
diff changeset
   220
    headers.module = 'core'
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
   221
    headers.source = [
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   222
        'model/nstime.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   223
        'model/event-id.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   224
        'model/event-impl.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   225
        'model/simulator.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   226
        'model/simulator-impl.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   227
        'model/default-simulator-impl.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   228
        'model/scheduler.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   229
        'model/list-scheduler.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   230
        'model/map-scheduler.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   231
        'model/heap-scheduler.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   232
        'model/calendar-scheduler.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   233
        'model/simulation-singleton.h',
7003
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
   234
        'model/singleton.h',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   235
        'model/timer.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   236
        'model/timer-impl.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   237
        'model/watchdog.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   238
        'model/synchronizer.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   239
        'model/make-event.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   240
        'model/system-wall-clock-ms.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   241
        'model/empty.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   242
        'model/callback.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   243
        'model/object-base.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   244
        'model/ref-count-base.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   245
        'model/simple-ref-count.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   246
        'model/type-id.h',
7399
520706f801e8 introduce Config::Reset
Mathieu Lacage <mathieu.lacage@gmail.com>
parents: 7379
diff changeset
   247
        'model/attribute-construction-list.h',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   248
        'model/ptr.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   249
        'model/object.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   250
        'model/log.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   251
        'model/assert.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   252
        'model/breakpoint.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   253
        'model/fatal-error.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   254
        'model/test.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   255
        'model/random-variable.h',
8871
60846d2741c0 initial patch to fix rng variability
Mathieu Lacage <mathieu.lacage@cutebugs.net>
parents: 8749
diff changeset
   256
        'model/random-variable-stream.h',
60846d2741c0 initial patch to fix rng variability
Mathieu Lacage <mathieu.lacage@cutebugs.net>
parents: 8749
diff changeset
   257
        'model/rng-seed-manager.h',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   258
        'model/rng-stream.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   259
        'model/command-line.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   260
        'model/type-name.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   261
        'model/type-traits.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   262
        'model/int-to-type.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   263
        'model/attribute.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   264
        'model/attribute-accessor-helper.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   265
        'model/boolean.h',
7045
d13fa06886ce merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 7041 7003
diff changeset
   266
        'model/int64x64.h',
7048
a6d78cb50f6e early work to make python bindings work again with ns-3-time
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 7046
diff changeset
   267
        'model/int64x64-double.h',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   268
        'model/integer.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   269
        'model/uinteger.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   270
        'model/double.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   271
        'model/enum.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   272
        'model/string.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   273
        'model/pointer.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   274
        'model/object-factory.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   275
        'model/attribute-helper.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   276
        'model/global-value.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   277
        'model/traced-callback.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   278
        'model/traced-value.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   279
        'model/trace-source-accessor.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   280
        'model/config.h',
8749
4462ac63d4cf merge of the code from the LENA project into ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 8731
diff changeset
   281
        'model/object-ptr-container.h',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   282
        'model/object-vector.h',
7412
d79278c6e51c refactor ObjectVector generic code into a separate file and introduce ObjectMap.
Mathieu Lacage <mathieu.lacage@gmail.com>
parents: 7399
diff changeset
   283
        'model/object-map.h',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   284
        'model/deprecated.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   285
        'model/abort.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   286
        'model/names.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   287
        'model/vector.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   288
        'model/default-deleter.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   289
        'model/fatal-impl.h',
7704
aef733235832 Bug 1170: Formulate best practices for dealing with unused debug variables.
Andrey Mazo <mazo@iitp.ru>
parents: 7681
diff changeset
   290
        'model/system-path.h',
aef733235832 Bug 1170: Formulate best practices for dealing with unused debug variables.
Andrey Mazo <mazo@iitp.ru>
parents: 7681
diff changeset
   291
        'model/unused.h',
9063
32755d0516f4 Bug 1237 - code cleanups related to includes
Vedran Miletić <rivanvx@gmail.com>
parents: 8875
diff changeset
   292
        'model/math.h',
9839
7bcd513dc6a2 move event-garbage-collector from tools module to core/helper
Tom Henderson <tomh@tomh.org>
parents: 9838
diff changeset
   293
        'helper/event-garbage-collector.h',
9838
a8eaa0a01106 make core/helper directory; move random-stream helper code there
Tom Henderson <tomh@tomh.org>
parents: 9277
diff changeset
   294
        'helper/random-variable-stream-helper.h',
9932
0fd1bdf7671f Refactor namespaces
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9929
diff changeset
   295
        'model/hash-function.h',
9924
d5a552660be9 General hash interface, with replaceable hash functions, defaults to murmur3.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9839
diff changeset
   296
        'model/hash-murmur3.h',
9926
29a6185562e5 Add FNV1a, manual documentation.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9924
diff changeset
   297
        'model/hash-fnv.h',
9932
0fd1bdf7671f Refactor namespaces
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9929
diff changeset
   298
        'model/hash.h',
10661
06fbdb895376 [Bug 1882] int64x64 tests trigger valgrind bug
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10590
diff changeset
   299
        'model/valgrind.h',
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
   300
        ]
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
   301
3648
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   302
    if sys.platform == 'win32':
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   303
        core.source.extend([
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   304
            'model/win32-system-wall-clock-ms.cc',
3648
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   305
            ])
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   306
    else:
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   307
        core.source.extend([
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   308
            'model/unix-system-wall-clock-ms.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   309
            ])
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   310
3648
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   311
7487
82cd20da9650 Upgrade to waf-1.6.7, work in progress
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7412
diff changeset
   312
    env = bld.env
7041
70c8f8e0b08d move int64x64 to src/core/
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 6370
diff changeset
   313
    if env['INT64X64_USE_DOUBLE']:
7045
d13fa06886ce merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 7041 7003
diff changeset
   314
        headers.source.extend(['model/int64x64-double.h'])
7041
70c8f8e0b08d move int64x64 to src/core/
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 6370
diff changeset
   315
    elif env['INT64X64_USE_128']:
7045
d13fa06886ce merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 7041 7003
diff changeset
   316
        headers.source.extend(['model/int64x64-128.h'])
d13fa06886ce merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 7041 7003
diff changeset
   317
        core.source.extend(['model/int64x64-128.cc'])
7041
70c8f8e0b08d move int64x64 to src/core/
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 6370
diff changeset
   318
    elif env['INT64X64_USE_CAIRO']:
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   319
        core.source.extend([
7045
d13fa06886ce merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 7041 7003
diff changeset
   320
            'model/int64x64-cairo.cc',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   321
            ])
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   322
        headers.source.extend([
7045
d13fa06886ce merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 7041 7003
diff changeset
   323
            'model/int64x64-cairo.h',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   324
            'model/cairo-wideint-private.h',
3648
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   325
            ])
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   326
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   327
    if env['ENABLE_REAL_TIME']:
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   328
        headers.source.extend([
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   329
                'model/realtime-simulator-impl.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   330
                'model/wall-clock-synchronizer.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   331
                ])
3648
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   332
        core.source.extend([
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   333
                'model/realtime-simulator-impl.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   334
                'model/wall-clock-synchronizer.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   335
                ])
7525
9a36f1d5d229 Fix modules wscript usage of 'use' parameter
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7515
diff changeset
   336
        core.use.append('RT')
9a36f1d5d229 Fix modules wscript usage of 'use' parameter
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7515
diff changeset
   337
        core_test.use.append('RT')
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   338
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   339
    if env['ENABLE_THREADING']:
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   340
        core.source.extend([
7778
7b2c9728d2fb remove abstraction that is going to be broken
Mathieu Lacage <mathieu.lacage@cutebugs.net>
parents: 7704
diff changeset
   341
            'model/system-thread.cc',
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   342
            'model/unix-fd-reader.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   343
            'model/unix-system-mutex.cc',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   344
            'model/unix-system-condition.cc',
3648
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   345
            ])
7525
9a36f1d5d229 Fix modules wscript usage of 'use' parameter
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7515
diff changeset
   346
        core.use.append('PTHREAD')
9a36f1d5d229 Fix modules wscript usage of 'use' parameter
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7515
diff changeset
   347
        core_test.use.append('PTHREAD')
7826
5ed75237e75a only test threaded-simulator cases appropriate for the configuration
Tom Henderson <tomh@tomh.org>
parents: 7780
diff changeset
   348
        core_test.source.extend(['test/threaded-test-suite.cc'])
3648
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   349
        headers.source.extend([
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   350
                'model/unix-fd-reader.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   351
                'model/system-mutex.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   352
                'model/system-thread.h',
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   353
                'model/system-condition.h',
3648
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   354
                ])
f912b24ddf2d Detect the pthread.h header file and automatically disable components that cannot build without it.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 3556
diff changeset
   355
6821
203367ae7433 merge src/simulator into src/core; move src/core to new module layout
Tom Henderson <tomh@tomh.org>
parents: 6777
diff changeset
   356
    if env['ENABLE_GSL']:
7525
9a36f1d5d229 Fix modules wscript usage of 'use' parameter
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7515
diff changeset
   357
        core.use.extend(['GSL', 'GSLCBLAS', 'M'])
9a36f1d5d229 Fix modules wscript usage of 'use' parameter
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 7515
diff changeset
   358
        core_test.use.extend(['GSL', 'GSLCBLAS', 'M'])
6913
54679ab32585 Create separate module and test-module libraries
Mitch Watrous <watrous@u.washington.edu>
parents: 6912
diff changeset
   359
        core_test.source.extend(['test/rng-test-suite.cc'])
6874
c7537e62f2fa Start of work on modular Python bindings, unstable
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6370
diff changeset
   360
7028
3963d3678649 Make examples that were in samples directory run
Mitch Watrous <watrous@u.washington.edu>
parents: 7003
diff changeset
   361
    if (bld.env['ENABLE_EXAMPLES']):
9277
0f87d1cb030c Upgrade waf to 1.7.10 and fix included wscripts
Vedran Miletić <rivanvx@gmail.com>
parents: 9072
diff changeset
   362
        bld.recurse('examples')
7028
3963d3678649 Make examples that were in samples directory run
Mitch Watrous <watrous@u.washington.edu>
parents: 7003
diff changeset
   363
6893
5dccd86f90cf Modular Python bindings work (many bug fixes, more modules tested)
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6875
diff changeset
   364
    pymod = bld.ns3_python_bindings()
5dccd86f90cf Modular Python bindings work (many bug fixes, more modules tested)
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6875
diff changeset
   365
    if pymod is not None:
5dccd86f90cf Modular Python bindings work (many bug fixes, more modules tested)
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6875
diff changeset
   366
        pymod.source += ['bindings/module_helpers.cc']