Skip to content

Commit 51b5b42

Browse files
committed
Update installation docs
1 parent af808d3 commit 51b5b42

File tree

1 file changed

+41
-8
lines changed

1 file changed

+41
-8
lines changed

docs/src/development/environment-setup.md

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,8 @@ about installing `cairo-profiler` [here](https://github.com/software-mansion/cai
3636
3737
> ❗️ **Warning**
3838
>
39-
> If you haven't pushed your branch to the remote yet (you've been working only locally), two tests will fail:
39+
> If you haven't pushed your branch to the remote yet (you've been working only locally) some tests may fail, including:
4040
>
41-
> - `e2e::running::init_new_project_test`
4241
> - `e2e::running::simple_package_with_git_dependency`
4342
>
4443
> After pushing the branch to the remote, those tests should pass.
@@ -49,15 +48,53 @@ Install [starknet-devnet](https://github.com/0xSpaceShard/starknet-devnet) via [
4948
### Universal sierra compiler
5049
Install the latest [universal-sierra-compiler](https://github.com/software-mansion/universal-sierra-compiler) version.
5150
52-
53-
5451
## Running Tests
5552
Tests can be run with:
5653
5754
```shell
5855
$ cargo test
5956
```
6057
58+
## Cairo Native
59+
60+
To develop Starknet Foundry with Cairo Native support, you need to enable the `cairo-native` feature in Cargo and
61+
install the required dependencies.
62+
63+
### LLVM
64+
65+
LLVM 19 is required to build forge with Cairo Native support and to run it.
66+
67+
#### macOS
68+
69+
On macOS in can be installed with
70+
71+
```shell
72+
$ brew install llvm@19
73+
```
74+
75+
Next, export the following environment variables:
76+
77+
```
78+
LIBRARY_PATH=/opt/homebrew/lib
79+
MLIR_SYS_190_PREFIX="$(brew --prefix llvm@19)"
80+
LLVM_SYS_191_PREFIX="$(brew --prefix llvm@19)"
81+
TABLEGEN_190_PREFIX="$(brew --prefix llvm@19)"
82+
```
83+
84+
#### Linux
85+
86+
LLVM installation varies between distributions.
87+
See [here](https://llvm.org/docs/GettingStarted.html) and [here](https://releases.llvm.org/download.html) for more
88+
details.
89+
90+
Next, export the following environment variables, note that the paths may differe depending on your distribution and
91+
installation method:
92+
93+
```
94+
MLIR_SYS_190_PREFIX=/usr/lib/llvm-19
95+
LLVM_SYS_191_PREFIX=/usr/lib/llvm-19
96+
TABLEGEN_190_PREFIX=/usr/lib/llvm-19
97+
```
6198

6299
## Formatting and Lints
63100

@@ -91,13 +128,9 @@ $ typos
91128

92129
Some typos can be automatically fixed by running
93130

94-
<details>
95-
<summary>Output:</summary>
96-
97131
```shell
98132
$ typos -w
99133
```
100-
</details>
101134

102135
## Contributing
103136

0 commit comments

Comments
 (0)