sigrid/npe

Description
# npe

"Native Porting Environment" for 9front, pronounced "nope".

The project tries to provide a minimalistic (and mostly
non-conformant) POSIX environment with several additional libraries to
ease up porting of software to 9front.  The goal is to be able to
build and run non-native GUI software with very minimal changes, if
any.

Unlike APE, NPE is fully native and is not trying to hide any of the
native Plan 9 APIs.

## Status

* Some POSIX stuff is available
* SDL2 basics (video, audio, input, events)
* pthread basics

## Using NPE

Clone, run `mk install`.

Create a `mkfile` for the software to be built, and set `CFLAGS`:

	CFLAGS=$CFLAGS -p -I/sys/include/npe -D__plan9__ -D__${objtype}__

By default npe will override the `main` function with its own
`threadmain`.  If that behaviour isn't desired, add
`-D__plan9_keep_main__` to `CFLAGS`.

Stack size is set to 256k.

[General porting guide](http://docs.9front.org/porting).

## Helping out

Patches and bug reports are always welcome.

	g FIXME
Last 5 commits (shortlog)
Date Author Short message Commit hash
2022-01-07 Sigrid sdl: missing header change 606d1ac828ee0b13697782253de5303232919e71
2022-01-07 Sigrid sdl: add XRGB8888 (and RGB888 alias) pixel format 9c1c52a8cf07ab0c308c494e58ddf38988c98d13
2021-12-31 Sigrid sdl: add SDL_SetMainReady stub 8d94c00a31f8ec7621fae55d534a716b867c535a
2021-12-31 Sigrid limits: add CHAR_BIT de2df6f489d8c811a17b5610c3db94c6481c31d6
2021-12-29 Sigrid sdl: add SDL_BUTTON macro 1686505db9e1c0c0f705a37e79576938f655823f
Files (browse)
LICENSE
README.md
include/
libnpe/
libnpe_portmidi/
libnpe_pthread/
libnpe_sdl2/
mkfile