# 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.

## Linux
- **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.

## Android
- **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.

## Haiku
porting effort has not begun.

## Mac OS X
porting effort has not begun.

## Windows Subsystem for Linux
At least `kcore.testbin` works, for currently, on Ubuntu 18.04. You need `build-essential m4 yasm cmark groff` installed, build like you would for Linux.