libk  ports

porting progress

libk is developed primarily for x86-64 Linux, so other platforms will generally lag behind. our main OS targets for porting are FreeBSD, Android, Mac OS X, Haiku, and Windows Subsystem for Linux. Windows itself is not currently a priority; however, in the long term, support may be added if enough Windows developers join the project. in terms of processors, we aim to support x86-32 and ARM in addition to the primary target of x86-64.


  • x86-32: 32-bit equivalents of most x86-64 specific assembly have been written, but have not been thoroughly tested and will likely need further attention before they work.
  • ARM: development has not begun, but is slated to begin soon.
  • distros: libk is presently developed under Arch Linux and NixOS, under both of which it is known to run. we intend to include build scripts for as many distro build systems as possible; currently, only a NixOS build script exists.


  • termux: libk only intends to support the termux environment on ARM Android. currently, it does not build, and no ARM assembly has been written; fixing this is a near-term goal however.


porting effort has not begun.

Mac OS X

porting effort has not begun.

Windows Subsystem for Linux

libk compiles and kcore.testbin behaves as expected on WSL2/Ubuntu 18.04. you need the packages build-essential m4yasm installed, as well as cmarkgroff to generate the documentation. libk should be built exactly as on linux (e.g. with the $os build variable set to lin, not win). nothing else has been tested.