aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: ed8861d4c140c5ddcbf06e58e5fdaa6786922e37 (plain) (blame)
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
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.
	_GNU_SOURCE               -- Enable glibc extensions (GNU extensions.)
	_BSD_SOURCE               -- Enable BSD 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 extensions.
	_LIBRARY_HEADER		  -- Alternative to _PORTABLE_SOURCE that should
	                               be used in header files for libraryes. 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.


slibc provides some slib-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.