1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
slibc, the Stockholm C Standard Library, is an
implementation of a C standard libray, for POSIX,
just for fun.
slibc does not aim to support C++, or any other
language than C. Furthermore, it does not try
to support older versions of C than C99.
Macro definitions:
_SLIBC_SOURCE -- Enable slibc extensions. These extensions
are usually extensions introduced in other
C libraries, but are considered good extensions.
_SLIBC_SUPPRESS_WARNINGS -- Suppress all #warning and other warnings, this is
primarily intended to be used when compiling slibc.
_PORTABLE_SOURCE -- Unconditionally disable all non-POSIX extensions, and
otherwise help ensure that the source is portable.
_LIBRARY_HEADER -- Alternative to _PORTABLE_SOURCE that should
be used in header files for libraries. This
allows you to be sure that your library is
portable between libc:s, and that sources
using your library does not been to be compiled
with the same libc. It is important to use
this instead of _PORTABLE_SOURCE in library
header files, otherwise the user of the library
cannot fully utilise _PORTABLE_SOURCE.
See info manual for all definitions.
slibc provides some slibc-specific extensions that
do not require _SLIBC_SOURCE. (They are however
disabled if _PORTABLE_SOURCE is defined.) These
extensions are defined in header files whose
name starts with `slibc-`. Headers starting with
`slibc/` are not extensions, those are internals
that may change at any time.
Writing a C standard library is a massive task.
As I only have x86_64 hardware, I will require
help write the assembly code for other hardware.
I also need help writing the texinfo manual and
example code for functions, help figuring out
the correct feature-test macros for all functions,
their etymology, and in which libc implementions
they appear. Help optimising all functions would
also be appreciated.
|