src/simulator/wscript
changeset 7039 c3854df95603
parent 7032 17d4c8f349d6
child 7041 70c8f8e0b08d
equal deleted inserted replaced
7038:47eba877c2d8 7039:c3854df95603
    18     a = conf.check(type_name='uint128_t', define_name='HAVE_UINT128_T')
    18     a = conf.check(type_name='uint128_t', define_name='HAVE_UINT128_T')
    19     b = conf.check(type_name='__uint128_t', define_name='HAVE___UINT128_T')
    19     b = conf.check(type_name='__uint128_t', define_name='HAVE___UINT128_T')
    20 
    20 
    21 
    21 
    22     if Options.options.high_precision_as_double:
    22     if Options.options.high_precision_as_double:
    23         conf.define('UINT64x64_USE_DOUBLE', 1)
    23         conf.define('INT64X64_USE_DOUBLE', 1)
    24         conf.env['USE_HIGH_PRECISION_DOUBLE'] = 1
    24         conf.env['USE_HIGH_PRECISION_DOUBLE'] = 1
    25         highprec = 'long double'
    25         highprec = 'long double'
    26     elif a or b:
    26     elif a or b:
    27         conf.define('UINT64x64_USE_128', 1)
    27         conf.define('INT64X64_USE_128', 1)
    28         conf.env['USE_HIGH_PRECISION_128'] = 1
    28         conf.env['USE_HIGH_PRECISION_128'] = 1
    29         highprec = '128-bit integer'
    29         highprec = '128-bit integer'
    30     else:
    30     else:
    31         conf.define('UINT64x64_USE_CAIRO', 1)
    31         conf.define('INT64X64_USE_CAIRO', 1)
    32         conf.env['USE_HIGH_PRECISION_CAIRO'] = 1
    32         conf.env['USE_HIGH_PRECISION_CAIRO'] = 1
    33         highprec = 'cairo 128-bit integer'
    33         highprec = 'cairo 128-bit integer'
    34 
    34 
    35     conf.check_message_custom('high precision time', 'implementation', highprec)
    35     conf.check_message_custom('high precision time', 'implementation', highprec)
    36 
    36 
    52 
    52 
    53 
    53 
    54 def build(bld):
    54 def build(bld):
    55     sim = bld.create_ns3_module('simulator', ['core'])
    55     sim = bld.create_ns3_module('simulator', ['core'])
    56     sim.source = [
    56     sim.source = [
    57         'uint64x64.cc',
    57         'int64x64.cc',
    58         'time.cc',
    58         'time.cc',
    59         'event-id.cc',
    59         'event-id.cc',
    60         'scheduler.cc',
    60         'scheduler.cc',
    61         'list-scheduler.cc',
    61         'list-scheduler.cc',
    62         'map-scheduler.cc',
    62         'map-scheduler.cc',
    74         ]
    74         ]
    75 
    75 
    76     headers = bld.new_task_gen('ns3header')
    76     headers = bld.new_task_gen('ns3header')
    77     headers.module = 'simulator'
    77     headers.module = 'simulator'
    78     headers.source = [
    78     headers.source = [
    79         'uint64x64.h',
    79         'int64x64.h',
    80         'nstime.h',
    80         'nstime.h',
    81         'event-id.h',
    81         'event-id.h',
    82         'event-impl.h',
    82         'event-impl.h',
    83         'simulator.h',
    83         'simulator.h',
    84         'simulator-impl.h',
    84         'simulator-impl.h',
    97         'make-event.h',
    97         'make-event.h',
    98         ]
    98         ]
    99 
    99 
   100     env = bld.env_of_name('default')
   100     env = bld.env_of_name('default')
   101     if env['USE_HIGH_PRECISION_DOUBLE']:
   101     if env['USE_HIGH_PRECISION_DOUBLE']:
   102         headers.source.extend(['uint64x64-double.h'])
   102         headers.source.extend(['int64x64-double.h'])
   103     elif env['USE_HIGH_PRECISION_128']:
   103     elif env['USE_HIGH_PRECISION_128']:
   104         headers.source.extend(['uint64x64-128.h'])
   104         headers.source.extend(['int64x64-128.h'])
   105         sim.source.extend(['uint64x64-128.cc'])
   105         sim.source.extend(['int64x64-128.cc'])
   106     elif env['USE_HIGH_PRECISION_CAIRO']:
   106     elif env['USE_HIGH_PRECISION_CAIRO']:
   107         sim.source.extend([
   107         sim.source.extend([
   108             'uint64x64-cairo.cc',
   108             'int64x64-cairo.cc',
   109             ])
   109             ])
   110         headers.source.extend([
   110         headers.source.extend([
   111             'uint64x64-cairo.h',
   111             'int64x64-cairo.h',
   112             'cairo-wideint-private.h',
   112             'cairo-wideint-private.h',
   113             ])
   113             ])
   114 
   114 
   115     if env['ENABLE_REAL_TIME']:
   115     if env['ENABLE_REAL_TIME']:
   116         headers.source.extend([
   116         headers.source.extend([