Skip to content

Commit 5ee4a2f

Browse files
committed
Update building instructions
1 parent b417680 commit 5ee4a2f

1 file changed

Lines changed: 20 additions & 7 deletions

File tree

docs/BUILDING.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,31 @@ The instructions below assume you're running a form of Linux (WSL or native).
88
* Python 3.6 or newer with [pip](https://pip.pypa.io/en/stable/installation/)
99
* Ninja
1010
* CMake 3.13+
11-
* If you are on Ubuntu 18.04, you must first [update CMake by using the official CMake APT repository](https://apt.kitware.com/).
11+
* If you are on Ubuntu 18.04, you must
12+
first [update CMake by using the official CMake APT repository](https://apt.kitware.com/).
1213
* ccache (to speed up builds)
13-
* xdelta3
14-
* clang (for compiling Rust tools)
14+
* llvm-objdump
1515

1616
Ubuntu users can install those dependencies by running:
1717

1818
```shell
19-
sudo apt install python3 ninja-build cmake ccache xdelta3 clang libssl-dev libncurses5
19+
sudo apt install python3 ninja-build cmake ccache libssl-dev libncurses5 llvm
2020
```
2121

22+
If you are running Ubuntu 23.10 or later, the `libncurses5` package won't be available anymore. You can install it from
23+
the archive using:
24+
25+
```shell
26+
wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2_amd64.deb && sudo dpkg -i libtinfo5_6.3-2_amd64.deb && rm -f libtinfo5_6.3-2_amd64.deb
27+
```
28+
29+
For other systems, please check for the corresponding `libncurses5` backport, for
30+
example [ncurses5-compat-libs](https://aur.archlinux.org/packages/ncurses5-compat-libs) for Arch-based distributions.
31+
2232
Additionally, you'll also need:
2333

2434
* A Rust toolchain ([follow the instructions here](https://www.rust-lang.org/tools/install))
25-
* The following Python modules: `capstone colorama cxxfilt pyelftools ansiwrap watchdog python-Levenshtein toml` (install them with `pip install ...`)
35+
* The following Python modules: `pip install capstone colorama cxxfilt pyelftools ansiwrap watchdog python-Levenshtein toml`
2636

2737
## 2. Set up the project
2838

@@ -37,6 +47,7 @@ Additionally, you'll also need:
3747
* install tools/check to check for differences in decompiled code
3848
* convert the executable if necessary
3949
* set up [Clang 4.0.1](https://releases.llvm.org/download.html#4.0.1) by downloading it from the official LLVM website
50+
* patch Clang to match Nintendo's changes
4051
* create a build directory in `build/`
4152
* If something goes wrong, follow the instructions given to you by the script.
4253
* If you wish to use a CMake generator that isn't Ninja, use `--cmake_backend` to specify it.
@@ -46,13 +57,15 @@ Additionally, you'll also need:
4657
To start the build, just run
4758

4859
```shell
49-
ninja -C build
60+
python3 tools/build.py
5061
```
5162

5263
By default, a multithreaded build is performed.
5364

5465
To check whether everything built correctly, just run `tools/check` after the build completes.
5566

67+
You can check the current progress with `python3 tools/common/progress.py`.
68+
5669
## 4. Decompilers
5770

58-
For instructions on setting up a decompiler, see [DECOMPILERS.md](DECOMPILERS.md).
71+
For instructions on setting up a decompiler, see [DECOMPILERS.md](DECOMPILERS.md).

0 commit comments

Comments
 (0)