src/core/wscript
author Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
Wed, 08 Aug 2007 15:10:36 +0100
changeset 1217 2f7791ae388d
parent 1018 99476ef5580a
child 1334 e8e07f44359f
permissions -rw-r--r--
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.

## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
import sys


def configure(conf):
    e = conf.create_header_configurator()
    e.mandatory = False
    e.name = 'stdlib.h'
    e.define = 'HAVE_STDLIB_H'
    e.run()

    e = conf.create_header_configurator()
    e.mandatory = False
    e.name = 'stdlib.h'
    e.define = 'HAVE_GETENV'
    e.run()

    e = conf.create_header_configurator()
    e.mandatory = False
    e.name = 'signal.h'
    e.define = 'HAVE_SIGNAL_H'
    e.run()

    conf.write_config_header('ns3/core-config.h')



def build(bld):
    core = bld.create_ns3_module('core')
    core.source = [
        'callback-test.cc',
        'debug.cc',
        'breakpoint.cc',
        'ptr.cc',
        'object.cc',
        'test.cc',
        'random-variable.cc',
        'rng-stream.cc',
        'uid-manager.cc',
        'default-value.cc',
        'command-line.cc',
        'type-name.cc',
        'component-manager.cc',
        'random-variable-default-value.cc',
        ]

    if sys.platform == 'win32':
        core.source.extend([
            'win32-system-wall-clock-ms.cc',
            ])
    else:
        core.source.extend([
            'unix-system-wall-clock-ms.cc',
            ])
    
    headers = bld.create_obj('ns3header')
    headers.source = [
        'system-wall-clock-ms.h',
        'empty.h',
        'callback.h',
        'ptr.h',
        'object.h',
        'debug.h',
        'assert.h',
        'breakpoint.h',
        'fatal-error.h',
        'test.h',
        'random-variable.h',
        'rng-stream.h',
        'default-value.h',
        'command-line.h',
        'type-name.h',
        'component-manager.h',
        'type-traits.h',
        'random-variable-default-value.h',
        ]