src/fd-net-device/wscript
author Alina Quereilhac <alina.quereilhac@inria.fr>
Fri, 29 Mar 2013 16:10:12 +0100
changeset 9274 ef5b324097d0
parent 9271 85e753b6676c
child 9277 0f87d1cb030c
permissions -rw-r--r--
Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
     1
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
     2
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
     3
import os.path
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
     4
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
     5
def configure(conf):
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
     6
    conf.env['ENABLE_FDNETDEV'] = False
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
     7
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
     8
    if conf.env['ENABLE_THREADING']:
9274
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
     9
        # Check for system dependencies
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    10
        have_sysioctl = conf.check_nonfatal(header_name='sys/ioctl.h', 
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    11
            define_name = 'HAVE_SYS_IOCTL_H')
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    12
        have_netif =  conf.check_nonfatal(header_name='net/if.h',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    13
            define_name = 'HAVE_IF_NETS_H')
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    14
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    15
        # Enable the FdNetDevice module. 
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    16
        # Our only requirement is threading support.
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    17
        conf.env['ENABLE_FDNETDEV'] = True
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    18
        conf.report_optional_feature("FdNetDevice", 
9274
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    19
            "File descriptor NetDevice",
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    20
            True,
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    21
            "FdNetDevice module enabled")
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    22
    else:
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    23
        conf.report_optional_feature("FdNetDevice", 
9274
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    24
            "File descriptor NetDevice",
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    25
            False,
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    26
            "needs threading support which is not available")
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    27
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    28
    if conf.env['ENABLE_FDNETDEV']:
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    29
        blddir = os.path.abspath(os.path.join(conf.bldnode.abspath(), conf.variant))
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    30
        dir = os.path.abspath(os.path.join(blddir, "src/fd-net-device"))
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    31
        conf.env.append_value('NS3_EXECUTABLE_PATH', dir)
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    32
    else:
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    33
        # Add this module to the list of modules that won't be built
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    34
        # if they are enabled.
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    35
        conf.env['MODULES_NOT_BUILT'].append('fd-net-device')
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    36
9274
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    37
    # Next, check for whether specialized FdNetDevice features are enabled
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    38
    # such as tap device support, raw socket support, and planetlab
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    39
    
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    40
    if conf.env['ENABLE_FDNETDEV']:
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    41
        conf.env['ENABLE_TAP'] = conf.check_nonfatal(
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    42
           header_name='linux/if_tun.h', 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    43
           define_name='HAVE_IF_TUN_H') and have_sysioctl and have_netif
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    44
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    45
        if conf.env['ENABLE_TAP']:
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    46
            conf.report_optional_feature("TapFdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    47
                "Tap FdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    48
                True,
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    49
                "Tap support enabled")
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    50
        else:
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    51
            conf.report_optional_feature("TapFdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    52
                "Tap FdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    53
                False,
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    54
                "needs linux/if_tun.h")
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    55
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    56
        # Enable use of raw socket (EMU) helper.
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    57
        conf.env['ENABLE_EMU'] = conf.check_nonfatal(
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    58
           header_name='netpacket/packet.h',
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    59
           define_name='HAVE_PACKET_H') and have_sysioctl and have_netif
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    60
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    61
        if conf.env['ENABLE_EMU']:
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    62
            conf.report_optional_feature("EmuFdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    63
                "Emulation FdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    64
                True,
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    65
                "Emulation support enabled")
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    66
        else:
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    67
            conf.report_optional_feature("EmuFdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    68
                "Emulation FdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    69
                False,
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    70
                "needs netpacket/packet.h")
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    71
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    72
        # Enable use of PlanetLab TAP helper
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    73
        # TODO: How to validate 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    74
        (sysname, nodename, release, version, machine) = os.uname()
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    75
        if release.find('onelab') != -1:
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    76
            conf.env['ENABLE_PLANETLAB'] = True
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    77
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    78
        if conf.env['ENABLE_PLANETLAB']:
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    79
            conf.report_optional_feature("PlanetLabFdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    80
                "PlanetLab FdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    81
                True,
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    82
                "Planetlab support enabled")
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    83
        else:
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    84
            conf.report_optional_feature("PlanetLabFdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    85
                "PlanetLab FdNetDevice", 
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    86
                False,
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    87
                "PlanetLab operating system not detected")
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
    88
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    89
def build(bld):
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    90
    # Don't do anything for this module if emu's not enabled.
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    91
    if not bld.env['ENABLE_FDNETDEV']:
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    92
        return
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    93
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    94
    module = bld.create_ns3_module('fd-net-device', ['network'])
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    95
    module.source = [
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    96
        'model/fd-net-device.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    97
        'helper/fd-net-device-helper.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    98
        'helper/encode-decode.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
    99
        'helper/creator-utils.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   100
        ]
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   101
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   102
    headers = bld.new_task_gen(features=['ns3header'])
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   103
    headers.module = 'fd-net-device'
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   104
    headers.source = [
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   105
        'model/fd-net-device.h',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   106
        'helper/fd-net-device-helper.h',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   107
        ]
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   108
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   109
    if bld.env['ENABLE_TAP']:
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   110
        if not bld.env['PLATFORM'].startswith('freebsd'):
9274
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   111
            module.source.extend([
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   112
                'helper/tap-fd-net-device-helper.cc',
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   113
            ])
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   114
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   115
            headers.source.extend([
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   116
                'helper/tap-fd-net-device-helper.h',
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   117
            ])
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   118
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   119
            creator = bld.create_suid_program('tap-device-creator')
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   120
            creator.source = [
9274
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   121
                'helper/tap-device-creator.cc',
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   122
                'helper/encode-decode.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   123
                'helper/creator-utils.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   124
            ]
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   125
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   126
        module.env.append_value("DEFINES", 
9274
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   127
           "TAP_DEV_CREATOR=\"%s\"" % (creator.target,))
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   128
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   129
    if bld.env['ENABLE_EMU']:
9274
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   130
        module.source.extend([
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   131
            'helper/emu-fd-net-device-helper.cc',
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   132
        ])
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   133
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   134
        headers.source.extend([
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   135
            'helper/emu-fd-net-device-helper.h',
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   136
        ])
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   137
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   138
        creator = bld.create_suid_program('raw-sock-creator')
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   139
        creator.source = [
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   140
           'helper/raw-sock-creator.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   141
           'helper/encode-decode.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   142
           'helper/creator-utils.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   143
        ]
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   144
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   145
        module.env.append_value("DEFINES", 
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   146
           "RAW_SOCK_CREATOR=\"%s\"" % (creator.target,))
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   147
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   148
    if bld.env['ENABLE_PLANETLAB']:
9274
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   149
        module.source.extend([
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   150
            'helper/planetlab-fd-net-device-helper.cc',
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   151
        ])
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   152
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   153
        headers.source.extend([
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   154
           'helper/planetlab-fd-net-device-helper.h',
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   155
        ])
ef5b324097d0 Bug #1613 - Can't build ns-3-dev with g++ 4.7.2 & Bug FdNetDevice can't build in OS X
Alina Quereilhac <alina.quereilhac@inria.fr>
parents: 9271
diff changeset
   156
9271
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   157
        creator = bld.create_suid_program('planetlab-tap-creator')
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   158
        creator.source = [
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   159
           'helper/planetlab-tap-creator.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   160
           'helper/encode-decode.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   161
           'helper/creator-utils.cc',
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   162
        ]
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   163
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   164
        module.env.append_value("DEFINES", 
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   165
           "PLANETLAB_TAP_CREATOR=\"%s\"" % (creator.target,))
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   166
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   167
    if bld.env['ENABLE_EXAMPLES']:
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   168
        bld.add_subdirs('examples')
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   169
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   170
    bld.ns3_python_bindings()
85e753b6676c Merge fd-net-device into ns-3-dev
alina
parents:
diff changeset
   171