.. | ||
bin | ||
include | ||
lib | ||
src | ||
README.md | ||
wscript |
Using HLC
source generation with clang
Environment
In this particular case, you need to have a distribution of hashlink
in your system. After installing, you need to perform additional steps to pass required files for binary generation (in this case - to clang
):
- either add hashlink's
lib
folder toctx.env.LIBPATH_HL
- or replace
lib
folder with a symlink to hashlink'slib
folder - either add hashlink's
include
folder toctx.env.INCLUDES_HL
- or replace
include
folder with a symlink to hashlink'sinclude
folder
Targets
In this particular case, generated .c
files are placed in separate bin
subdirectory. This enhances your build transparency and allows you to add desired checks or perform additional operations with generated .c
sources if needed, while keeping things in parallel. Keep this in mind if you're planning to extend your build layout with additional Haxe targets
Running assembled binaries
Assuming that you have a hashlink
distribution and all relevant system paths are adjusted, you could easily run your binary and see resulting output of Main.hx:3: hello
. Keep in mind that if you're using an official hashlink
distribution, it doesn't come with static libs for linking - this means that your produced binary requires paths to libhl.dll
(or .so
/.dylib
- depends on your system). Of course, there may be a use case when you're building hashlink
from sources or using it as a portable distribution - in these cases, you could run your binary while pointing paths to your dynamic libraries with adding correct paths ($PWD/lib/
for example) to:
PATH
on windowsLD_LIBRARY_PATH
on linuxDYLD_LIBRARY_PATH
on macOS