Document more of the OS and library assumptions.
This commit is contained in:
parent
2198e237b2
commit
8d214bc26f
|
@ -1,5 +1,7 @@
|
|||
Use of extensions throughout the X server tree
|
||||
----------------------------------------------
|
||||
First of all: C89 or better. If you don't have that, port gcc first.
|
||||
|
||||
Use of C language extensions throughout the X server tree
|
||||
---------------------------------------------------------
|
||||
|
||||
Optional extensions:
|
||||
The server will still build if your toolchain does not support these
|
||||
|
@ -31,3 +33,29 @@ The server will not build if your toolchain does not support these extensions.
|
|||
* variadic macros: macros with a variable number of arguments, e.g.:
|
||||
#define DebugF(x, ...) /**/
|
||||
* interleaved code and declarations: { foo = TRUE; int bar; do_stuff(); }
|
||||
|
||||
|
||||
Use of OS and library facilities throughout the X server tree
|
||||
-------------------------------------------------------------
|
||||
|
||||
Non-OS-dependent code can assume facilities at least as good as
|
||||
the non-OS-facility parts of POSIX-1.2001. Ideally this would
|
||||
be C99, but even gcc+glibc doesn't implement that yet.
|
||||
|
||||
Unix-like systems are assumed to be at least as good as UNIX03.
|
||||
|
||||
Linux systems must be at least 2.4 or later. As a practical matter
|
||||
though, 2.4 kernels never receive any testing. Use 2.6 already.
|
||||
|
||||
TODO: Solaris.
|
||||
|
||||
TODO: *BSD.
|
||||
|
||||
Code that needs to be portable to Windows should be careful to,
|
||||
well, be portable. Note that there are two Windows ports, cygwin and
|
||||
mingw. Cygwin is more or less like Linux, but mingw is a bit more
|
||||
restrictive. TODO: document which versions of Windows we actually care
|
||||
about.
|
||||
|
||||
OSX support is generally limited to the most recent version. Currently
|
||||
that means 10.5.
|
||||
|
|
Loading…
Reference in New Issue
Block a user