{"id":20009862,"url":"https://github.com/plsyssec/mswasm-wasi-sdk","last_synced_at":"2026-05-12T10:34:40.779Z","repository":{"id":144629458,"uuid":"518564781","full_name":"PLSysSec/mswasm-wasi-sdk","owner":"PLSysSec","description":"WASI-enabled MSWasm C/C++ toolchain (based off https://github.com/WebAssembly/wasi-sdk)","archived":false,"fork":false,"pushed_at":"2022-09-08T05:47:13.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-01-12T14:37:54.622Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","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/PLSysSec.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":"2022-07-27T18:08:35.000Z","updated_at":"2022-09-02T15:42:16.000Z","dependencies_parsed_at":"2023-07-04T19:34:33.891Z","dependency_job_id":null,"html_url":"https://github.com/PLSysSec/mswasm-wasi-sdk","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/PLSysSec%2Fmswasm-wasi-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLSysSec%2Fmswasm-wasi-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLSysSec%2Fmswasm-wasi-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLSysSec%2Fmswasm-wasi-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PLSysSec","download_url":"https://codeload.github.com/PLSysSec/mswasm-wasi-sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241447522,"owners_count":19964314,"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-13T07:17:17.013Z","updated_at":"2026-05-12T10:34:40.746Z","avatar_url":"https://github.com/PLSysSec.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MS\n\nTo build all:  \n```\ncd mswasm-wasi-sdk\ngit submodule update --recursive --init\nmake\nln -s build/install/opt/wasi-sdk/lib/clang/11.0.0/lib/ build/install/opt/wasi-sdk/lib/clang/lib/\n```\n\nBelow is the old WASI-sdk README\n\n# WASI SDK\n\n## Quick Start\n\n[Download SDK packages here.](https://github.com/WebAssembly/wasi-sdk/releases)\n\n## About this repository\n\nThis repository contains no compiler or library code itself; it uses\ngit submodules to pull in the upstream Clang and LLVM tree, as well as the\nwasi-libc tree.\n\nThe libc portion of this SDK is the\n[wasi-libc](https://github.com/WebAssembly/wasi-libc).\n\nUpstream Clang and LLVM (from 9.0 onwards) can compile for WASI out of the box,\nand WebAssembly support is included in them by default. So, all that's done here\nis to provide builds configured to set the default target and sysroot for\nconvenience.\n\nOne could also use a standard Clang installation, build a sysroot from the\nsources mentioned above, and compile with\n\"--target=wasm32-wasi --sysroot=/path/to/sysroot\".\n\n## Clone\n\nThis repository uses git submodule, to clone it you need use the command below :\n\n```shell script\ngit clone --recursive https://github.com/WebAssembly/wasi-sdk.git\n```\n\n## Requirements\n\nThe Wasm-sdk's build process needs some packages :\n\n* `cmake`\n* `clang`\n* `ninja`\n\nPlease refer to your OS documentation to install those packages. \n\n## Build \n\nTo build the full package\n\n```shell script\ncd wasi-sdk\nNINJA_FLAGS=-v make package\n```\n\nThe built package can be found into `dist` directory.\n\n## Install\n\nA typical installation from the release binaries might look like the following:\n```shell script\nexport WASI_VERSION=14\nexport WASI_VERSION_FULL=${WASI_VERSION}.0\nwget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz\ntar xvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz\n```\n\n## Use\n\nUse the clang installed in the wasi-sdk directory:\n```shell script\nexport WASI_SDK_PATH=`pwd`/wasi-sdk-${WASI_VERSION_FULL}\nCC=\"${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SDK_PATH}/share/wasi-sysroot\"\n$CC foo.c -o foo.wasm\n```\nNote: `${WASI_SDK_PATH}/share/wasi-sysroot` contains the WASI-specific includes/libraries/etc. The `--sysroot=...` option\nis not necessary if `WASI_SDK_PATH` is `/opt/wasi-sdk`.\n\n## Notes for Autoconf\n\n[Autoconf](https://www.gnu.org/software/autoconf/autoconf.html) 2.70 now\n[recognizes WASI](https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=blob;f=build-aux/config.sub;h=19c9553b1825cafb182115513bc628e0ee801bd0;hb=97fbc5c184acc6fa591ad094eae86917f03459fa#l1723).\n\nFor convenience when building packages that aren't yet updated, updated\nconfig.sub and config.guess files are installed at `share/misc/config.*`\nin the install directory.\n\n## Notable Limitations\n\nThis repository does not yet support C++ exceptions. C++ code is\nsupported only with -fno-exceptions for now. Similarly, there is not\nyet support for setjmp/longjmp. Work on support for [exception handling] \nis underway at the language level which will support both of these\nfeatures.\n\n[exception handling]: https://github.com/WebAssembly/exception-handling/\n\nThis repository does not yet support [threads]. Specifically, WASI does\nnot yet have an API for creating and managing threads yet, and WASI libc\ndoes not yet have pthread support.\n\n[threads]: https://github.com/WebAssembly/threads\n\nThis repository does not yet support dynamic libraries. While there are\n[some efforts](https://github.com/WebAssembly/tool-conventions/blob/master/DynamicLinking.md)\nto design a system for dynamic libraries in wasm, it is still in development\nand not yet generally usable.\n\nThere is no support for networking. It is a goal of WASI to support networking\nin the future though.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplsyssec%2Fmswasm-wasi-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplsyssec%2Fmswasm-wasi-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplsyssec%2Fmswasm-wasi-sdk/lists"}