Commit Graph

454 Commits

Author SHA1 Message Date
Peter D. Barnes, Jr
1bf56b7697 utils: (merges !1000) Rename and refactor bench-simulator -> bench-scheduler
Add --all option to benchmark all schedulers.
2022-07-13 17:32:56 -07:00
Gabriel Ferreira
36bd103c49 build: ignore hidden source files in the scratch directory
Fixes https://gitlab.com/nsnam/ns-3-dev/-/issues/684
2022-06-21 15:42:33 -03:00
Gabriel Ferreira
e15b0dce2f tests: new test cases to check for style checking and sanitizers 2022-06-18 17:57:05 -03:00
Gabriel Ferreira
60e1e4032c fixing dead links 2022-06-18 17:57:05 -03:00
Gabriel Ferreira
a1580a5bd0 tests: new test case to check for stale links in the source code and docs 2022-06-18 17:57:05 -03:00
Tom Henderson
b6a5ee8151 Run utils/trim-trailing-whitespace.py on codebase 2022-06-05 21:01:11 -07:00
Eduardo Almeida
9a5ca86d06 ci: Add CI job to check trailing whitespace 2022-06-05 20:59:44 -07:00
Eduardo Almeida
d70780caad utils: (merges !839) Add trim-trailing-whitespace.py script 2022-06-05 20:59:30 -07:00
Gabriel Ferreira
b2b5a07a52 CI: export environment variable used by Valgrind on Archlinux 2022-05-23 14:58:12 -03:00
Gabriel Ferreira
0548f480ee CI: Add Alpine job to check if ns-3 can be built with Musl C library 2022-05-17 16:20:56 -03:00
Gabriel Ferreira
6473b7ec98 build: rollback linking to globally searched libraries 2022-05-13 18:50:55 -03:00
Gabriel Ferreira
f1e9d9c842 build: config table fixes
Includes:
- consistent ns-3 naming
- updated sqlite3 entry
- added entries for libxml2 and pybindgen scanning
2022-05-13 15:34:49 -03:00
Gabriel Ferreira
bf6effc920 build: Improve ns3rc parsing to support multiline list/skip comments 2022-05-11 16:01:48 -03:00
Gabriel Ferreira
22900026ce test: Improve installation tests
- Use C++17 on the CMake project importing ns-3 as a 3rd-party package
- Skip pkg-config import check if it is not installed
2022-05-03 13:32:51 -03:00
Gabriel Ferreira
98eaf7a746 build: Do not recreate header symlinks during CMake refreshes 2022-05-02 16:11:19 -03:00
Tommaso Pecorella
6b754a3c34 ci: swap release builds with default 2022-05-01 18:32:32 +02:00
Tommaso Pecorella
0fd04a774b ci: move pybindgen to a private runner 2022-04-25 12:06:47 +02:00
Tommaso Pecorella
4e689bd8a3 ci: remove python2 and fix ubuntu 22.04 2022-04-25 02:39:35 +02:00
Gabriel Ferreira
4df6af79d4 bindings, CI: run python scripts with ns3 and add bindings scanning job 2022-04-18 11:38:12 -03:00
Gabriel Ferreira
db4c10bb8c build: python bindings fixes
Includes:
- scan for python examples if bindings are enabled
- do not scan python bindings from modules without a module/bindings directory
- remove broken bindings if pybindgen generation fails
- replace colored message with normal message for find_external_library
- complement pybindgen to check if modules with no bindings folder was scanned and any bindings were generated
2022-04-05 00:28:27 -03:00
Gabriel Ferreira
72e6105195 build: CMake and ns3 fixes
Includes:
- print error message instead of forwarding posix signals in ns3
- supress printing of "Finished executing commands..." for ./ns3 run
- fix ns3 typos and formatting issues
- add verbose options and make doxygen/doxygen-no-build verbose
- re-enable printing of build messages in ./ns3 run
- refactor ns3 dry_run, quiet, jobs and verbose arguments
- check if examples subdirectories have a CMakeLists.txt
2022-04-01 23:44:49 -03:00
Gabriel Ferreira
d3f9e0742f build, doc: add "--trace-performance" argument to ns3 configure 2022-04-01 14:50:21 -03:00
Tommaso Pecorella
9dc17ea4a7 ci: fix fedora build 2022-03-28 00:43:32 +02:00
Gabriel Ferreira
e5c6d63c5c build: search for "lib" prefix before trying to remove it
Fixes https://gitlab.com/nsnam/ns-3-dev/-/issues/601
2022-03-18 15:14:37 -03:00
Gabriel Ferreira
3ee4eb41cb build: fix remaining "lib" prefix removal steps in CMake 2022-03-17 21:48:01 -03:00
Gabriel Ferreira
6a6b785c5f build,test: fixing CMake and ns3 issues and adding a test case
Includes:
- refactoring lib prefix removal and library dependency checking (fixes #598)
- add new test case for test-ns3.py to test library names
- fix ns3 issue, not accepting to build contrib libraries
- ignore gitlab-ci-local directory in test-ns3.py
2022-03-17 13:55:54 -03:00
Gabriel Ferreira
cd1308e3ad test: reconfigure ns-3 between bindings and ambiguity tests 2022-03-13 21:23:47 +00:00
Gabriel Ferreira
7652192eb6 util: fix create-module.py example source file 2022-03-13 21:23:47 +00: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
ac680dd20c Implement time functions in tests and examples with std::chrono library 2022-02-25 12:11:18 +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
4aedba2f00 build: CMake refactoring and fixes
Includes:
- fix int64x64 parsing order, remove cached entries in macros-and-definitions and in the docs
- update launch.json scratch names
- add a ctest entry per executable
- forward POSIX signal in ns3 (to get segmentation fault)
- prioritize Ninja generator instead of Makefiles
- add tests for unused utils source files
- remove dummy file and add tests to check for unused source files
- add missing examples and clean up unnecessary definitions
- missing feature entry for LTE used by pybindgen
- refactor CMake related filenames
- fix python libraries and include directories bindings
- fix brite example name
- Keep C++ compiler and flags when refreshing
- Disable precompiled headers when Ccache is found
- Mark find_external_library headers as advanced
- consolidate auxiliary files: build-status.py, _cache.py and .lock-waf_sys.platform_build files are merged into .lock-ns3_sys.platform_build
- scan .cc sources used in bindings and update docs
2022-02-21 22:18:42 -03:00
Gabriel Ferreira
e32c177e45 build: remove waf files, tests and references 2022-02-21 22:08:45 -03:00
Gabriel Ferreira
9fcdbd08d2 build: fix ns3 sphinx targets and test-ns3.py tests 2022-02-12 00:48:44 -03:00
Gabriel Ferreira
4b01479b04 build: additional CMake and ns3 fixes
Includes:
- add additional find_external_library default search paths
- add option to enable/disable DPDK and make it disable by default
- skip test-ns3.py test cases if dependencies are not installed
- improve searching in library parent directories
- replace FindPython with FindPythonInterp and FindPythonLibs
- stub targets for doxygen/sphinx when dependencies are missing
2022-02-11 16:13:07 -03:00
Gabriel Ferreira
531b99251c build: add code to build test/perf/perf-io.cc 2022-02-08 18:40:10 -03:00
Gabriel Ferreira
6e45febbf7 build: fix ns3 run from source file path, add lldb option and tests 2022-02-08 18:40:09 -03:00
Gabriel Ferreira
42e320d676 doc: CMake docs 2022-02-08 18:40:09 -03: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
6f2fc1403b ci: simplify doxygen CI 2022-01-31 20:40:56 -06:00
Tommaso Pecorella
1eac22c4b0 documentation: Doxygen post fixes 2022-01-31 22:19:11 +00:00
Tommaso Pecorella
c9ae2bfc84 utils: doxygen fixes 2022-01-30 12:06:53 -06:00
Tommaso Pecorella
8ac0116193 core: doxygen fixes 2022-01-30 12:06:53 -06:00
Gabriel Ferreira
bbe67f5fc2 build: check if visualizer is in the enabled modules list 2022-01-28 15:37:27 -03: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
d470fb77d4 ci: fix fedora jobs 2022-01-27 17:36:45 -06:00
Gabriel Ferreira
0888aa9f4d CI: use ns3 for the doxygen job 2022-01-27 18:27:29 -03:00
Gabriel Ferreira
113c3744fc build: CMake and ns3 fixes and improvements
Includes:
- fix python warnings and wrap pkgconfig_interface_include_directories in quotes to treat it as a string
- prevent failure when Python is not found
- refactor python bindings checks and error messages
- export 3rd-party include directories and linked libraries
    - Adding a NS3_REEXPORT_THIRD_PARTY_LIBRARIES option to always export include directories and libraries used by a module, making it automatically available to 3rd-party modules
    - Making NS3_REEXPORT_THIRD_PARTY_LIBRARIES option enabled by default
- replace colliding shortcuts with list of non-ambiguous shortcuts
- remove unnecessary code blocks from click
- warn users that doxygen target requires examples and tests
    - These are used to generate introspected documentation and guarantee proper dependency checking and build order
2022-01-27 17:28:38 -03:00
Gabriel Ferreira
9342082c53 bindings, build: fix bindings and visualizer build
Includes:
- scan python scripts
- run python scripts from ns3
- replace visualizer file copy with configure_file to prevent cmake refreshes
- replace ns__init__.py file copy with configure_file to prevent cmake refreshes
- fix bindings scanning with cmake
- pass include directories to modulegen for castxml consumption
- add missing parameters of Recv in python-unit-tests.py
- change apiscan targets from apiscan-module to libmodule-apiscan
- change bindings targets from module-bingings to libmodule-bindings
- scanning and bindings build tests
- scan scratch python scripts
- replace FindPython3 with FindPython to be compatible with CMake 3.10
- do not export private visual-simulator-impl.h
- do not export udp-socket-impl.h
- use .so suffix for bindings on Mac instead of .dylib
2022-01-26 01:53:28 -03:00
Tommaso Pecorella
778a9fda8a CI: enable mpi on Fedora 2022-01-23 16:41:18 -06:00