{"id":17149815,"url":"https://github.com/keeferrourke/ns3-standalone-sim","last_synced_at":"2026-01-05T09:06:13.769Z","repository":{"id":72115491,"uuid":"309157073","full_name":"keeferrourke/ns3-standalone-sim","owner":"keeferrourke","description":"A sample project structure to develop and run ns-3 simulations independent of the runtime provided by the ns-3 source distribution's waf tool.","archived":false,"fork":false,"pushed_at":"2020-11-01T18:06:26.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-29T17:11:28.074Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keeferrourke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-01T18:05:44.000Z","updated_at":"2020-11-01T18:06:28.000Z","dependencies_parsed_at":"2023-03-27T13:45:33.968Z","dependency_job_id":null,"html_url":"https://github.com/keeferrourke/ns3-standalone-sim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keeferrourke%2Fns3-standalone-sim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keeferrourke%2Fns3-standalone-sim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keeferrourke%2Fns3-standalone-sim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keeferrourke%2Fns3-standalone-sim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keeferrourke","download_url":"https://codeload.github.com/keeferrourke/ns3-standalone-sim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245266905,"owners_count":20587452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T21:34:11.045Z","updated_at":"2026-01-05T09:06:13.764Z","avatar_url":"https://github.com/keeferrourke.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NS-3 Standalone Simulations\n\nDevelopers who are new to working with the `ns-3` network simulator may find it strange that all the\nofficial documentation suggests that any work you want to do should be done directly in the\n`scratch/` directory of the `ns-3` source.\n\nThis project is an attempt to demonstrate a project structure which allows one to decouple their\ncustom simulation code from the `ns-3` source distribution.\n\nA Makefile is used for demonstration purposes, but any build tool should be easily adopted\nto develop ns-3 simulations using this project structure.\n\n# How to use this\n\nFirst, obtain a source-distribution of `ns-3`. This can be done with the `bake` tool.\nInstall `bake` as per the instructions in the\n[BAKE tutorial](https://www.nsnam.org/docs/bake/tutorial/html/bake-tutorial.html).\n\nOnce bake is installed and on your PATH, run the following:\n\n```sh\nbake.py configure -e ns-3.32 --sourcedir=\"$(pwd)/ns3-src\" --installdir=\"$(pwd)/ns3-dist\nbake.py download\nbake.py deploy\n```\n\nThis will instruct bake to download the sources for `ns-3.32` to the `ns3-src` sub-folder of your\ncurrent directory, and to compile the library objects to the `ns3-dist` sub-folder of your current\ndirectory.\n\nPlace any C++ source files in the `src/` and `include/` directories.\n\nNext, edit the `Makefile` to suit your project needs.\n\nRun `make \u0026\u0026 make run` to run your simulation as a standalone executable, independent of ns-3's\n`waf` build tool.\n\n# Limitations\n\nThe `waf` build tool included in ns-3 distributions does a lot of heavy lifting to configure\nthe ns-3 runtime with environment variables.\n\nTo use a standalone executable like this, you'll need to set the appropriate environment variables\nyourself.\n\n# License\n\nThe source code in this repository is dual-licensed under the ISC License and the GNU General Public\nLicense v2, as appropriate. See the `LICENSE` files under the sub-directories of this repository for\nmore details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeeferrourke%2Fns3-standalone-sim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeeferrourke%2Fns3-standalone-sim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeeferrourke%2Fns3-standalone-sim/lists"}