Commit Graph

1572 Commits

Author SHA1 Message Date
Gabriel Ferreira
215f83f9ec core, examples: fix rollback mistake with HAVE_SQLITE3 and core build 2022-05-15 00:12:25 -03:00
Tom Henderson
0097a0b756 core: Rescan bindings for previous commit 2022-05-14 08:48:00 -07:00
Stefano Avallone
ca59097075 core: Use std::optional to return an optional value 2022-05-14 08:48:00 -07:00
Gabriel Ferreira
6473b7ec98 build: rollback linking to globally searched libraries 2022-05-13 18:50:55 -03:00
Gabriel Ferreira
ea7ca9b690 build: include and link to globally searched libraries 2022-05-12 19:15:48 -03:00
Tom Henderson
6a202f88ee bindings: Rescan APIs for inclusion of STL features 2022-05-05 13:31:45 -07:00
Eduardo Almeida
e5e58ebdbc build: Update CMake to use system threads
With the help of Gabriel Ferreira and Tommaso Pecorella.
2022-05-04 19:47:39 +01:00
Eduardo Almeida
f4d296baaa core: Replace SystemCondition class with STL 2022-05-04 19:04:20 +01:00
Eduardo Almeida
85ad3961fc core: Replace SystemThread class with STL 2022-05-04 19:04:09 +01:00
Eduardo Almeida
b32c80ecb0 core: Replace SystemMutex and CriticalSection classes with STL 2022-05-04 19:00:50 +01:00
Gabriel Ferreira
4b83eb7085 build: Fix features and make pthread an explicit dependency
Includes:
- Include threads sources even when NS3_PTHREAD=OFF
- Do not include realtime sources if NS3_REALTIME=OFF
- Disable tap-bridge if emulation or realtime features are disabled
- Build tap examples when tap-netdevice is enabled
- Remove NS3_PTHREAD option and make it an explicit requirement
2022-04-23 13:21:13 -03:00
Tom Henderson
a614114865 bindings: Rescan all APIs 2022-04-18 15:30:35 -07:00
Peter D. Barnes, Jr
5be17e1f21 core: (fixes #487) Refactor double to int64x64 conversion test for platforms with less than 64 bit mantissa 2022-04-03 12:12:32 -07:00
Peter D. Barnes, Jr
e2ee75cd5a Explicit operator bool() for int64x64_t 2022-04-03 12:12:32 -07:00
Tolik Zinovyev
07f9bd4ccb core: Simplify a line in int64x64-128.cc. 2022-03-22 09:51:17 -07:00
Gabriel Ferreira
fbebb61a6f build: refactoring CMake and ns3
Includes:
- summarize ns3 commands on top-level --help
- add --quiet as a post-positional argument
- refactor verbose variable names
- aggregate ./ns3 --check-config|profile|version into ./ns3 show config|profile|version
- remove ns3 --check deprecated option
- set VERBOSE environment variable when building/running with -v/--verbose
  https://gitlab.com/nsnam/ns-3-dev/-/issues/590#note_870520212
- enable verbose Makefiles when NS3_VERBOSE is enabled
  https://gitlab.com/nsnam/ns-3-dev/-/issues/590
- introduce default build profile and refactor others
  https://gitlab.com/nsnam/ns-3-dev/-/issues/591
- use "-Og" in "CMAKE_BUILD_TYPE=Debug"/"ns3 -d debug"
- add back FindPython3 and fallback to FindPythonInterp if needed
- redirect pybindgen apiscan output to apiscan.log
- enable CMAKE_FIND_DEBUG_MODE with NS3_VERBOSE and CMake >= 3.17
- add search path logging to find_external_library
  Requires NS3_VERBOSE=ON. This is an anternative to CMAKE_FIND_DEBUG_MODE=true available in CMake >= 3.17
- remove C support
- reduce Int128 checks
- fuse Boost Units Quantity and SI header checks
- replace not found messages with skipping
2022-03-13 21:23:47 +00:00
Eduardo Almeida
0a78b956bf core: Simplify Now() function 2022-02-25 13:57:44 +00:00
Eduardo Almeida
a4d174f8bf core (fixes #565): Change TypeId constructor to accept std::string 2022-02-25 12:08:10 +00:00
Gabriel Ferreira
e32c177e45 build: remove waf files, tests and references 2022-02-21 22:08:45 -03:00
Tom Henderson
5367f1fed7 bindings: Rescan APIs of most modules 2022-02-16 15:59:27 -08:00
Gabriel Ferreira
8ac52d83cf build: versioning and find_external_library fixes
Includes:
- Producing version.cache file if --enable-build-version/NS3_ENABLE_BUILD_VERSION=ON
- Consume version.cache file if the git commit history is not available
- Crash the configuration if neither the git commit history or version.cache file are
available when NS3_ENABLE_BUILD_VERSION=ON
- Warn user to reconfigure the project with NS3_ENABLE_BUILD_VERSION=ON to check
the version
- Only try to remove duplicates if there is a list in find_external_library
2022-02-05 23:46:06 +00:00
Tommaso Pecorella
1eac22c4b0 documentation: Doxygen post fixes 2022-01-31 22:19:11 +00:00
Tommaso Pecorella
8ac0116193 core: doxygen fixes 2022-01-30 12:06:53 -06:00
Gabriel Ferreira
41aacec626 build: CMake refactoring
Includes:
- refactor build_lib and build_lib_example macros
    - unify src and contrib macros
    - replace macro with function not to leak definitions
    - parse list of arguments
- different cmake-format file for modules to list one item per line
2022-01-28 10:20:18 -03:00
Tommaso Pecorella
e1e07f2ffd core: skip results checking when introspecting the command line 2022-01-27 17:28:38 -03:00
Gabriel Ferreira
33f2ee841b doc: update ns3 API 2022-01-19 16:25:03 -03:00
Gabriel Ferreira
e41e16c799 core: Reuse a global hasher instance 2022-01-15 01:09:28 +00:00
Gabriel Ferreira
ff3b511384 build: Bugfixes and refactoring of ns3 and CMake
Including:
- add missing command for introspected doxygen
- run get_version.sh before running doxygen
- use find_package(Doxygen) to get the doxygen executable
- silence python and sqlite find_package warnings
- return cmake returncode if configuration fails
- require GTK3 3.22
- link all libraries to print-introspected-doxygen
- replace shell with use_shell for variable name
- revert wrong changes to propagation of return codes and add test
- disable pch when ccache is found
- make --enable-sudo a post-build step and a runtime option
- add docs subparser
- add enable-sudo option
- refactor positional argument values
- fix --check option and add shell option
- replace --no-task-lines with --quiet
- replace --nowaf with --no-build
- replace --run --run-no-build with run (--no-build)
- replace ns3 documentation related arguments with targets
- document test-ns3.py
- export include directories used by ns3 libraries
- refactor CMake documentation dependency checking and behavior
- add --allow-run-as-root for running MPI examples on the CI
2022-01-09 02:48:53 -03:00
Peter Barnes
762494924e core: avoid GCC compiler error 2022-01-07 22:25:39 +00:00
Tommaso Pecorella
a8fc1b6235 doxygen: fix warnings in various modules 2022-01-05 00:22:31 -06:00
Ameya Deshpande
fcc095b05c core: Use std::invoke_result instead of std::result_of
C++17 introduces `std::invoke_result`, and deprecates
the usage of `std::result_of`.

Signed-off-by: Ameya Deshpande <ameyanrd@outlook.com>
2021-12-28 09:06:53 -08:00
Peter Barnes
3dd74f2017 core: refactor ObjectBase::ConstructSelf 2021-12-24 00:08:09 +00:00
Peter Barnes
7f3d883f75 core: fix doxy warnings 2021-12-21 17:06:57 +00:00
Peter Barnes
0e685cbdbb Use [[maybe_unused]] attribute directly, instead of NS_UNUSED 2021-12-21 10:32:43 +00:00
Peter Barnes
1d0c81dea4 core: pre-event hook, to facilitate chaining SimulatorImpls 2021-12-20 21:59:44 +00:00
Tom Henderson
aad79536bf bindings: Rescan all APIs 2021-12-18 16:41:52 -08:00
Eduardo Almeida
96ec88cd59 core: Remove NonCopyable class 2021-12-18 16:41:39 -08:00
Peter D. Barnes, Jr
9c5fec6697 Define NS_DEPRECATED_3_36 2021-12-17 17:24:11 +00:00
Peter D. Barnes, Jr
ccb21e8887 Use C++-14 [[deprecated (msg)]], convert NS_DEPRECATED to function macro 2021-12-17 17:24:11 +00:00
Peter Barnes
6f319e48fc core: (bugzilla 2203) MakeEvent from a lambda 2021-12-17 17:23:45 +00:00
Peter Barnes
4dc0ec0682 core: (fixes #141) Print parent attributes from CommandLine --PrintAttributes 2021-12-17 01:04:14 +00:00
Peter Barnes
dd1d254a9f core: html-encode in CommandLine::PrintDoxygenUsage 2021-12-16 23:32:15 +00:00
Peter Barnes
8b0d0e7044 core: symbolic names for EventId reserved Uid values 2021-12-13 23:04:15 +00:00
Peter Barnes
c333dbc0cd core: forward ScheduleNow(...) to Schedule(0, ...) 2021-12-10 22:41:33 +00:00
Gabriel Ferreira
f6ef415392 build: CMake bugfixes
Fixes include:
- Handling of relative paths used as output directories
- Accepting comma separated lists of modules to enable/disable
- Echoing all CMake commands at the end of the execution of ns3 script
- More informative optional features summary output
- Replace absolute paths with relative paths in the printed CMake output for less verbose output
- Set debug build type on the CMake side to ensure ccmake doesn't crash
- Prefix INT64X64 with NS3 to indicate user switch
- Compiler version check
- Removal of verbose option
- Suppress empty enabled/disabled module tables

Features include:
- Test for installation/uninstallation of ns-3 as a CMake package
- Test importing ns-3 as a CMake package and use in a 3rd-party project
- Test to check VERSION usage
- ns3 option to enable/disable sanitizers
- Associate headers to libraries targets
2021-12-10 02:13:43 +00:00
Tommaso Pecorella
deaec64d36 core: remove NS_TEST_*_INTERNAL 2021-12-09 01:25:52 +00:00
Stefano Avallone
6ec6fc2eb6 core: Add an attribute value storing a std::tuple 2021-12-06 10:49:40 +01:00
Gabriel Ferreira
a893eba7e3 build: Fix CMake and ns3 script bugs, add a test suite and fix formatting 2021-12-05 21:53:49 +00:00
Peter D. Barnes, Jr
1dc223f85a core: mark event impl function typedefs as maybe_unused 2021-12-02 21:00:50 +00:00
Gabriel Ferreira
3c604d5b2e Update docs with CMake and ns3 wrapper 2021-12-01 12:29:56 -08:00