HashLink is a virtual machine for Haxe https://hashlink.haxe.org
HashLink is distributed with some graphics libraries allowing to develop various applications, you can manually disable the libraries you want to compile in Makefile. Here's the dependencies that you install in order to compile all the libraries:
- fmt: libpng-dev libturbojpeg-dev libvorbis-dev
- openal: libopenal-dev
- sdl: libsdl3-dev libglu1-mesa-dev
- ssl: libmbedtls-dev
- uv: libuv1-dev
- sqlite: libsqlite3-dev
To install all dependencies on the latest Ubuntu, for example:
sudo apt-get install libpng-dev libturbojpeg-dev libvorbis-dev libopenal-dev libsdl3-dev libglu1-mesa-dev libmbedtls-dev libuv1-dev libsqlite3-dev
libsdl3-dev is not released yet, build from source is needed, see this note.
sudo apt-get install build-essential git make pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libfribidi-dev libjack-dev libsndio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libxtst-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev libthai-dev libusb-1.0-0-dev
wget https://github.com/libsdl-org/SDL/releases/download/release-3.4.10/SDL3-3.4.10.tar.gz
tar -xzvf SDL3-3.4.10.tar.gz
cd SDL3-3.4.10/
mkdir build
cd build
cmake ..
make
sudo make install
For 16.04, see this note.
To install all dependencies on the latest Fedora, for example:
sudo dnf install libpng-devel turbojpeg-devel libvorbis-devel openal-soft-devel SDL3-devel mesa-libGLU-devel mbedtls-devel libuv-devel sqlite-devel
And on OSX:
brew bundle to install the dependencies listed in Brewfile.
Once dependencies are installed you can simply call:
make
To be able to use hashlink binary with the debugger you can then call:
sudo make codesign_osx
To install hashlink binaries on your system you can then call:
make install
Open hl.sln using Visual Studio C++ and compile.
To build all of HashLink libraries it is required to download several additional distributions, read each library README file (in hashlink/libs/xxx/README.md) for additional information.
In short you'll probably need:
- SDL3-devel, extract to
<hashlink>/include/sdl - openal-soft, extract to
<hashlink>/include/openal
You can debug Haxe/HashLink applications by using the Visual Studio Code Debugger
Read the Documentation on the HashLink wiki.