Skip to content

Commit

Permalink
Touch up the building documentation to be more accessible to new devs -
Browse files Browse the repository at this point in the history
  • Loading branch information
dzervas authored and xusheng6 committed Jun 26, 2023
1 parent 6e7617e commit 88474db
Showing 1 changed file with 24 additions and 9 deletions.
33 changes: 24 additions & 9 deletions build.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,48 @@
# Building

- Download LLDB development build for your OS at https://github.com/Vector35/lldb-artifacts/releases.
- Update to the latest development build of Binary Ninja
- Follow [this](https://docs.binary.ninja/guide/index.html#support) guide to do so

- Clone `binaryninja-api` and checkout to the corresponding commit used to build the version of Binary Ninja you are running
- If you updated to the latest dev build of Binary Ninja, then you can checkout the api repo to the latest dev as well
- A more robust approach is to find the file `api_REVISION.txt` in `BN_INSTALLATION_FOLDER/Resources`

```bash
git clone https://github.com/Vector35/binaryninja-api.git
cd binaryninja-api
git checkout dev
# or git checkout commit_hash
```

- Download LLDB development build for your OS at https://github.com/Vector35/lldb-artifacts/releases - make sure that the correct LLDB version is downloaded (`grep 'LLVM_VERSION ' core/CMakeLists.txt` can help)
- Extract the zip archive to `~/libclang`

- Download Qt development build for your OS at https://github.com/Vector35/qt-artifacts/releases.
- Extract the zip archive to `~/Qt`

- Build the debugger

```
```bash
# Get the source
git clone https://github.com/Vector35/binaryninja-api.git
git clone https://github.com/Vector35/debugger.git

# Do an out-of-source build
mkdir build
mkdir -p build
cd build

# Build it
cmake -DBN_API_PATH=../binaryninja-api
-DBN_INSTALL_DIR=/path/to/binaryninja/installation
cmake -DBN_API_PATH=../binaryninja-api -DBN_INSTALL_DIR=/path/to/binaryninja/installation ..

make
```

The build artifacts will be in the folder `out`.
While the code is compiling, it's a good time to check the [Binary Ninja slack](https://slack.binary.ninja) for any updates!

The build artifacts will be in the folder `out`. You should find two files `libdebuggercore` and `libdebuggerui`, and two folders `python` and `lldb`.

- Run the debugger
- Open Binary Ninja, disable the setting `corePlugins.debugger` so the debugger that comes with Binary Ninja is not loaded
- Copy everything in the `out` folder to the user plugin folder
- Open Binary Ninja, disable the setting `corePlugins.debugger` so the debugger that comes with Binary Ninja is not loaded
- Close Binary Ninja
- Copy everything in the `out` folder to the user plugin folder - `cp -r out/plugins/* ~/.binaryninja/plugins/`
- Set the environment variable `BN_STANDALONE_DEBUGGER=1`
- Launch BinaryNinja

0 comments on commit 88474db

Please sign in to comment.