diff --git a/bindings/python/apidefs/gcc-ILP32/ns3_module_contrib.py b/bindings/python/apidefs/gcc-ILP32/ns3_module_contrib.py index c71e3b90b..a58d25fd8 100644 --- a/bindings/python/apidefs/gcc-ILP32/ns3_module_contrib.py +++ b/bindings/python/apidefs/gcc-ILP32/ns3_module_contrib.py @@ -17,6 +17,8 @@ def register_types(module): module.add_class('GnuplotCollection') ## gnuplot.h: ns3::GnuplotDataset [class] module.add_class('GnuplotDataset') + ## gtk-config-store.h: ns3::GtkConfigStore [class] + module.add_class('GtkConfigStore') ## file-config.h: ns3::NoneFileConfig [class] module.add_class('NoneFileConfig', parent=root_module['ns3::FileConfig']) ## config-store.h: ns3::ConfigStore [class] @@ -138,6 +140,7 @@ def register_methods(root_module): register_Ns3Gnuplot_methods(root_module, root_module['ns3::Gnuplot']) register_Ns3GnuplotCollection_methods(root_module, root_module['ns3::GnuplotCollection']) register_Ns3GnuplotDataset_methods(root_module, root_module['ns3::GnuplotDataset']) + register_Ns3GtkConfigStore_methods(root_module, root_module['ns3::GtkConfigStore']) register_Ns3NoneFileConfig_methods(root_module, root_module['ns3::NoneFileConfig']) register_Ns3ConfigStore_methods(root_module, root_module['ns3::ConfigStore']) register_Ns3FlowIdTag_methods(root_module, root_module['ns3::FlowIdTag']) @@ -362,6 +365,21 @@ def register_Ns3GnuplotDataset_methods(root_module, cls): visibility='protected') return +def register_Ns3GtkConfigStore_methods(root_module, cls): + ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore(ns3::GtkConfigStore const & arg0) [copy constructor] + cls.add_constructor([param('ns3::GtkConfigStore const &', 'arg0')]) + ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore() [constructor] + cls.add_constructor([]) + ## gtk-config-store.h: void ns3::GtkConfigStore::ConfigureAttributes() [member function] + cls.add_method('ConfigureAttributes', + 'void', + []) + ## gtk-config-store.h: void ns3::GtkConfigStore::ConfigureDefaults() [member function] + cls.add_method('ConfigureDefaults', + 'void', + []) + return + def register_Ns3NoneFileConfig_methods(root_module, cls): ## file-config.h: ns3::NoneFileConfig::NoneFileConfig(ns3::NoneFileConfig const & arg0) [copy constructor] cls.add_constructor([param('ns3::NoneFileConfig const &', 'arg0')]) diff --git a/bindings/python/apidefs/gcc-ILP32/ns3_module_core_test.py b/bindings/python/apidefs/gcc-ILP32/ns3_module_core_test.py new file mode 100644 index 000000000..a37d20d52 --- /dev/null +++ b/bindings/python/apidefs/gcc-ILP32/ns3_module_core_test.py @@ -0,0 +1,139 @@ +from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers + +def register_types(module): + root_module = module.get_root() + + + ## Register a nested module for the namespace Config + + nested_module = module.add_cpp_namespace('Config') + register_types_ns3_Config(nested_module) + + + ## Register a nested module for the namespace FatalImpl + + nested_module = module.add_cpp_namespace('FatalImpl') + register_types_ns3_FatalImpl(nested_module) + + + ## Register a nested module for the namespace addressUtils + + nested_module = module.add_cpp_namespace('addressUtils') + register_types_ns3_addressUtils(nested_module) + + + ## Register a nested module for the namespace aodv + + nested_module = module.add_cpp_namespace('aodv') + register_types_ns3_aodv(nested_module) + + + ## Register a nested module for the namespace dot11s + + nested_module = module.add_cpp_namespace('dot11s') + register_types_ns3_dot11s(nested_module) + + + ## Register a nested module for the namespace dsdv + + nested_module = module.add_cpp_namespace('dsdv') + register_types_ns3_dsdv(nested_module) + + + ## Register a nested module for the namespace flame + + nested_module = module.add_cpp_namespace('flame') + register_types_ns3_flame(nested_module) + + + ## Register a nested module for the namespace internal + + nested_module = module.add_cpp_namespace('internal') + register_types_ns3_internal(nested_module) + + + ## Register a nested module for the namespace olsr + + nested_module = module.add_cpp_namespace('olsr') + register_types_ns3_olsr(nested_module) + + +def register_types_ns3_Config(module): + root_module = module.get_root() + + +def register_types_ns3_FatalImpl(module): + root_module = module.get_root() + + +def register_types_ns3_addressUtils(module): + root_module = module.get_root() + + +def register_types_ns3_aodv(module): + root_module = module.get_root() + + +def register_types_ns3_dot11s(module): + root_module = module.get_root() + + +def register_types_ns3_dsdv(module): + root_module = module.get_root() + + +def register_types_ns3_flame(module): + root_module = module.get_root() + + +def register_types_ns3_internal(module): + root_module = module.get_root() + + +def register_types_ns3_olsr(module): + root_module = module.get_root() + + +def register_methods(root_module): + return + +def register_functions(root_module): + module = root_module + register_functions_ns3_Config(module.get_submodule('Config'), root_module) + register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) + register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) + register_functions_ns3_aodv(module.get_submodule('aodv'), root_module) + register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module) + register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module) + register_functions_ns3_flame(module.get_submodule('flame'), root_module) + register_functions_ns3_internal(module.get_submodule('internal'), root_module) + register_functions_ns3_olsr(module.get_submodule('olsr'), root_module) + return + +def register_functions_ns3_Config(module, root_module): + return + +def register_functions_ns3_FatalImpl(module, root_module): + return + +def register_functions_ns3_addressUtils(module, root_module): + return + +def register_functions_ns3_aodv(module, root_module): + return + +def register_functions_ns3_dot11s(module, root_module): + return + +def register_functions_ns3_dsdv(module, root_module): + return + +def register_functions_ns3_flame(module, root_module): + return + +def register_functions_ns3_internal(module, root_module): + return + +def register_functions_ns3_olsr(module, root_module): + return + diff --git a/bindings/python/apidefs/gcc-ILP32/ns3_module_network_test.py b/bindings/python/apidefs/gcc-ILP32/ns3_module_network_test.py new file mode 100644 index 000000000..a37d20d52 --- /dev/null +++ b/bindings/python/apidefs/gcc-ILP32/ns3_module_network_test.py @@ -0,0 +1,139 @@ +from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers + +def register_types(module): + root_module = module.get_root() + + + ## Register a nested module for the namespace Config + + nested_module = module.add_cpp_namespace('Config') + register_types_ns3_Config(nested_module) + + + ## Register a nested module for the namespace FatalImpl + + nested_module = module.add_cpp_namespace('FatalImpl') + register_types_ns3_FatalImpl(nested_module) + + + ## Register a nested module for the namespace addressUtils + + nested_module = module.add_cpp_namespace('addressUtils') + register_types_ns3_addressUtils(nested_module) + + + ## Register a nested module for the namespace aodv + + nested_module = module.add_cpp_namespace('aodv') + register_types_ns3_aodv(nested_module) + + + ## Register a nested module for the namespace dot11s + + nested_module = module.add_cpp_namespace('dot11s') + register_types_ns3_dot11s(nested_module) + + + ## Register a nested module for the namespace dsdv + + nested_module = module.add_cpp_namespace('dsdv') + register_types_ns3_dsdv(nested_module) + + + ## Register a nested module for the namespace flame + + nested_module = module.add_cpp_namespace('flame') + register_types_ns3_flame(nested_module) + + + ## Register a nested module for the namespace internal + + nested_module = module.add_cpp_namespace('internal') + register_types_ns3_internal(nested_module) + + + ## Register a nested module for the namespace olsr + + nested_module = module.add_cpp_namespace('olsr') + register_types_ns3_olsr(nested_module) + + +def register_types_ns3_Config(module): + root_module = module.get_root() + + +def register_types_ns3_FatalImpl(module): + root_module = module.get_root() + + +def register_types_ns3_addressUtils(module): + root_module = module.get_root() + + +def register_types_ns3_aodv(module): + root_module = module.get_root() + + +def register_types_ns3_dot11s(module): + root_module = module.get_root() + + +def register_types_ns3_dsdv(module): + root_module = module.get_root() + + +def register_types_ns3_flame(module): + root_module = module.get_root() + + +def register_types_ns3_internal(module): + root_module = module.get_root() + + +def register_types_ns3_olsr(module): + root_module = module.get_root() + + +def register_methods(root_module): + return + +def register_functions(root_module): + module = root_module + register_functions_ns3_Config(module.get_submodule('Config'), root_module) + register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) + register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) + register_functions_ns3_aodv(module.get_submodule('aodv'), root_module) + register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module) + register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module) + register_functions_ns3_flame(module.get_submodule('flame'), root_module) + register_functions_ns3_internal(module.get_submodule('internal'), root_module) + register_functions_ns3_olsr(module.get_submodule('olsr'), root_module) + return + +def register_functions_ns3_Config(module, root_module): + return + +def register_functions_ns3_FatalImpl(module, root_module): + return + +def register_functions_ns3_addressUtils(module, root_module): + return + +def register_functions_ns3_aodv(module, root_module): + return + +def register_functions_ns3_dot11s(module, root_module): + return + +def register_functions_ns3_dsdv(module, root_module): + return + +def register_functions_ns3_flame(module, root_module): + return + +def register_functions_ns3_internal(module, root_module): + return + +def register_functions_ns3_olsr(module, root_module): + return + diff --git a/bindings/python/apidefs/gcc-ILP32/ns3_module_ns3tcp_test.py b/bindings/python/apidefs/gcc-ILP32/ns3_module_ns3tcp_test.py new file mode 100644 index 000000000..a37d20d52 --- /dev/null +++ b/bindings/python/apidefs/gcc-ILP32/ns3_module_ns3tcp_test.py @@ -0,0 +1,139 @@ +from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers + +def register_types(module): + root_module = module.get_root() + + + ## Register a nested module for the namespace Config + + nested_module = module.add_cpp_namespace('Config') + register_types_ns3_Config(nested_module) + + + ## Register a nested module for the namespace FatalImpl + + nested_module = module.add_cpp_namespace('FatalImpl') + register_types_ns3_FatalImpl(nested_module) + + + ## Register a nested module for the namespace addressUtils + + nested_module = module.add_cpp_namespace('addressUtils') + register_types_ns3_addressUtils(nested_module) + + + ## Register a nested module for the namespace aodv + + nested_module = module.add_cpp_namespace('aodv') + register_types_ns3_aodv(nested_module) + + + ## Register a nested module for the namespace dot11s + + nested_module = module.add_cpp_namespace('dot11s') + register_types_ns3_dot11s(nested_module) + + + ## Register a nested module for the namespace dsdv + + nested_module = module.add_cpp_namespace('dsdv') + register_types_ns3_dsdv(nested_module) + + + ## Register a nested module for the namespace flame + + nested_module = module.add_cpp_namespace('flame') + register_types_ns3_flame(nested_module) + + + ## Register a nested module for the namespace internal + + nested_module = module.add_cpp_namespace('internal') + register_types_ns3_internal(nested_module) + + + ## Register a nested module for the namespace olsr + + nested_module = module.add_cpp_namespace('olsr') + register_types_ns3_olsr(nested_module) + + +def register_types_ns3_Config(module): + root_module = module.get_root() + + +def register_types_ns3_FatalImpl(module): + root_module = module.get_root() + + +def register_types_ns3_addressUtils(module): + root_module = module.get_root() + + +def register_types_ns3_aodv(module): + root_module = module.get_root() + + +def register_types_ns3_dot11s(module): + root_module = module.get_root() + + +def register_types_ns3_dsdv(module): + root_module = module.get_root() + + +def register_types_ns3_flame(module): + root_module = module.get_root() + + +def register_types_ns3_internal(module): + root_module = module.get_root() + + +def register_types_ns3_olsr(module): + root_module = module.get_root() + + +def register_methods(root_module): + return + +def register_functions(root_module): + module = root_module + register_functions_ns3_Config(module.get_submodule('Config'), root_module) + register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) + register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) + register_functions_ns3_aodv(module.get_submodule('aodv'), root_module) + register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module) + register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module) + register_functions_ns3_flame(module.get_submodule('flame'), root_module) + register_functions_ns3_internal(module.get_submodule('internal'), root_module) + register_functions_ns3_olsr(module.get_submodule('olsr'), root_module) + return + +def register_functions_ns3_Config(module, root_module): + return + +def register_functions_ns3_FatalImpl(module, root_module): + return + +def register_functions_ns3_addressUtils(module, root_module): + return + +def register_functions_ns3_aodv(module, root_module): + return + +def register_functions_ns3_dot11s(module, root_module): + return + +def register_functions_ns3_dsdv(module, root_module): + return + +def register_functions_ns3_flame(module, root_module): + return + +def register_functions_ns3_internal(module, root_module): + return + +def register_functions_ns3_olsr(module, root_module): + return + diff --git a/bindings/python/apidefs/gcc-ILP32/ns3_module_ns3wifi_test.py b/bindings/python/apidefs/gcc-ILP32/ns3_module_ns3wifi_test.py new file mode 100644 index 000000000..a37d20d52 --- /dev/null +++ b/bindings/python/apidefs/gcc-ILP32/ns3_module_ns3wifi_test.py @@ -0,0 +1,139 @@ +from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers + +def register_types(module): + root_module = module.get_root() + + + ## Register a nested module for the namespace Config + + nested_module = module.add_cpp_namespace('Config') + register_types_ns3_Config(nested_module) + + + ## Register a nested module for the namespace FatalImpl + + nested_module = module.add_cpp_namespace('FatalImpl') + register_types_ns3_FatalImpl(nested_module) + + + ## Register a nested module for the namespace addressUtils + + nested_module = module.add_cpp_namespace('addressUtils') + register_types_ns3_addressUtils(nested_module) + + + ## Register a nested module for the namespace aodv + + nested_module = module.add_cpp_namespace('aodv') + register_types_ns3_aodv(nested_module) + + + ## Register a nested module for the namespace dot11s + + nested_module = module.add_cpp_namespace('dot11s') + register_types_ns3_dot11s(nested_module) + + + ## Register a nested module for the namespace dsdv + + nested_module = module.add_cpp_namespace('dsdv') + register_types_ns3_dsdv(nested_module) + + + ## Register a nested module for the namespace flame + + nested_module = module.add_cpp_namespace('flame') + register_types_ns3_flame(nested_module) + + + ## Register a nested module for the namespace internal + + nested_module = module.add_cpp_namespace('internal') + register_types_ns3_internal(nested_module) + + + ## Register a nested module for the namespace olsr + + nested_module = module.add_cpp_namespace('olsr') + register_types_ns3_olsr(nested_module) + + +def register_types_ns3_Config(module): + root_module = module.get_root() + + +def register_types_ns3_FatalImpl(module): + root_module = module.get_root() + + +def register_types_ns3_addressUtils(module): + root_module = module.get_root() + + +def register_types_ns3_aodv(module): + root_module = module.get_root() + + +def register_types_ns3_dot11s(module): + root_module = module.get_root() + + +def register_types_ns3_dsdv(module): + root_module = module.get_root() + + +def register_types_ns3_flame(module): + root_module = module.get_root() + + +def register_types_ns3_internal(module): + root_module = module.get_root() + + +def register_types_ns3_olsr(module): + root_module = module.get_root() + + +def register_methods(root_module): + return + +def register_functions(root_module): + module = root_module + register_functions_ns3_Config(module.get_submodule('Config'), root_module) + register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) + register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) + register_functions_ns3_aodv(module.get_submodule('aodv'), root_module) + register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module) + register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module) + register_functions_ns3_flame(module.get_submodule('flame'), root_module) + register_functions_ns3_internal(module.get_submodule('internal'), root_module) + register_functions_ns3_olsr(module.get_submodule('olsr'), root_module) + return + +def register_functions_ns3_Config(module, root_module): + return + +def register_functions_ns3_FatalImpl(module, root_module): + return + +def register_functions_ns3_addressUtils(module, root_module): + return + +def register_functions_ns3_aodv(module, root_module): + return + +def register_functions_ns3_dot11s(module, root_module): + return + +def register_functions_ns3_dsdv(module, root_module): + return + +def register_functions_ns3_flame(module, root_module): + return + +def register_functions_ns3_internal(module, root_module): + return + +def register_functions_ns3_olsr(module, root_module): + return + diff --git a/bindings/python/apidefs/gcc-ILP32/ns3modulegen_generated.py b/bindings/python/apidefs/gcc-ILP32/ns3modulegen_generated.py index 2a664eb92..49746276d 100644 --- a/bindings/python/apidefs/gcc-ILP32/ns3modulegen_generated.py +++ b/bindings/python/apidefs/gcc-ILP32/ns3modulegen_generated.py @@ -13,6 +13,7 @@ pybindgen.settings.error_handler = ErrorHandler() import sys import ns3_module_core +import ns3_module_core_test import ns3_module_network import ns3_module_test import ns3_module_visualizer @@ -21,6 +22,7 @@ import ns3_module_contrib import ns3_module_emu import ns3_module_mobility import ns3_module_mpi +import ns3_module_network_test import ns3_module_stats import ns3_module_topology_read import ns3_module_propagation @@ -43,10 +45,12 @@ import ns3_module_csma import ns3_module_uan import ns3_module_aodv import ns3_module_dsdv +import ns3_module_ns3wifi_test import ns3_module_wimax import ns3_module_ns3tcp import ns3_module_olsr import ns3_module_lte +import ns3_module_ns3tcp_test def module_init(): root_module = Module('ns3', cpp_namespace='::ns3') @@ -66,6 +70,17 @@ def register_types(module): ns3_module_core__local.register_types(module) root_module.end_section('ns3_module_core') + root_module.begin_section('ns3_module_core_test') + ns3_module_core_test.register_types(module) + + try: + import ns3_module_core_test__local + except ImportError: + pass + else: + ns3_module_core_test__local.register_types(module) + + root_module.end_section('ns3_module_core_test') root_module.begin_section('ns3_module_network') ns3_module_network.register_types(module) @@ -154,6 +169,17 @@ def register_types(module): ns3_module_mpi__local.register_types(module) root_module.end_section('ns3_module_mpi') + root_module.begin_section('ns3_module_network_test') + ns3_module_network_test.register_types(module) + + try: + import ns3_module_network_test__local + except ImportError: + pass + else: + ns3_module_network_test__local.register_types(module) + + root_module.end_section('ns3_module_network_test') root_module.begin_section('ns3_module_stats') ns3_module_stats.register_types(module) @@ -396,6 +422,17 @@ def register_types(module): ns3_module_dsdv__local.register_types(module) root_module.end_section('ns3_module_dsdv') + root_module.begin_section('ns3_module_ns3wifi_test') + ns3_module_ns3wifi_test.register_types(module) + + try: + import ns3_module_ns3wifi_test__local + except ImportError: + pass + else: + ns3_module_ns3wifi_test__local.register_types(module) + + root_module.end_section('ns3_module_ns3wifi_test') root_module.begin_section('ns3_module_wimax') ns3_module_wimax.register_types(module) @@ -440,6 +477,17 @@ def register_types(module): ns3_module_lte__local.register_types(module) root_module.end_section('ns3_module_lte') + root_module.begin_section('ns3_module_ns3tcp_test') + ns3_module_ns3tcp_test.register_types(module) + + try: + import ns3_module_ns3tcp_test__local + except ImportError: + pass + else: + ns3_module_ns3tcp_test__local.register_types(module) + + root_module.end_section('ns3_module_ns3tcp_test') module.add_container('std::vector< unsigned int >', 'unsigned int', container_type='vector') module.add_container('std::vector< bool >', 'bool', container_type='vector') module.add_container('std::vector< int >', 'int', container_type='vector') @@ -564,6 +612,17 @@ def register_methods(root_module): ns3_module_core__local.register_methods(root_module) root_module.end_section('ns3_module_core') + root_module.begin_section('ns3_module_core_test') + ns3_module_core_test.register_methods(root_module) + + try: + import ns3_module_core_test__local + except ImportError: + pass + else: + ns3_module_core_test__local.register_methods(root_module) + + root_module.end_section('ns3_module_core_test') root_module.begin_section('ns3_module_network') ns3_module_network.register_methods(root_module) @@ -652,6 +711,17 @@ def register_methods(root_module): ns3_module_mpi__local.register_methods(root_module) root_module.end_section('ns3_module_mpi') + root_module.begin_section('ns3_module_network_test') + ns3_module_network_test.register_methods(root_module) + + try: + import ns3_module_network_test__local + except ImportError: + pass + else: + ns3_module_network_test__local.register_methods(root_module) + + root_module.end_section('ns3_module_network_test') root_module.begin_section('ns3_module_stats') ns3_module_stats.register_methods(root_module) @@ -894,6 +964,17 @@ def register_methods(root_module): ns3_module_dsdv__local.register_methods(root_module) root_module.end_section('ns3_module_dsdv') + root_module.begin_section('ns3_module_ns3wifi_test') + ns3_module_ns3wifi_test.register_methods(root_module) + + try: + import ns3_module_ns3wifi_test__local + except ImportError: + pass + else: + ns3_module_ns3wifi_test__local.register_methods(root_module) + + root_module.end_section('ns3_module_ns3wifi_test') root_module.begin_section('ns3_module_wimax') ns3_module_wimax.register_methods(root_module) @@ -938,6 +1019,17 @@ def register_methods(root_module): ns3_module_lte__local.register_methods(root_module) root_module.end_section('ns3_module_lte') + root_module.begin_section('ns3_module_ns3tcp_test') + ns3_module_ns3tcp_test.register_methods(root_module) + + try: + import ns3_module_ns3tcp_test__local + except ImportError: + pass + else: + ns3_module_ns3tcp_test__local.register_methods(root_module) + + root_module.end_section('ns3_module_ns3tcp_test') return def register_functions(root_module): @@ -953,6 +1045,17 @@ def register_functions(root_module): ns3_module_core__local.register_functions(root_module) root_module.end_section('ns3_module_core') + root_module.begin_section('ns3_module_core_test') + ns3_module_core_test.register_functions(root_module) + + try: + import ns3_module_core_test__local + except ImportError: + pass + else: + ns3_module_core_test__local.register_functions(root_module) + + root_module.end_section('ns3_module_core_test') root_module.begin_section('ns3_module_network') ns3_module_network.register_functions(root_module) @@ -1041,6 +1144,17 @@ def register_functions(root_module): ns3_module_mpi__local.register_functions(root_module) root_module.end_section('ns3_module_mpi') + root_module.begin_section('ns3_module_network_test') + ns3_module_network_test.register_functions(root_module) + + try: + import ns3_module_network_test__local + except ImportError: + pass + else: + ns3_module_network_test__local.register_functions(root_module) + + root_module.end_section('ns3_module_network_test') root_module.begin_section('ns3_module_stats') ns3_module_stats.register_functions(root_module) @@ -1283,6 +1397,17 @@ def register_functions(root_module): ns3_module_dsdv__local.register_functions(root_module) root_module.end_section('ns3_module_dsdv') + root_module.begin_section('ns3_module_ns3wifi_test') + ns3_module_ns3wifi_test.register_functions(root_module) + + try: + import ns3_module_ns3wifi_test__local + except ImportError: + pass + else: + ns3_module_ns3wifi_test__local.register_functions(root_module) + + root_module.end_section('ns3_module_ns3wifi_test') root_module.begin_section('ns3_module_wimax') ns3_module_wimax.register_functions(root_module) @@ -1327,6 +1452,17 @@ def register_functions(root_module): ns3_module_lte__local.register_functions(root_module) root_module.end_section('ns3_module_lte') + root_module.begin_section('ns3_module_ns3tcp_test') + ns3_module_ns3tcp_test.register_functions(root_module) + + try: + import ns3_module_ns3tcp_test__local + except ImportError: + pass + else: + ns3_module_ns3tcp_test__local.register_functions(root_module) + + root_module.end_section('ns3_module_ns3tcp_test') register_functions_ns3_Config(module.get_submodule('Config'), root_module) register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) diff --git a/bindings/python/apidefs/gcc-LP64/ns3_module_contrib.py b/bindings/python/apidefs/gcc-LP64/ns3_module_contrib.py index c71e3b90b..a58d25fd8 100644 --- a/bindings/python/apidefs/gcc-LP64/ns3_module_contrib.py +++ b/bindings/python/apidefs/gcc-LP64/ns3_module_contrib.py @@ -17,6 +17,8 @@ def register_types(module): module.add_class('GnuplotCollection') ## gnuplot.h: ns3::GnuplotDataset [class] module.add_class('GnuplotDataset') + ## gtk-config-store.h: ns3::GtkConfigStore [class] + module.add_class('GtkConfigStore') ## file-config.h: ns3::NoneFileConfig [class] module.add_class('NoneFileConfig', parent=root_module['ns3::FileConfig']) ## config-store.h: ns3::ConfigStore [class] @@ -138,6 +140,7 @@ def register_methods(root_module): register_Ns3Gnuplot_methods(root_module, root_module['ns3::Gnuplot']) register_Ns3GnuplotCollection_methods(root_module, root_module['ns3::GnuplotCollection']) register_Ns3GnuplotDataset_methods(root_module, root_module['ns3::GnuplotDataset']) + register_Ns3GtkConfigStore_methods(root_module, root_module['ns3::GtkConfigStore']) register_Ns3NoneFileConfig_methods(root_module, root_module['ns3::NoneFileConfig']) register_Ns3ConfigStore_methods(root_module, root_module['ns3::ConfigStore']) register_Ns3FlowIdTag_methods(root_module, root_module['ns3::FlowIdTag']) @@ -362,6 +365,21 @@ def register_Ns3GnuplotDataset_methods(root_module, cls): visibility='protected') return +def register_Ns3GtkConfigStore_methods(root_module, cls): + ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore(ns3::GtkConfigStore const & arg0) [copy constructor] + cls.add_constructor([param('ns3::GtkConfigStore const &', 'arg0')]) + ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore() [constructor] + cls.add_constructor([]) + ## gtk-config-store.h: void ns3::GtkConfigStore::ConfigureAttributes() [member function] + cls.add_method('ConfigureAttributes', + 'void', + []) + ## gtk-config-store.h: void ns3::GtkConfigStore::ConfigureDefaults() [member function] + cls.add_method('ConfigureDefaults', + 'void', + []) + return + def register_Ns3NoneFileConfig_methods(root_module, cls): ## file-config.h: ns3::NoneFileConfig::NoneFileConfig(ns3::NoneFileConfig const & arg0) [copy constructor] cls.add_constructor([param('ns3::NoneFileConfig const &', 'arg0')]) diff --git a/bindings/python/apidefs/gcc-LP64/ns3_module_core_test.py b/bindings/python/apidefs/gcc-LP64/ns3_module_core_test.py new file mode 100644 index 000000000..a37d20d52 --- /dev/null +++ b/bindings/python/apidefs/gcc-LP64/ns3_module_core_test.py @@ -0,0 +1,139 @@ +from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers + +def register_types(module): + root_module = module.get_root() + + + ## Register a nested module for the namespace Config + + nested_module = module.add_cpp_namespace('Config') + register_types_ns3_Config(nested_module) + + + ## Register a nested module for the namespace FatalImpl + + nested_module = module.add_cpp_namespace('FatalImpl') + register_types_ns3_FatalImpl(nested_module) + + + ## Register a nested module for the namespace addressUtils + + nested_module = module.add_cpp_namespace('addressUtils') + register_types_ns3_addressUtils(nested_module) + + + ## Register a nested module for the namespace aodv + + nested_module = module.add_cpp_namespace('aodv') + register_types_ns3_aodv(nested_module) + + + ## Register a nested module for the namespace dot11s + + nested_module = module.add_cpp_namespace('dot11s') + register_types_ns3_dot11s(nested_module) + + + ## Register a nested module for the namespace dsdv + + nested_module = module.add_cpp_namespace('dsdv') + register_types_ns3_dsdv(nested_module) + + + ## Register a nested module for the namespace flame + + nested_module = module.add_cpp_namespace('flame') + register_types_ns3_flame(nested_module) + + + ## Register a nested module for the namespace internal + + nested_module = module.add_cpp_namespace('internal') + register_types_ns3_internal(nested_module) + + + ## Register a nested module for the namespace olsr + + nested_module = module.add_cpp_namespace('olsr') + register_types_ns3_olsr(nested_module) + + +def register_types_ns3_Config(module): + root_module = module.get_root() + + +def register_types_ns3_FatalImpl(module): + root_module = module.get_root() + + +def register_types_ns3_addressUtils(module): + root_module = module.get_root() + + +def register_types_ns3_aodv(module): + root_module = module.get_root() + + +def register_types_ns3_dot11s(module): + root_module = module.get_root() + + +def register_types_ns3_dsdv(module): + root_module = module.get_root() + + +def register_types_ns3_flame(module): + root_module = module.get_root() + + +def register_types_ns3_internal(module): + root_module = module.get_root() + + +def register_types_ns3_olsr(module): + root_module = module.get_root() + + +def register_methods(root_module): + return + +def register_functions(root_module): + module = root_module + register_functions_ns3_Config(module.get_submodule('Config'), root_module) + register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) + register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) + register_functions_ns3_aodv(module.get_submodule('aodv'), root_module) + register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module) + register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module) + register_functions_ns3_flame(module.get_submodule('flame'), root_module) + register_functions_ns3_internal(module.get_submodule('internal'), root_module) + register_functions_ns3_olsr(module.get_submodule('olsr'), root_module) + return + +def register_functions_ns3_Config(module, root_module): + return + +def register_functions_ns3_FatalImpl(module, root_module): + return + +def register_functions_ns3_addressUtils(module, root_module): + return + +def register_functions_ns3_aodv(module, root_module): + return + +def register_functions_ns3_dot11s(module, root_module): + return + +def register_functions_ns3_dsdv(module, root_module): + return + +def register_functions_ns3_flame(module, root_module): + return + +def register_functions_ns3_internal(module, root_module): + return + +def register_functions_ns3_olsr(module, root_module): + return + diff --git a/bindings/python/apidefs/gcc-LP64/ns3_module_network_test.py b/bindings/python/apidefs/gcc-LP64/ns3_module_network_test.py new file mode 100644 index 000000000..a37d20d52 --- /dev/null +++ b/bindings/python/apidefs/gcc-LP64/ns3_module_network_test.py @@ -0,0 +1,139 @@ +from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers + +def register_types(module): + root_module = module.get_root() + + + ## Register a nested module for the namespace Config + + nested_module = module.add_cpp_namespace('Config') + register_types_ns3_Config(nested_module) + + + ## Register a nested module for the namespace FatalImpl + + nested_module = module.add_cpp_namespace('FatalImpl') + register_types_ns3_FatalImpl(nested_module) + + + ## Register a nested module for the namespace addressUtils + + nested_module = module.add_cpp_namespace('addressUtils') + register_types_ns3_addressUtils(nested_module) + + + ## Register a nested module for the namespace aodv + + nested_module = module.add_cpp_namespace('aodv') + register_types_ns3_aodv(nested_module) + + + ## Register a nested module for the namespace dot11s + + nested_module = module.add_cpp_namespace('dot11s') + register_types_ns3_dot11s(nested_module) + + + ## Register a nested module for the namespace dsdv + + nested_module = module.add_cpp_namespace('dsdv') + register_types_ns3_dsdv(nested_module) + + + ## Register a nested module for the namespace flame + + nested_module = module.add_cpp_namespace('flame') + register_types_ns3_flame(nested_module) + + + ## Register a nested module for the namespace internal + + nested_module = module.add_cpp_namespace('internal') + register_types_ns3_internal(nested_module) + + + ## Register a nested module for the namespace olsr + + nested_module = module.add_cpp_namespace('olsr') + register_types_ns3_olsr(nested_module) + + +def register_types_ns3_Config(module): + root_module = module.get_root() + + +def register_types_ns3_FatalImpl(module): + root_module = module.get_root() + + +def register_types_ns3_addressUtils(module): + root_module = module.get_root() + + +def register_types_ns3_aodv(module): + root_module = module.get_root() + + +def register_types_ns3_dot11s(module): + root_module = module.get_root() + + +def register_types_ns3_dsdv(module): + root_module = module.get_root() + + +def register_types_ns3_flame(module): + root_module = module.get_root() + + +def register_types_ns3_internal(module): + root_module = module.get_root() + + +def register_types_ns3_olsr(module): + root_module = module.get_root() + + +def register_methods(root_module): + return + +def register_functions(root_module): + module = root_module + register_functions_ns3_Config(module.get_submodule('Config'), root_module) + register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) + register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) + register_functions_ns3_aodv(module.get_submodule('aodv'), root_module) + register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module) + register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module) + register_functions_ns3_flame(module.get_submodule('flame'), root_module) + register_functions_ns3_internal(module.get_submodule('internal'), root_module) + register_functions_ns3_olsr(module.get_submodule('olsr'), root_module) + return + +def register_functions_ns3_Config(module, root_module): + return + +def register_functions_ns3_FatalImpl(module, root_module): + return + +def register_functions_ns3_addressUtils(module, root_module): + return + +def register_functions_ns3_aodv(module, root_module): + return + +def register_functions_ns3_dot11s(module, root_module): + return + +def register_functions_ns3_dsdv(module, root_module): + return + +def register_functions_ns3_flame(module, root_module): + return + +def register_functions_ns3_internal(module, root_module): + return + +def register_functions_ns3_olsr(module, root_module): + return + diff --git a/bindings/python/apidefs/gcc-LP64/ns3_module_ns3tcp_test.py b/bindings/python/apidefs/gcc-LP64/ns3_module_ns3tcp_test.py new file mode 100644 index 000000000..a37d20d52 --- /dev/null +++ b/bindings/python/apidefs/gcc-LP64/ns3_module_ns3tcp_test.py @@ -0,0 +1,139 @@ +from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers + +def register_types(module): + root_module = module.get_root() + + + ## Register a nested module for the namespace Config + + nested_module = module.add_cpp_namespace('Config') + register_types_ns3_Config(nested_module) + + + ## Register a nested module for the namespace FatalImpl + + nested_module = module.add_cpp_namespace('FatalImpl') + register_types_ns3_FatalImpl(nested_module) + + + ## Register a nested module for the namespace addressUtils + + nested_module = module.add_cpp_namespace('addressUtils') + register_types_ns3_addressUtils(nested_module) + + + ## Register a nested module for the namespace aodv + + nested_module = module.add_cpp_namespace('aodv') + register_types_ns3_aodv(nested_module) + + + ## Register a nested module for the namespace dot11s + + nested_module = module.add_cpp_namespace('dot11s') + register_types_ns3_dot11s(nested_module) + + + ## Register a nested module for the namespace dsdv + + nested_module = module.add_cpp_namespace('dsdv') + register_types_ns3_dsdv(nested_module) + + + ## Register a nested module for the namespace flame + + nested_module = module.add_cpp_namespace('flame') + register_types_ns3_flame(nested_module) + + + ## Register a nested module for the namespace internal + + nested_module = module.add_cpp_namespace('internal') + register_types_ns3_internal(nested_module) + + + ## Register a nested module for the namespace olsr + + nested_module = module.add_cpp_namespace('olsr') + register_types_ns3_olsr(nested_module) + + +def register_types_ns3_Config(module): + root_module = module.get_root() + + +def register_types_ns3_FatalImpl(module): + root_module = module.get_root() + + +def register_types_ns3_addressUtils(module): + root_module = module.get_root() + + +def register_types_ns3_aodv(module): + root_module = module.get_root() + + +def register_types_ns3_dot11s(module): + root_module = module.get_root() + + +def register_types_ns3_dsdv(module): + root_module = module.get_root() + + +def register_types_ns3_flame(module): + root_module = module.get_root() + + +def register_types_ns3_internal(module): + root_module = module.get_root() + + +def register_types_ns3_olsr(module): + root_module = module.get_root() + + +def register_methods(root_module): + return + +def register_functions(root_module): + module = root_module + register_functions_ns3_Config(module.get_submodule('Config'), root_module) + register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) + register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) + register_functions_ns3_aodv(module.get_submodule('aodv'), root_module) + register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module) + register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module) + register_functions_ns3_flame(module.get_submodule('flame'), root_module) + register_functions_ns3_internal(module.get_submodule('internal'), root_module) + register_functions_ns3_olsr(module.get_submodule('olsr'), root_module) + return + +def register_functions_ns3_Config(module, root_module): + return + +def register_functions_ns3_FatalImpl(module, root_module): + return + +def register_functions_ns3_addressUtils(module, root_module): + return + +def register_functions_ns3_aodv(module, root_module): + return + +def register_functions_ns3_dot11s(module, root_module): + return + +def register_functions_ns3_dsdv(module, root_module): + return + +def register_functions_ns3_flame(module, root_module): + return + +def register_functions_ns3_internal(module, root_module): + return + +def register_functions_ns3_olsr(module, root_module): + return + diff --git a/bindings/python/apidefs/gcc-LP64/ns3_module_ns3wifi_test.py b/bindings/python/apidefs/gcc-LP64/ns3_module_ns3wifi_test.py new file mode 100644 index 000000000..a37d20d52 --- /dev/null +++ b/bindings/python/apidefs/gcc-LP64/ns3_module_ns3wifi_test.py @@ -0,0 +1,139 @@ +from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers + +def register_types(module): + root_module = module.get_root() + + + ## Register a nested module for the namespace Config + + nested_module = module.add_cpp_namespace('Config') + register_types_ns3_Config(nested_module) + + + ## Register a nested module for the namespace FatalImpl + + nested_module = module.add_cpp_namespace('FatalImpl') + register_types_ns3_FatalImpl(nested_module) + + + ## Register a nested module for the namespace addressUtils + + nested_module = module.add_cpp_namespace('addressUtils') + register_types_ns3_addressUtils(nested_module) + + + ## Register a nested module for the namespace aodv + + nested_module = module.add_cpp_namespace('aodv') + register_types_ns3_aodv(nested_module) + + + ## Register a nested module for the namespace dot11s + + nested_module = module.add_cpp_namespace('dot11s') + register_types_ns3_dot11s(nested_module) + + + ## Register a nested module for the namespace dsdv + + nested_module = module.add_cpp_namespace('dsdv') + register_types_ns3_dsdv(nested_module) + + + ## Register a nested module for the namespace flame + + nested_module = module.add_cpp_namespace('flame') + register_types_ns3_flame(nested_module) + + + ## Register a nested module for the namespace internal + + nested_module = module.add_cpp_namespace('internal') + register_types_ns3_internal(nested_module) + + + ## Register a nested module for the namespace olsr + + nested_module = module.add_cpp_namespace('olsr') + register_types_ns3_olsr(nested_module) + + +def register_types_ns3_Config(module): + root_module = module.get_root() + + +def register_types_ns3_FatalImpl(module): + root_module = module.get_root() + + +def register_types_ns3_addressUtils(module): + root_module = module.get_root() + + +def register_types_ns3_aodv(module): + root_module = module.get_root() + + +def register_types_ns3_dot11s(module): + root_module = module.get_root() + + +def register_types_ns3_dsdv(module): + root_module = module.get_root() + + +def register_types_ns3_flame(module): + root_module = module.get_root() + + +def register_types_ns3_internal(module): + root_module = module.get_root() + + +def register_types_ns3_olsr(module): + root_module = module.get_root() + + +def register_methods(root_module): + return + +def register_functions(root_module): + module = root_module + register_functions_ns3_Config(module.get_submodule('Config'), root_module) + register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) + register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) + register_functions_ns3_aodv(module.get_submodule('aodv'), root_module) + register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module) + register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module) + register_functions_ns3_flame(module.get_submodule('flame'), root_module) + register_functions_ns3_internal(module.get_submodule('internal'), root_module) + register_functions_ns3_olsr(module.get_submodule('olsr'), root_module) + return + +def register_functions_ns3_Config(module, root_module): + return + +def register_functions_ns3_FatalImpl(module, root_module): + return + +def register_functions_ns3_addressUtils(module, root_module): + return + +def register_functions_ns3_aodv(module, root_module): + return + +def register_functions_ns3_dot11s(module, root_module): + return + +def register_functions_ns3_dsdv(module, root_module): + return + +def register_functions_ns3_flame(module, root_module): + return + +def register_functions_ns3_internal(module, root_module): + return + +def register_functions_ns3_olsr(module, root_module): + return + diff --git a/bindings/python/apidefs/gcc-LP64/ns3modulegen_generated.py b/bindings/python/apidefs/gcc-LP64/ns3modulegen_generated.py index bfda55fd7..57a3409d1 100644 --- a/bindings/python/apidefs/gcc-LP64/ns3modulegen_generated.py +++ b/bindings/python/apidefs/gcc-LP64/ns3modulegen_generated.py @@ -13,6 +13,7 @@ pybindgen.settings.error_handler = ErrorHandler() import sys import ns3_module_core +import ns3_module_core_test import ns3_module_network import ns3_module_test import ns3_module_visualizer @@ -21,6 +22,7 @@ import ns3_module_contrib import ns3_module_emu import ns3_module_mobility import ns3_module_mpi +import ns3_module_network_test import ns3_module_stats import ns3_module_topology_read import ns3_module_propagation @@ -43,10 +45,12 @@ import ns3_module_csma import ns3_module_uan import ns3_module_aodv import ns3_module_dsdv +import ns3_module_ns3wifi_test import ns3_module_wimax import ns3_module_ns3tcp import ns3_module_olsr import ns3_module_lte +import ns3_module_ns3tcp_test def module_init(): root_module = Module('ns3', cpp_namespace='::ns3') @@ -66,6 +70,17 @@ def register_types(module): ns3_module_core__local.register_types(module) root_module.end_section('ns3_module_core') + root_module.begin_section('ns3_module_core_test') + ns3_module_core_test.register_types(module) + + try: + import ns3_module_core_test__local + except ImportError: + pass + else: + ns3_module_core_test__local.register_types(module) + + root_module.end_section('ns3_module_core_test') root_module.begin_section('ns3_module_network') ns3_module_network.register_types(module) @@ -154,6 +169,17 @@ def register_types(module): ns3_module_mpi__local.register_types(module) root_module.end_section('ns3_module_mpi') + root_module.begin_section('ns3_module_network_test') + ns3_module_network_test.register_types(module) + + try: + import ns3_module_network_test__local + except ImportError: + pass + else: + ns3_module_network_test__local.register_types(module) + + root_module.end_section('ns3_module_network_test') root_module.begin_section('ns3_module_stats') ns3_module_stats.register_types(module) @@ -396,6 +422,17 @@ def register_types(module): ns3_module_dsdv__local.register_types(module) root_module.end_section('ns3_module_dsdv') + root_module.begin_section('ns3_module_ns3wifi_test') + ns3_module_ns3wifi_test.register_types(module) + + try: + import ns3_module_ns3wifi_test__local + except ImportError: + pass + else: + ns3_module_ns3wifi_test__local.register_types(module) + + root_module.end_section('ns3_module_ns3wifi_test') root_module.begin_section('ns3_module_wimax') ns3_module_wimax.register_types(module) @@ -440,6 +477,17 @@ def register_types(module): ns3_module_lte__local.register_types(module) root_module.end_section('ns3_module_lte') + root_module.begin_section('ns3_module_ns3tcp_test') + ns3_module_ns3tcp_test.register_types(module) + + try: + import ns3_module_ns3tcp_test__local + except ImportError: + pass + else: + ns3_module_ns3tcp_test__local.register_types(module) + + root_module.end_section('ns3_module_ns3tcp_test') module.add_container('std::vector< unsigned int >', 'unsigned int', container_type='vector') module.add_container('std::vector< bool >', 'bool', container_type='vector') module.add_container('std::vector< int >', 'int', container_type='vector') @@ -564,6 +612,17 @@ def register_methods(root_module): ns3_module_core__local.register_methods(root_module) root_module.end_section('ns3_module_core') + root_module.begin_section('ns3_module_core_test') + ns3_module_core_test.register_methods(root_module) + + try: + import ns3_module_core_test__local + except ImportError: + pass + else: + ns3_module_core_test__local.register_methods(root_module) + + root_module.end_section('ns3_module_core_test') root_module.begin_section('ns3_module_network') ns3_module_network.register_methods(root_module) @@ -652,6 +711,17 @@ def register_methods(root_module): ns3_module_mpi__local.register_methods(root_module) root_module.end_section('ns3_module_mpi') + root_module.begin_section('ns3_module_network_test') + ns3_module_network_test.register_methods(root_module) + + try: + import ns3_module_network_test__local + except ImportError: + pass + else: + ns3_module_network_test__local.register_methods(root_module) + + root_module.end_section('ns3_module_network_test') root_module.begin_section('ns3_module_stats') ns3_module_stats.register_methods(root_module) @@ -894,6 +964,17 @@ def register_methods(root_module): ns3_module_dsdv__local.register_methods(root_module) root_module.end_section('ns3_module_dsdv') + root_module.begin_section('ns3_module_ns3wifi_test') + ns3_module_ns3wifi_test.register_methods(root_module) + + try: + import ns3_module_ns3wifi_test__local + except ImportError: + pass + else: + ns3_module_ns3wifi_test__local.register_methods(root_module) + + root_module.end_section('ns3_module_ns3wifi_test') root_module.begin_section('ns3_module_wimax') ns3_module_wimax.register_methods(root_module) @@ -938,6 +1019,17 @@ def register_methods(root_module): ns3_module_lte__local.register_methods(root_module) root_module.end_section('ns3_module_lte') + root_module.begin_section('ns3_module_ns3tcp_test') + ns3_module_ns3tcp_test.register_methods(root_module) + + try: + import ns3_module_ns3tcp_test__local + except ImportError: + pass + else: + ns3_module_ns3tcp_test__local.register_methods(root_module) + + root_module.end_section('ns3_module_ns3tcp_test') return def register_functions(root_module): @@ -953,6 +1045,17 @@ def register_functions(root_module): ns3_module_core__local.register_functions(root_module) root_module.end_section('ns3_module_core') + root_module.begin_section('ns3_module_core_test') + ns3_module_core_test.register_functions(root_module) + + try: + import ns3_module_core_test__local + except ImportError: + pass + else: + ns3_module_core_test__local.register_functions(root_module) + + root_module.end_section('ns3_module_core_test') root_module.begin_section('ns3_module_network') ns3_module_network.register_functions(root_module) @@ -1041,6 +1144,17 @@ def register_functions(root_module): ns3_module_mpi__local.register_functions(root_module) root_module.end_section('ns3_module_mpi') + root_module.begin_section('ns3_module_network_test') + ns3_module_network_test.register_functions(root_module) + + try: + import ns3_module_network_test__local + except ImportError: + pass + else: + ns3_module_network_test__local.register_functions(root_module) + + root_module.end_section('ns3_module_network_test') root_module.begin_section('ns3_module_stats') ns3_module_stats.register_functions(root_module) @@ -1283,6 +1397,17 @@ def register_functions(root_module): ns3_module_dsdv__local.register_functions(root_module) root_module.end_section('ns3_module_dsdv') + root_module.begin_section('ns3_module_ns3wifi_test') + ns3_module_ns3wifi_test.register_functions(root_module) + + try: + import ns3_module_ns3wifi_test__local + except ImportError: + pass + else: + ns3_module_ns3wifi_test__local.register_functions(root_module) + + root_module.end_section('ns3_module_ns3wifi_test') root_module.begin_section('ns3_module_wimax') ns3_module_wimax.register_functions(root_module) @@ -1327,6 +1452,17 @@ def register_functions(root_module): ns3_module_lte__local.register_functions(root_module) root_module.end_section('ns3_module_lte') + root_module.begin_section('ns3_module_ns3tcp_test') + ns3_module_ns3tcp_test.register_functions(root_module) + + try: + import ns3_module_ns3tcp_test__local + except ImportError: + pass + else: + ns3_module_ns3tcp_test__local.register_functions(root_module) + + root_module.end_section('ns3_module_ns3tcp_test') register_functions_ns3_Config(module.get_submodule('Config'), root_module) register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module) register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module) diff --git a/bindings/python/wscript b/bindings/python/wscript index 0c9528764..a708c9ea9 100644 --- a/bindings/python/wscript +++ b/bindings/python/wscript @@ -704,7 +704,10 @@ def build(bld): bindgen.after = 'gen_everything_h_task' bindgen.name = "pybindgen-command" - features = 'cxx cshlib pyext' + if bld.env['ENABLE_STATIC_NS3']: + features = 'cxx cstaticlib pyext' + else: + features = 'cxx cshlib pyext' if env['ENABLE_PYTHON_PCH']: features += ' pch' pymod = bld.new_task_gen(features=features) @@ -716,14 +719,16 @@ def build(bld): pymod.source.append("ns3_module_%s.cc" % module) pymod.target = 'ns3/_ns3' pymod.name = 'ns3module' - pymod.uselib_local = "ns3" + pymod.uselib_local = bld.env['NS3_ENABLED_MODULES'] if pymod.env['ENABLE_STATIC_NS3']: if sys.platform == 'darwin': pymod.env.append_value('LINKFLAGS', '-Wl,-all_load') - pymod.env.append_value('LINKFLAGS', '-lns3') + for mod in pymod.uselib_local: + pymod.env.append_value('LINKFLAGS', '-l' + mod) else: pymod.env.append_value('LINKFLAGS', '-Wl,--whole-archive,-Bstatic') - pymod.env.append_value('LINKFLAGS', '-lns3') + for mod in pymod.uselib_local: + pymod.env.append_value('LINKFLAGS', '-l' + mod) pymod.env.append_value('LINKFLAGS', '-Wl,-Bdynamic,--no-whole-archive') defines = list(pymod.env['CXXDEFINES']) diff --git a/examples/mobility/wscript b/examples/mobility/wscript index fe4024cf1..e9461f91f 100644 --- a/examples/mobility/wscript +++ b/examples/mobility/wscript @@ -1,6 +1,6 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- def build(bld): - obj = bld.create_ns3_program('ns2-mobility-trace', ['core', 'mobility', 'wifi', 'mesh']) + obj = bld.create_ns3_program('ns2-mobility-trace', ['internet', 'mobility', 'wifi', 'mesh', 'applications']) obj.source = 'ns2-mobility-trace.cc' diff --git a/examples/mpi/wscript b/examples/mpi/wscript index 6d19d97a8..d7c2c3fbe 100644 --- a/examples/mpi/wscript +++ b/examples/mpi/wscript @@ -10,5 +10,5 @@ def build(bld): obj.source = 'third-distributed.cc' obj = bld.create_ns3_program('nms-p2p-nix-distributed', - ['point-to-point', 'network', 'applications']) + ['point-to-point', 'internet', 'applications']) obj.source = 'nms-p2p-nix-distributed.cc' diff --git a/examples/wireless/wscript b/examples/wireless/wscript index e566f8b22..48e10f614 100644 --- a/examples/wireless/wscript +++ b/examples/wireless/wscript @@ -1,32 +1,32 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- def build(bld): - obj = bld.create_ns3_program('mixed-wireless', ['core', 'mobility', 'wifi', 'point-to-point', - 'internet', 'csma']) + obj = bld.create_ns3_program('mixed-wireless', ['core', 'mobility', 'wifi', 'applications', 'point-to-point', + 'internet', 'csma', 'olsr']) obj.source = 'mixed-wireless.cc' - obj = bld.create_ns3_program('wifi-adhoc', ['core', 'mobility', 'wifi', 'contrib']) + obj = bld.create_ns3_program('wifi-adhoc', ['core', 'mobility', 'wifi', 'applications', 'contrib']) obj.source = 'wifi-adhoc.cc' - obj = bld.create_ns3_program('wifi-clear-channel-cmu', ['core', 'mobility', 'wifi', 'contrib']) + obj = bld.create_ns3_program('wifi-clear-channel-cmu', ['internet', 'mobility', 'wifi', 'contrib']) obj.source = 'wifi-clear-channel-cmu.cc' obj = bld.create_ns3_program('wifi-ap', ['core', 'mobility', 'wifi', 'applications', 'contrib']) obj.source = 'wifi-ap.cc' - obj = bld.create_ns3_program('wifi-wired-bridging', ['core', 'mobility', 'wifi', 'csma', 'bridge']) + obj = bld.create_ns3_program('wifi-wired-bridging', ['internet', 'mobility', 'wifi', 'csma', 'bridge', 'applications']) obj.source = 'wifi-wired-bridging.cc' obj = bld.create_ns3_program('simple-wifi-frame-aggregation', ['internet', 'mobility', 'wifi', 'applications']) obj.source = 'simple-wifi-frame-aggregation.cc' - obj = bld.create_ns3_program('multirate', ['core', 'mobility', 'wifi', 'contrib', 'flow-monitor']) + obj = bld.create_ns3_program('multirate', ['internet', 'mobility', 'wifi', 'contrib', 'flow-monitor', 'olsr', 'applications', 'point-to-point']) obj.source = 'multirate.cc' obj = bld.create_ns3_program('wifi-simple-adhoc', ['internet', 'mobility', 'wifi', 'contrib']) obj.source = 'wifi-simple-adhoc.cc' - obj = bld.create_ns3_program('wifi-simple-adhoc-grid', ['core', 'mobility', 'wifi', 'olsr']) + obj = bld.create_ns3_program('wifi-simple-adhoc-grid', ['internet', 'mobility', 'wifi', 'olsr', 'contrib', 'point-to-point']) obj.source = 'wifi-simple-adhoc-grid.cc' obj = bld.create_ns3_program('wifi-simple-infra', ['internet', 'mobility', 'wifi']) @@ -41,5 +41,5 @@ def build(bld): obj = bld.create_ns3_program('ofdm-validation', ['core', 'mobility', 'wifi', 'contrib']) obj.source = 'ofdm-validation.cc' - obj = bld.create_ns3_program('wifi-hidden-terminal', ['core', 'mobility', 'wifi', 'propagation', 'flow-monitor']) + obj = bld.create_ns3_program('wifi-hidden-terminal', ['internet', 'mobility', 'wifi', 'applications', 'propagation', 'flow-monitor']) obj.source = 'wifi-hidden-terminal.cc' diff --git a/samples/wscript b/samples/wscript index 905ffa4b6..2cf9f3e14 100644 --- a/samples/wscript +++ b/samples/wscript @@ -47,7 +47,7 @@ def build(bld): obj.source = 'main-random-walk.cc' obj = bld.create_ns3_program('main-propagation-loss', - ['core', 'mobility', 'contrib']) + ['core', 'mobility', 'contrib', 'propagation']) obj.source = 'main-propagation-loss.cc' obj = bld.create_ns3_program('sample-random-variable', diff --git a/src/contrib/energy/wscript b/src/contrib/energy/wscript index 5483f917e..6d8ad06fd 100644 --- a/src/contrib/energy/wscript +++ b/src/contrib/energy/wscript @@ -1,7 +1,7 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- def build(bld): - obj = bld.create_ns3_module('energy', ['network', 'wifi']) + obj = bld.create_ns3_module('energy', ['internet', 'wifi']) obj.source = [ 'model/wifi-radio-energy-model.cc', 'model/energy-source.cc', diff --git a/src/core/wscript b/src/core/wscript index 13fd9f3b9..3937c0b4d 100644 --- a/src/core/wscript +++ b/src/core/wscript @@ -138,6 +138,10 @@ def build(bld): 'model/names.cc', 'model/vector.cc', 'model/fatal-impl.cc', + ] + + core_test = bld.create_ns3_module_test_library('core') + core_test.source = [ 'test/attribute-test-suite.cc', 'test/callback-test-suite.cc', 'test/names-test-suite.cc', @@ -249,9 +253,11 @@ def build(bld): 'model/realtime-simulator-impl.cc', 'model/wall-clock-synchronizer.cc', ]) - core.uselib = 'RT' + core.uselib = 'RT' + core_test.uselib = 'RT' else: - core.uselib = '' + core.uselib = '' + core_test.uselib = '' if env['ENABLE_THREADING']: core.source.extend([ @@ -260,7 +266,8 @@ def build(bld): 'model/unix-system-mutex.cc', 'model/unix-system-condition.cc', ]) - core.uselib = core.uselib + ' PTHREAD' + core.uselib = core.uselib + ' PTHREAD' + core_test.uselib = core_test.uselib + ' PTHREAD' headers.source.extend([ 'model/unix-fd-reader.h', 'model/system-mutex.h', @@ -269,8 +276,9 @@ def build(bld): ]) if env['ENABLE_GSL']: - core.uselib = core.uselib + ' GSL GSLCBLAS M' - core.source.extend(['test/rng-test-suite.cc']) + core.uselib = core.uselib + ' GSL GSLCBLAS M' + core_test.uselib = core_test.uselib + ' GSL GSLCBLAS M' + core_test.source.extend(['test/rng-test-suite.cc']) pymod = bld.ns3_python_bindings() if pymod is not None: diff --git a/src/emu/examples/wscript b/src/emu/examples/wscript index 37ad28c82..3a2f70452 100644 --- a/src/emu/examples/wscript +++ b/src/emu/examples/wscript @@ -3,8 +3,8 @@ def build(bld): env = bld.env_of_name('default') if env['ENABLE_EMU']: - obj = bld.create_ns3_program('emu-udp-echo', ['emu', 'internet']) + obj = bld.create_ns3_program('emu-udp-echo', ['emu', 'internet', 'applications']) obj.source = 'emu-udp-echo.cc' - obj = bld.create_ns3_program('emu-ping', ['emu', 'internet']) + obj = bld.create_ns3_program('emu-ping', ['emu', 'internet', 'applications']) obj.source = 'emu-ping.cc' diff --git a/src/internet/wscript b/src/internet/wscript index 712c0bf81..f794d7b81 100644 --- a/src/internet/wscript +++ b/src/internet/wscript @@ -92,7 +92,7 @@ def configure(conf): def build(bld): # bridge and mpi dependencies are due to global routing - obj = bld.create_ns3_module('internet', ['bridge', 'mpi', 'network']) + obj = bld.create_ns3_module('internet', ['bridge', 'mpi', 'network', 'core']) obj.source = [ 'test/tcp-test.cc', 'test/udp-test.cc', diff --git a/src/lte/examples/wscript b/src/lte/examples/wscript index 802e21559..87b35809d 100644 --- a/src/lte/examples/wscript +++ b/src/lte/examples/wscript @@ -14,7 +14,7 @@ def build(bld): obj.source = 'lte-device.cc' obj = bld.create_ns3_program('lte-channel-model', - ['lte']) + ['lte', 'network']) obj.source = 'lte-channel-model.cc' obj = bld.create_ns3_program('lte-amc', diff --git a/src/lte/wscript b/src/lte/wscript index cda7c8313..a3eed4d43 100644 --- a/src/lte/wscript +++ b/src/lte/wscript @@ -2,7 +2,7 @@ def build(bld): - module = bld.create_ns3_module('lte', ['core', 'network', 'spectrum', 'wimax']) + module = bld.create_ns3_module('lte', ['internet', 'spectrum', 'wimax']) module.source = [ 'model/lte-spectrum-phy.cc', 'model/enb-lte-spectrum-phy.cc', diff --git a/src/mesh/examples/wscript b/src/mesh/examples/wscript index 5a87e93e5..7202e1e1f 100644 --- a/src/mesh/examples/wscript +++ b/src/mesh/examples/wscript @@ -1,5 +1,5 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- def build(bld): - obj = bld.create_ns3_program('mesh', ['core', 'mobility', 'wifi', 'mesh']) + obj = bld.create_ns3_program('mesh', ['internet', 'mobility', 'wifi', 'mesh']) obj.source = 'mesh.cc' diff --git a/src/network/wscript b/src/network/wscript index 3c4f43295..7b25797df 100644 --- a/src/network/wscript +++ b/src/network/wscript @@ -49,10 +49,6 @@ def build(bld): 'utils/sequence-number.cc', 'utils/simple-channel.cc', 'utils/simple-net-device.cc', - 'test/buffer-test.cc', - 'test/packetbb-test-suite.cc', - 'test/packet-metadata-test.cc', - 'test/pcap-file-test-suite.cc', 'helper/application-container.cc', 'helper/net-device-container.cc', 'helper/node-container.cc', @@ -60,6 +56,14 @@ def build(bld): 'helper/trace-helper.cc', ] + network_test = bld.create_ns3_module_test_library('network') + network_test.source = [ + 'test/buffer-test.cc', + 'test/packetbb-test-suite.cc', + 'test/packet-metadata-test.cc', + 'test/pcap-file-test-suite.cc', + ] + headers = bld.new_task_gen('ns3header') headers.module = 'network' headers.source = [ diff --git a/src/nix-vector-routing/examples/wscript b/src/nix-vector-routing/examples/wscript index 9f4bd3841..c1a68751d 100644 --- a/src/nix-vector-routing/examples/wscript +++ b/src/nix-vector-routing/examples/wscript @@ -2,9 +2,9 @@ def build(bld): obj = bld.create_ns3_program('nix-simple', - ['point-to-point', 'internet', 'nix-vector-routing']) + ['point-to-point', 'applications', 'internet', 'nix-vector-routing']) obj.source = 'nix-simple.cc' obj = bld.create_ns3_program('nms-p2p-nix', - ['point-to-point', 'internet', 'nix-vector-routing']) + ['point-to-point', 'applications', 'internet', 'nix-vector-routing']) obj.source = 'nms-p2p-nix.cc' diff --git a/src/olsr/examples/wscript b/src/olsr/examples/wscript index 2e279efbf..7dbf0a68b 100644 --- a/src/olsr/examples/wscript +++ b/src/olsr/examples/wscript @@ -2,7 +2,7 @@ def build(bld): obj = bld.create_ns3_program('simple-point-to-point-olsr', - ['point-to-point', 'internet', 'olsr']) + ['point-to-point', 'internet', 'olsr', 'applications', 'wifi']) obj.source = 'simple-point-to-point-olsr.cc' obj = bld.create_ns3_program('olsr-hna', diff --git a/src/spectrum/examples/wscript b/src/spectrum/examples/wscript index dffd065bc..3b369eb0e 100644 --- a/src/spectrum/examples/wscript +++ b/src/spectrum/examples/wscript @@ -2,11 +2,11 @@ def build(bld): obj = bld.create_ns3_program('adhoc-aloha-ideal-phy', - ['spectrum']) + ['spectrum', 'mobility']) obj.source = 'adhoc-aloha-ideal-phy.cc' obj = bld.create_ns3_program('adhoc-aloha-ideal-phy-with-microwave-oven', - ['spectrum']) + ['spectrum', 'mobility']) obj.source = 'adhoc-aloha-ideal-phy-with-microwave-oven.cc' diff --git a/src/spectrum/wscript b/src/spectrum/wscript index 9668fd080..3a19cffcc 100644 --- a/src/spectrum/wscript +++ b/src/spectrum/wscript @@ -2,7 +2,7 @@ def build(bld): - module = bld.create_ns3_module('spectrum', ['core', 'network', 'propagation', 'applications']) + module = bld.create_ns3_module('spectrum', ['internet', 'propagation', 'applications']) module.source = [ 'model/spectrum-model.cc', 'model/spectrum-value.cc', diff --git a/src/tap-bridge/examples/wscript b/src/tap-bridge/examples/wscript index c8ab1ecd6..deaeb6a22 100644 --- a/src/tap-bridge/examples/wscript +++ b/src/tap-bridge/examples/wscript @@ -7,7 +7,7 @@ def build(bld): obj.source = 'tap-csma.cc' obj = bld.create_ns3_program('tap-csma-virtual-machine', ['csma', 'tap-bridge', 'internet']) obj.source = 'tap-csma-virtual-machine.cc' - obj = bld.create_ns3_program('tap-wifi-virtual-machine', ['csma', 'tap-bridge', 'internet']) + obj = bld.create_ns3_program('tap-wifi-virtual-machine', ['csma', 'tap-bridge', 'internet', 'wifi']) obj.source = 'tap-wifi-virtual-machine.cc' obj = bld.create_ns3_program('tap-wifi-dumbbell', ['wifi', 'csma', 'point-to-point', 'tap-bridge', 'internet']) obj.source = 'tap-wifi-dumbbell.cc' diff --git a/src/test/nsctcp/nsctcp-loss-test-suite.cc b/src/test/ns3tcp/nsctcp-loss-test-suite.cc similarity index 100% rename from src/test/nsctcp/nsctcp-loss-test-suite.cc rename to src/test/ns3tcp/nsctcp-loss-test-suite.cc diff --git a/src/test/ns3tcp/wscript b/src/test/ns3tcp/wscript index cfdb73ab6..681ae1e0f 100644 --- a/src/test/ns3tcp/wscript +++ b/src/test/ns3tcp/wscript @@ -10,12 +10,16 @@ def build(bld): headers.source = [ 'ns3tcp.h', ] - ns3tcp.source = [ + + ns3tcp_test = bld.create_ns3_module_test_library('ns3tcp') + ns3tcp_test.source = [ 'ns3tcp-socket-writer.cc', 'ns3tcp-socket-test-suite.cc', 'ns3tcp-loss-test-suite.cc', 'ns3tcp-state-test-suite.cc', ] + if bld.env['NSC_ENABLED']: - ns3tcp.source.append ('ns3tcp-interop-test-suite.cc') - ns3tcp.source.append ('ns3tcp-cwnd-test-suite.cc') + ns3tcp_test.source.append ('ns3tcp-interop-test-suite.cc') + ns3tcp_test.source.append ('ns3tcp-cwnd-test-suite.cc') + ns3tcp_test.source.append ('nsctcp-loss-test-suite.cc') diff --git a/src/test/ns3wifi/wscript b/src/test/ns3wifi/wscript index e6a20b524..79b2846ac 100644 --- a/src/test/ns3wifi/wscript +++ b/src/test/ns3wifi/wscript @@ -5,12 +5,15 @@ def configure(conf): def build(bld): ns3wifi = bld.create_ns3_module('ns3wifi', ['internet', 'mobility', 'propagation', 'wifi', 'applications']) - ns3wifi.source = [ - 'wifi-interference-test-suite.cc', - 'wifi-msdu-aggregator-test-suite.cc', - ] headers = bld.new_task_gen('ns3header') headers.module = 'ns3wifi' headers.source = [ 'ns3wifi.h', ] + + ns3wifi_test = bld.create_ns3_module_test_library('ns3wifi') + ns3wifi_test.source = [ + 'wifi-interference-test-suite.cc', + 'wifi-msdu-aggregator-test-suite.cc', + ] + diff --git a/src/test/nsctcp/wscript b/src/test/nsctcp/wscript deleted file mode 100644 index 955cdb063..000000000 --- a/src/test/nsctcp/wscript +++ /dev/null @@ -1,15 +0,0 @@ -## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- - -def configure(conf): - pass - -def build(bld): - nsctcp = bld.create_ns3_module('nsctcp') - headers = bld.new_task_gen('ns3header') - headers.module = 'nsctcp' - headers.source = [ - ] - if bld.env['NSC_ENABLED']: - nsctcp.source = [ - 'nsctcp-loss-test-suite.cc', - ] diff --git a/src/test/perf/wscript b/src/test/perf/wscript index b9310aa00..8d0963453 100644 --- a/src/test/perf/wscript +++ b/src/test/perf/wscript @@ -4,11 +4,7 @@ def configure(conf): pass def build(bld): - obj = bld.create_ns3_module('perf') - headers = bld.new_task_gen('ns3header') - headers.module = 'perf' - - obj = bld.create_ns3_program('perf-io', ['core', 'helper', 'node']) + obj = bld.create_ns3_program('perf-io', ['network']) obj.source = 'perf-io.cc' diff --git a/src/topology-read/examples/wscript b/src/topology-read/examples/wscript index 162df44ec..1ce9b8a71 100644 --- a/src/topology-read/examples/wscript +++ b/src/topology-read/examples/wscript @@ -1,5 +1,5 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- def build(bld): - obj = bld.create_ns3_program('topology-read', ['topology-read', 'internet']) + obj = bld.create_ns3_program('topology-read', ['topology-read', 'internet', 'nix-vector-routing', 'point-to-point', 'applications']) obj.source = 'topology-example-sim.cc' diff --git a/src/uan/examples/wscript b/src/uan/examples/wscript index 4a1cd4f7d..e5d3b6edd 100644 --- a/src/uan/examples/wscript +++ b/src/uan/examples/wscript @@ -1,8 +1,8 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- def build(bld): - obj = bld.create_ns3_program('uan-cw-example', ['network', 'mobility', 'contrib', 'applications', 'uan']) + obj = bld.create_ns3_program('uan-cw-example', ['internet', 'mobility', 'contrib', 'applications', 'uan']) obj.source = 'uan-cw-example.cc' - obj = bld.create_ns3_program('uan-rc-example', ['network', 'mobility', 'contrib', 'applications', 'uan']) + obj = bld.create_ns3_program('uan-rc-example', ['internet', 'mobility', 'contrib', 'applications', 'uan']) obj.source = 'uan-rc-example.cc' diff --git a/src/wimax/examples/wscript b/src/wimax/examples/wscript index 7f5697941..43e3a513b 100644 --- a/src/wimax/examples/wscript +++ b/src/wimax/examples/wscript @@ -1,11 +1,11 @@ -## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- +7## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- def build(bld): - obj = bld.create_ns3_program( 'wimax-ipv4', ['wimax', 'internet', 'csma']) + obj = bld.create_ns3_program( 'wimax-ipv4', ['wimax', 'internet', 'mobility', 'csma']) obj.source = 'wimax-ipv4.cc' obj = bld.create_ns3_program( 'wimax-multicast', ['wimax', 'internet', 'csma']) obj.source = 'wimax-multicast.cc' - obj = bld.create_ns3_program( 'wimax-simple', ['wimax', 'internet']) + obj = bld.create_ns3_program( 'wimax-simple', ['wimax', 'internet', 'mobility']) obj.source = 'wimax-simple.cc' diff --git a/src/wscript b/src/wscript index 2bb4cc73d..a0229b5ca 100644 --- a/src/wscript +++ b/src/wscript @@ -12,6 +12,9 @@ import Build import Utils import Constants +import ccroot +ccroot.USE_TOP_LEVEL = True + try: set except NameError: @@ -44,9 +47,7 @@ all_modules = ( 'spectrum', 'mesh', 'test', - 'test/perf', 'test/ns3tcp', - 'test/nsctcp', 'test/ns3wifi', 'contrib/flow-monitor', 'wimax', @@ -94,15 +95,29 @@ def configure(conf): def create_ns3_module(bld, name, dependencies=()): - module = bld.new_task_gen('cxx', 'cc') + # Create a separate library for this module. + if bld.env['ENABLE_STATIC_NS3']: + module = bld.new_task_gen('cxx', 'cstaticlib') + else: + module = bld.new_task_gen('cxx', 'cshlib') module.is_ns3_module = True module.name = 'ns3-' + name - module.target = module.name - module.add_objects = ['ns3-' + dep for dep in dependencies] + # Add the proper path to the module's name. + module.target = '%s/ns3-%s' % (bld.srcnode.relpath_gen(bld.path), name) + # Set the libraries this module depends on. + module.uselib_local = ['ns3-' + dep for dep in dependencies] module.module_deps = list(dependencies) if not module.env['ENABLE_STATIC_NS3']: module.env.append_value('CXXFLAGS', module.env['shlib_CXXFLAGS']) module.env.append_value('CCFLAGS', module.env['shlib_CXXFLAGS']) + # Turn on the link flags for shared libraries if we have the + # proper compiler and platform. + if module.env['CXX_NAME'] in ['gcc', 'icc'] and module.env['WL_SONAME_SUPPORTED']: + # Get the module library name without any relative paths + # at its beginning because all of the libraries will end + # up in the same directory. + module_library_name = os.path.basename(ccroot.get_target_name(module)) + module.env.append_value('LINKFLAGS', '-Wl,--soname=%s' % module_library_name) elif module.env['CXX_NAME'] in ['gcc', 'icc'] and \ os.uname()[4] == 'x86_64' and \ module.env['ENABLE_PYTHON_BINDINGS']: @@ -116,6 +131,32 @@ def create_ns3_module(bld, name, dependencies=()): module.env.append_value('CCDEFINES', "NS3_MODULE_COMPILATION") return module +def create_ns3_module_test_library(bld, name): + # Create an ns3 module for the test library that depends only on + # the module being tested. + library_name = name + "-test" + library = bld.create_ns3_module(library_name, [name]) + + # Modify attributes for the test library that are different from a + # normal module. + del library.is_ns3_module + library.is_ns3_module_test_library = True + library.module_name = 'ns3-' + name + + # Add this test library and module to the lists if the module is + # enabled. + if library.module_name in bld.env['NS3_ENABLED_MODULES']: + bld.env.append_value('NS3_ENABLED_MODULES_WITH_TEST_LIBRARIES', library.module_name) + bld.env.append_value('NS3_ENABLED_MODULE_TEST_LIBRARIES', library.name) + + # Set the include path from the build directory to modules. + relative_path_from_build_to_here = bld.path.relpath_gen(bld.bldnode) + include_flag = '-I' + relative_path_from_build_to_here + library.env.append_value('CXXFLAGS', include_flag) + library.env.append_value('CCFLAGS', include_flag) + + return library + def create_obj(bld, *args): warnings.warn("(in %s) Use bld.new_task_gen(...) now, instead of bld.create_obj(...)" % str(bld.path), DeprecationWarning, stacklevel=2) @@ -178,14 +219,16 @@ def ns3_python_bindings(bld): pymod.source = ['bindings/ns3module.cc'] pymod.target = '%s/%s' % (bld.srcnode.find_dir("bindings/python/ns").relpath_gen(bld.path), module.replace('-', '_')) pymod.name = 'ns3module_%s' % module - pymod.uselib_local = "ns3" + pymod.uselib_local = bld.env['NS3_ENABLED_MODULES'] if pymod.env['ENABLE_STATIC_NS3']: if sys.platform == 'darwin': pymod.env.append_value('LINKFLAGS', '-Wl,-all_load') - pymod.env.append_value('LINKFLAGS', '-lns3') + for mod in pymod.uselib_local: + pymod.env.append_value('LINKFLAGS', '-l' + mod) else: pymod.env.append_value('LINKFLAGS', '-Wl,--whole-archive,-Bstatic') - pymod.env.append_value('LINKFLAGS', '-lns3') + for mod in pymod.uselib_local: + pymod.env.append_value('LINKFLAGS', '-l' + mod) pymod.env.append_value('LINKFLAGS', '-Wl,-Bdynamic,--no-whole-archive') defines = list(pymod.env['CXXDEFINES']) defines.extend(['NS_DEPRECATED=', 'NS3_DEPRECATED_H']) @@ -201,6 +244,7 @@ def ns3_python_bindings(bld): def build(bld): bld.create_ns3_module = types.MethodType(create_ns3_module, bld) + bld.create_ns3_module_test_library = types.MethodType(create_ns3_module_test_library, bld) bld.create_obj = types.MethodType(create_obj, bld) bld.ns3_python_bindings = types.MethodType(ns3_python_bindings, bld) diff --git a/utils/wscript b/utils/wscript index edbb6c1de..ec2fc58b6 100644 --- a/utils/wscript +++ b/utils/wscript @@ -7,7 +7,10 @@ def build(bld): test_runner = bld.create_ns3_program('test-runner', ['core']) test_runner.install_path = None # do not install test_runner.source = 'test-runner.cc' - test_runner.uselib_local = 'ns3' + + # Set the libraries the testrunner depends on equal to the list of + # enabled modules plus the list of enabled module test libraries. + test_runner.uselib_local = env['NS3_ENABLED_MODULES'] + env['NS3_ENABLED_MODULE_TEST_LIBRARIES'] obj = bld.create_ns3_program('bench-simulator', ['core']) obj.source = 'bench-simulator.cc' diff --git a/wscript b/wscript index c87e17634..712d0016c 100644 --- a/wscript +++ b/wscript @@ -382,6 +382,15 @@ def configure(conf): else: conf.report_optional_feature("static", "Static build", False, "option --enable-static not selected") + + # These flags are used for the implicitly dependent modules. + if env['ENABLE_STATIC_NS3']: + if sys.platform == 'darwin': + env.STATICLIB_MARKER = '-Wl,-all_load' + else: + env.STATICLIB_MARKER = '-Wl,--whole-archive,-Bstatic' + env.SHLIB_MARKER = '-Wl,-Bdynamic,--no-whole-archive' + have_gsl = conf.pkg_check_modules('GSL', 'gsl', mandatory=False) conf.env['ENABLE_GSL'] = have_gsl @@ -482,15 +491,18 @@ def create_ns3_program(bld, name, dependencies=('core',)): program.is_ns3_program = True program.name = name program.target = program.name - program.uselib_local = 'ns3' + # Each of the modules this program depends on has its own library. + program.uselib_local = ['ns3-' + dep for dep in dependencies] program.ns3_module_dependencies = ['ns3-'+dep for dep in dependencies] if program.env['ENABLE_STATIC_NS3']: if sys.platform == 'darwin': program.env.append_value('LINKFLAGS', '-Wl,-all_load') - program.env.append_value('LINKFLAGS', '-lns3') + for dep in dependencies: + program.env.append_value('LINKFLAGS', '-lns3-' + dep) else: program.env.append_value('LINKFLAGS', '-Wl,--whole-archive,-Bstatic') - program.env.append_value('LINKFLAGS', '-lns3') + for dep in dependencies: + program.env.append_value('LINKFLAGS', '-lns3-' + dep) program.env.append_value('LINKFLAGS', '-Wl,-Bdynamic,--no-whole-archive') return program @@ -525,6 +537,9 @@ def add_scratch_programs(bld): def build(bld): + bld.env['NS3_ENABLED_MODULES_WITH_TEST_LIBRARIES'] = [] + bld.env['NS3_ENABLED_MODULE_TEST_LIBRARIES'] = [] + wutils.bld = bld if Options.options.no_task_lines: import Runner @@ -572,7 +587,8 @@ def build(bld): module_obj = bld.name_to_obj(module, env) if module_obj is None: raise ValueError("module %s not found" % module) - for dep in module_obj.add_objects: + # Each enabled module has its own library. + for dep in module_obj.uselib_local: if not dep.startswith('ns3-'): continue if dep not in modules: @@ -582,6 +598,8 @@ def build(bld): env['NS3_ENABLED_MODULES'] = modules print "Modules to build:", modules + print "Modules to test:", env['NS3_ENABLED_MODULES_WITH_TEST_LIBRARIES'] + def exclude_taskgen(bld, taskgen): # ok, so WAF does not provide an API to prevent an # arbitrary taskgen from running; we have to muck around with @@ -616,30 +634,17 @@ def build(bld): if hasattr(obj, "is_ns3_module") and obj.name not in modules: exclude_taskgen(bld, obj) # kill the module + # disable the module test libraries + if hasattr(obj, "is_ns3_module_test_library") and obj.module_name not in modules: + exclude_taskgen(bld, obj) # kill the module test library + # disable the ns3header_taskgen if type(obj).__name__ == 'ns3header_taskgen': if ("ns3-%s" % obj.module) not in modules: obj.mode = 'remove' # tell it to remove headers instead of installing - ## Create a single ns3 library containing all enabled modules - if env['ENABLE_STATIC_NS3']: - lib = bld.new_task_gen('cxx', 'staticlib') - lib.name = 'ns3' - lib.target = 'ns3' - else: - lib = bld.new_task_gen('cxx', 'shlib') - lib.name = 'ns3' - lib.target = 'ns3' - if lib.env['CXX_NAME'] in ['gcc', 'icc'] and env['WL_SONAME_SUPPORTED']: - lib.env.append_value('LINKFLAGS', '-Wl,--soname=%s' % ccroot.get_target_name(lib)) - if env['NS3_ENABLED_MODULES']: - lib.add_objects = list(modules) env['NS3_ENABLED_MODULES'] = list(modules) - lib.uselib_local = list(modules) - else: - lib.add_objects = list(env['NS3_MODULES']) - lib.uselib_local = list(env['NS3_MODULES']) bld.add_subdirs('bindings/python')