diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2021-06-07 19:27:30 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2021-06-09 15:26:18 -0400 |
| commit | 178d78b485b30bdb39872688459f5acc899943ce (patch) | |
| tree | 0bf5d52bbe6c1937b6d694548030a7b1bd42ae57 | |
| parent | 8df9f8f5f09386f616a9c87b9349220851edf85a (diff) | |
Update to Qt 6.1.1 and LLVM 12.0.0
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | docs/about/open-source.md | 19 | ||||
| -rw-r--r-- | rust/binaryninjacore-sys/build.rs | 4 |
3 files changed, 11 insertions, 14 deletions
@@ -51,7 +51,7 @@ There are several options that you can pass to cmake: - If BinaryNinja is installed at a different location than the defautls in CMakeLists.txt, it will complain "Binary Ninja Core Not Found". Specify the path by `-DBN_INSTALL_DIR=/path/to/binaryninja/installation` - If you also wish to build the API examples, pass `-DBN_API_BUILD_EXAMPLES=ON`. After the make succeeds, you can install the built plugins by `make install` - If you are using a headless BinaryNinja distribution or you do not wish to build UI plugins, pass `-DHEADLESS=ON`. -- You will need Qt 5.15.0 (as of writing) installed to build UI plugins. +- You will need Qt 6.1.1 (as of writing) installed to build UI plugins. ## Examples diff --git a/docs/about/open-source.md b/docs/about/open-source.md index 999b34f3..973321b5 100644 --- a/docs/about/open-source.md +++ b/docs/about/open-source.md @@ -51,23 +51,21 @@ The previous tools are used in the generation of our documentation, but are not ## Building Qt -Binary Ninja uses [Qt 5.15] or [Qt 6.0] under an LGPLv3 license which requires that we host the original sources used to build Qt for our application along with instructions on how that source may be re-built and can replace the version of Qt shipped with Binary Ninja. +Binary Ninja uses [Qt 6.1] under an LGPLv3 license which requires that we host the original sources used to build Qt for our application along with instructions on how that source may be re-built and can replace the version of Qt shipped with Binary Ninja. Please note that we offer no support for running Binary Ninja with modified Qt libraries. -1. Follow the installation requirements on the [Building Qt 5 from Git] or [Building Qt 6 from Git] page. -2. Binary Ninja uses Qt 5.15 by default. Download the Qt 5.15.0 [tarball] from binary.ninja. (Note this is an unmodified 5.15 identical to that available from Qt's source control, but must be hosted locally according to the [Qt 5.15] terms.) If using a Qt 6.0 build, download the [Qt 6.0.2 tarball] from binary.ninja. The Qt 6.0.2 code has a [patch] applied but is ABI compatible with the official Qt release. +1. Follow the installation requirements on the [Building Qt 6 from Git] page. +2. Download the Qt 6.1.1 [tarball] from binary.ninja. The Qt code has a [patch] applied but is ABI compatible with the official Qt release. 3. Next, build QT using the aforementioned instructions. 4. On OS X, you will need to disable the code-signing signature since it would otherwise prevent changes to binaries or shared libraries. We recommend a tool such as [unsign]. 5. Finally, replace the built libraries: - On OS X, replace the `QtCore.framework`, `QtDBus.framework`, `QtGui.framework`, `QtNetwork.framework`, `QtPrintSupport.framework`, `QtWidgets.framework` folders inside of `/Applications/Binary Ninja.app/Contents/Frameworks` - - On Windows, replace the `Qt5core.dll`, `Qt5Gui.dll`, `Qt5Network.dll`, and `Qt5Widgets.dll` files in `C:\Program Files\Vector35\BinaryNinja\` (or `Qt6Core.dll`, `Qt6Gui.dll`, `Qt6Network.dll`, and `Qt6Widgets.dll` for Qt 6.0 builds). - - On Linux, replace the `libQt5Core.so.5`, `libQt5DBus.so.5`, `libQt5Gui.so.5`, `libQt5Network.so.5`, `libQt5Widgets.so.5`, `libQt5XcbQpa.so.5` files wherever Binary Ninja was extracted (or `libQt6Core.so.6`, `libQt6DBus.so.6`, `libQt6Gui.so.6`, `libQt6Network.so.6`, `libQt6Widgets.so.6`, `libQt6XcbQpa.so.6` for Qt 6.0 builds). + - On Windows, replace the `Qt6Core.dll`, `Qt6Gui.dll`, `Qt6Network.dll`, and `Qt6Widgets.dll` files in `C:\Program Files\Vector35\BinaryNinja\`. + - On Linux, replace the `libQt6Core.so.6`, `libQt6DBus.so.6`, `libQt6Gui.so.6`, `libQt6Network.so.6`, `libQt6Widgets.so.6`, `libQt6XcbQpa.so.6` files wherever Binary Ninja was extracted. -[Building Qt 5 from Git]: https://wiki.qt.io/Building-Qt-5-from-Git [Building Qt 6 from Git]: https://wiki.qt.io/Building_Qt_6_from_Git -[Qt 5.15]: https://www.qt.io/qt-licensing-terms/ -[Qt 6.0]: https://www.qt.io/qt-licensing-terms/ +[Qt 6.1]: https://www.qt.io/qt-licensing-terms/ [capstone]: https://github.com/aquynh/capstone [capstone license]: https://github.com/aquynh/capstone/blob/master/LICENSE.TXT [breathe license]: https://github.com/michaeljones/breathe/blob/master/LICENSE @@ -107,9 +105,8 @@ Please note that we offer no support for running Binary Ninja with modified Qt l [sphinx]: http://www.sphinx-doc.org/en/stable/index.html [sqlite license]: https://www.sqlite.org/copyright.html [sqlite]: https://www.sqlite.org/index.html -[tarball]: https://binary.ninja/qt5.15.0.tar.xz -[Qt 6.0.2 tarball]: https://binary.ninja/qt6.0.2.tar.xz -[patch]: https://binary.ninja/qt6.0.2.patch +[tarball]: https://binary.ninja/qt6.1.1.tar.xz +[patch]: https://binary.ninja/qt6.1.1.patch [tomcrypt license]: https://github.com/libtom/libtomcrypt/blob/develop/LICENSE [tomcrypt]: https://github.com/libtom/libtomcrypt [unsign]: https://github.com/steakknife/unsign diff --git a/rust/binaryninjacore-sys/build.rs b/rust/binaryninjacore-sys/build.rs index d3b02818..38a656e6 100644 --- a/rust/binaryninjacore-sys/build.rs +++ b/rust/binaryninjacore-sys/build.rs @@ -125,8 +125,8 @@ fn main() { let llvm_include_path = format!("-I{}/clang/{}/include", llvm_dir, llvm_version); bindings = bindings.clang_arg(llvm_include_path); } else if let (false, Ok(llvm_install_dir)) = (is_mac, llvm_install_dir) { - let llvm_include_path = format!("-I{}/11.0.0/lib/clang/11.0.0/include", llvm_install_dir); - env::set_var("LIBCLANG_PATH", format!("{}/11.0.0/lib", llvm_install_dir)); + let llvm_include_path = format!("-I{}/12.0.0/lib/clang/12.0.0/include", llvm_install_dir); + env::set_var("LIBCLANG_PATH", format!("{}/12.0.0/lib", llvm_install_dir)); bindings = bindings.clang_arg(llvm_include_path); } |
