-
Notifications
You must be signed in to change notification settings - Fork 1
fix(build): use Homebrew clang for wasm32 C build on macOS #77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| # Development | ||
|
|
||
| ## Contributing | ||
|
|
||
| See [`CONTRIBUTING.md`](CONTRIBUTING.md). | ||
|
|
||
| ## Development setup | ||
|
|
||
| To build `libdatadog-nodejs` locally (for example, to run tests or try out changes), you need Node.js, Yarn, and Rust. | ||
|
|
||
| **Rust (required for native and WASM builds)** | ||
|
|
||
| The project compiles Rust for both native Node.js addons and WebAssembly. Use [rustup](https://rustup.rs/) (the recommended and supported method): | ||
|
|
||
| 1. **Install rustup and Rust** (see https://rustup.rs/ for more options): | ||
|
|
||
| ```bash | ||
| curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh | ||
| ``` | ||
|
|
||
| 2. **Ensure Rust is on `PATH`** — the rustup installer prints the command for your shell; run it or open a new terminal. | ||
|
|
||
| 3. **Add the WebAssembly target** (required for the full build): | ||
|
|
||
| ```bash | ||
| rustup target add wasm32-unknown-unknown | ||
| ``` | ||
|
|
||
| 4. **On macOS only** — the WASM build requires LLVM from Homebrew (Apple's Clang has compatibility issues with some crates). Install it before building: | ||
|
|
||
| ```bash | ||
| brew install llvm | ||
| ``` | ||
|
|
||
| 5. **Install dependencies:** | ||
|
|
||
| ```bash | ||
| yarn install | ||
| ``` | ||
|
|
||
| ## Building | ||
|
|
||
| * `yarn build`: Build the default workspaces in debug mode. | ||
| * `yarn build-release`: Build the default workspaces in release mode. | ||
| * `yarn build-all`: Build all workspaces in debug mode. This is useful when working on a workspace that is not a default member yet. | ||
|
|
||
| ## Run tests | ||
|
|
||
| * `yarn test`: Run the JavaScript test suite |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.