{"id":19528975,"url":"https://github.com/kayess/webasm-tests","last_synced_at":"2025-06-13T06:10:05.576Z","repository":{"id":142377575,"uuid":"424913296","full_name":"KayEss/webasm-tests","owner":"KayEss","description":"Playing around with free standing webasm builds","archived":false,"fork":false,"pushed_at":"2021-11-29T03:20:43.000Z","size":10300,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-08T16:07:52.347Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KayEss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-11-05T10:45:00.000Z","updated_at":"2021-11-29T03:20:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"df358e04-0bfc-4b77-8241-f10cef07768f","html_url":"https://github.com/KayEss/webasm-tests","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/KayEss%2Fwebasm-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KayEss%2Fwebasm-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KayEss%2Fwebasm-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KayEss%2Fwebasm-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KayEss","download_url":"https://codeload.github.com/KayEss/webasm-tests/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240783113,"owners_count":19856773,"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-11-11T01:21:15.519Z","updated_at":"2025-02-26T02:41:20.881Z","avatar_url":"https://github.com/KayEss.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Playing with freestanding webasm\n\n**This is only proof-of-concept stuff. Nothing here is suitable for real world production use, but it could be adapted to be so**\n\nRequires a good clang compiler. All tests were done using using clang-13.\n\nYou may need some extra packages installed:\n* `clang-13` -- for the compiler\n* `libc6-dev-i386` -- for some 32 bit stuff the compiler wants\n\nI also needed to soft link the linker in my `~/bin` folder with:\n```bash\nln -s /usr/bin/wasm-ld-13 wasm-ld\n```\n\n## Compiling and running\n\nTo compile all libraries and examples use the configure script followed by Ninja:\n\n```bash\n./config-build\nninja -C build.tmp\n```\n\nTo serve the pages you can use the built in Python web server:\n\n```bash\npython3 -m http.server\n```\n\nRecent versions of Firefox at least won't load the pages from the file system due to new security barriers.\n\nTo look at the symbols produced (useful to make sure everything is as it should be and the output doesn't contain things that aren't needed):\n\n```bash\nwasm-objdump -x test1.wasm\n```\n\n## OPUS example\n\nFor something more adventurous there is an OPUS decoder. The [`./opus.sh`](./opus.sh) script will build the example code along with the bits of libopus and SoftFloat that are required. The file [`opus.html`](./opus.html) contains some numerical analysis of decoding a single test OPUS packet (again, look in the console log).\n\nThe file [`opus_long_decode.html`](./opus_long_decode.html) contains a play button where you can hear the output from the decoder.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkayess%2Fwebasm-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkayess%2Fwebasm-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkayess%2Fwebasm-tests/lists"}