FENIX_libc/README

75 lines
1.9 KiB
Text
Raw Normal View History

2020-12-01 23:39:25 +00:00
fenlibc - Fenix Standard C Library
==================================
fenlibc is a standard C library used by Fenix. This library follows the ISO C
and POSIX standards and is reasonably portable across UNIX and UNIX-like
systems, though it may not be suitable as a drop-in replacement for the C
library that exists on such a system.
Currently, the following headers are finished and fully compliant:
assert.h*
cpio.h
errno.h?
iso646.h
libgen.h
limits.h?
stdbool.h
2020-12-13 15:13:58 +00:00
stddef.h
2020-12-01 23:39:25 +00:00
sys/un.h
tar.h
*relies on fprintf, which we don't have yet.
The following headers are POSIX-compliant, but not XSI-compliant:
The following headers are ISO-compliant, though not POSIX-compliant:
The following headers have working code, but are still in progress:
2020-12-13 15:13:58 +00:00
ctype.h (56%, missing locale-specific functions)
2020-12-01 23:39:25 +00:00
math.h (3%)
stdio.h (3% + most of printf and maybe perror?)
stdlib.h (13%)
string.h (26%)
time.h (4%)
The following headers exist and have all definitions, but no code:
sys/utsname.h
syslog.h
ulimit.h
The following headers exist and are incomplete:
float.h (45%)
math.h (<33%)
netinit/in.h (37%)
stdio.h (<20%)
stdlib.h (24%)
string.h (26%)
sys/io.h (??)
sys/socket.h (5%)
sys/types.h (37%)
sys/wait.h (63%)
time.h (14%)
unistd.h (<15%)
Building
--------
Currently, fenlibc can be built as part of a standard Fenix ISO through its
makefile. To do so, simply run Fenix's build.sh script. It could use alterations
to allow its C library to be build to an existing system. If you'd like to
help out, that's a good place to start!
Portability
-----------
Currently, fenlibc has yet to be tested on any existing UNIX{,-like} systems.
If you have any luck getting it up and running on a UNIX{,-like} system,
let us know!
Copyright
---------
Licensed under the CWPL v5 with CC-BY 4.0 by Katlynn Richey.
fenlibc is free software. Feel free to modify and/or distribute it!
See the file COPYING for more details.