NOTE: Ari only supports Autotools currently. Make sure your compiler supports C++23 before continuing.
Basically, the build of Ari contains two parts: the JS part and the C++ part. Please bear that in mind.
To build Ari, you need a C/C++ toolchain and a working Node.js installation.
Remember to have yarn installed when installing Node.js. If you've forgotten that, run:
npm install -g yarnTo build on Windows, you must have MSYS2 installed. It provides a variety of necessary tools.
You'll need to install the following packages by running a simple command:
pacman -S git autotools make mingw-w64-x86_64-gcc mingw-w64-x86_64-openssl mingw-w64-x86_64-zlibMake sure to start terminal MINGW64, i.e.:
echo $MSYSTEMShould output MINGW64.
Keep yourself in this terminal and we're ready.
To build on macOS, you need the following packages:
brew install libuv autoconf openssl@1.1If you are building for ARM64, please also link openssl:
brew link openssl@1.1 --forceMake sure you've also got the latest clang installed.
According to our CI, you also need to install Xcode version 14.1 beta 3 or any newer version to avoid linker bugs.
Then we're ready.
Most tools have already been set up on GNU/Linux. However, there are still quite a few.
You probably need to install:
apt install libwebkit2gtk-4.0-dev libgtk-3-dev libuv1-dev pkg-configThese packages might also be available on other PMs.
Make sure also to update your other packages to the latest version, including gcc.
Since commit 9e963cf an automatic build script shigure has been added. It runs all the build steps for you but with no checks.
So, before using it, please make sure all requirements (compilers, Node.js, libraries, etc.) have been satisfied, or the script will not work.
This script is also bash compatible only, make sure you've got /bin/bash available. If not, use bash shigure instead of ./shigure.
-
Clone the repository:
git clone https://github.com/Andy-K-Sparklight/Ari.git --depth 1 cd Ari -
Give permission to
./shigureand run the build.chmod +x ./shigure ./shigure setup ./shigure build ./shigure test
If everything works, the product binary should be available at ./build/Ari (With the suffix .exe on Windows).
If something seems to be wrong, continue to read the following section and build manually.
-
Clone the repository:
git clone https://github.com/Andy-K-Sparklight/Ari.git --depth 1 cd Ari -
Download some binaries:
Some files need to be downloaded during build time. Make sure you've got
wgetorcurlavailable in yourPATHto do so.chmod +x ./shigure ./shigure setup
-
Run the configure script:
autoreconf --install ./configure
If you are using macOS,
configuremight complain about the built-inmake. If this is the case, run./configure MAKE=gmakeas the output says. -
Run the build:
make
If you want the build to be faster, append flag
-jXwhere X is the same as the count of your CPU cores.If you're on macOS, use
gmakeif any complaints occurred. -
If building for Windows, run:
./winfix
-
Now build the JS part:
yarn install chmod +x ./jsbuild ./jsbuild cp ./dist/* ./ -
Make sure to copy the assets we needed:
cp -r ./assets/* ./ -
The binary output
Ari.exeorAriis now available under your CWD, just run it and try!