utils/wscript
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Fri, 26 Oct 2007 14:16:40 +0200
changeset 2037 e619e734c7ea
parent 1669 5ee478e0475e
child 2046 7a9113c1b0c1
permissions -rw-r--r--
utility program to print the list of default values
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; -*-
1669
5ee478e0475e Compile mobility-visualizer with -fno-strict-aliasing to avoid GNOME bug #316221
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1664
diff changeset
     2
import os.path
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
     3
1664
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
     4
def configure(conf):
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
     5
    check = conf.create_pkgconfig_configurator()
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
     6
    check.name = 'goocanvas gthread-2.0'
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
     7
    check.uselib = 'MOBILITY_VISUALIZER'
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
     8
    check.mandatory = False
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
     9
    conf.env['ENABLE_MOBILITY_VISUALIZER'] = check.run()
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
    10
    
600
fd944dbf33c6 WAF: simplify wscripts using the new chained uselib_local dependencies feature of WAF SVN; now build all samples and examples; add --disable-rpath configure option; add WAF build instructions.
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents: 537
diff changeset
    11
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
    12
def build(bld):
770
6441e0706902 WAF: make all ns3 modules register themselves in the environment; link the run-tests program with all ns3 modules, not with a hardcoded list.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 600
diff changeset
    13
    env = bld.env_of_name('default')
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
    14
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: 771
diff changeset
    15
    unit_tests = bld.create_ns3_program('run-tests')
600
fd944dbf33c6 WAF: simplify wscripts using the new chained uselib_local dependencies feature of WAF SVN; now build all samples and examples; add --disable-rpath configure option; add WAF build instructions.
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents: 537
diff changeset
    16
    unit_tests.install_var  = 0 # do not install
fd944dbf33c6 WAF: simplify wscripts using the new chained uselib_local dependencies feature of WAF SVN; now build all samples and examples; add --disable-rpath configure option; add WAF build instructions.
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents: 537
diff changeset
    17
    unit_tests.unit_test    = 1 # runs on 'waf check'
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: 771
diff changeset
    18
    unit_tests.source = 'run-tests.cc'
770
6441e0706902 WAF: make all ns3 modules register themselves in the environment; link the run-tests program with all ns3 modules, not with a hardcoded list.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 600
diff changeset
    19
    ## link unit test program with all ns3 modules
1220
4933e0890acd Build all modules as a single ns3 shared library.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1217
diff changeset
    20
    unit_tests.uselib_local = 'ns3'
537
e8a4183dfe00 Add support for building with WAF
Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
parents:
diff changeset
    21
    
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: 771
diff changeset
    22
    obj = bld.create_ns3_program('bench-simulator', ['simulator'])
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: 771
diff changeset
    23
    obj.source = 'bench-simulator.cc'
770
6441e0706902 WAF: make all ns3 modules register themselves in the environment; link the run-tests program with all ns3 modules, not with a hardcoded list.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 600
diff changeset
    24
1322
b6a4885a92df re-enable packet benchmarking
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1220
diff changeset
    25
    obj = bld.create_ns3_program('bench-packets', ['common'])
b6a4885a92df re-enable packet benchmarking
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1220
diff changeset
    26
    obj.source = 'bench-packets.cc'
b6a4885a92df re-enable packet benchmarking
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1220
diff changeset
    27
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: 771
diff changeset
    28
    obj = bld.create_ns3_program('replay-simulation', ['simulator'])
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: 771
diff changeset
    29
    obj.source = 'replay-simulation.cc'
1368
e75dc1a2a5fb add TraceResolver::PrintAvailable method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1220
diff changeset
    30
e75dc1a2a5fb add TraceResolver::PrintAvailable method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1220
diff changeset
    31
    obj = bld.create_ns3_program('print-trace-sources',
e75dc1a2a5fb add TraceResolver::PrintAvailable method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1220
diff changeset
    32
                                 ['internet-node', 'csma-cd', 'point-to-point'])
e75dc1a2a5fb add TraceResolver::PrintAvailable method
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1220
diff changeset
    33
    obj.source = 'print-trace-sources.cc'
1664
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
    34
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
    35
    if env['ENABLE_MOBILITY_VISUALIZER']:
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
    36
        obj = bld.create_ns3_program('mobility-visualizer',
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
    37
                                     ['internet-node', 'mobility'])
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
    38
        obj.source = ['mobility-visualizer-model.cc', 'mobility-visualizer-view.cc']
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
    39
        obj.uselib = 'MOBILITY_VISUALIZER'
1669
5ee478e0475e Compile mobility-visualizer with -fno-strict-aliasing to avoid GNOME bug #316221
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1664
diff changeset
    40
        if os.path.basename(obj.env['CXX']).startswith("g++"):
5ee478e0475e Compile mobility-visualizer with -fno-strict-aliasing to avoid GNOME bug #316221
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1664
diff changeset
    41
            obj.env.append_value('CXXFLAGS', '-fno-strict-aliasing')
1664
306c81333d64 Add a small mobility model visualization tool
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 1421
diff changeset
    42
2037
e619e734c7ea utility program to print the list of default values
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1669
diff changeset
    43
    obj = bld.create_ns3_program('print-default-values',
e619e734c7ea utility program to print the list of default values
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1669
diff changeset
    44
                                 ['core'])
e619e734c7ea utility program to print the list of default values
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1669
diff changeset
    45
    obj.source = 'print-default-values.cc'