libk  Artifact [09a833559f]

Artifact 09a833559f0e0f7ebbdd775d86f2ffb6c6f058747c1e8e0837f8182460f7143f:

Wiki page [ports] by lexi on 2019-10-24 02:07:18.
D 2019-10-24T02:07:18.077
L ports
N text/x-markdown
P 2aa408a68e1818854c863880bc3eb250709c5b58d30dac3326d984b38d72694a
U lexi
W 1632
# 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
libk compiles and `kcore.testbin` behaves as expected on WSL2/Ubuntu 18.04. you need the packages `build-essential` `m4``yasm` installed, as well as `cmark``groff` 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.
Z c65ce27818d2e9d42d5f72448ffbafca