diff options
author | Adam Jackson <ajax@redhat.com> | 2008-07-31 15:46:52 -0400 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2008-07-31 15:50:23 -0400 |
commit | 8d214bc26f9b7ab6a5c54d7749cd4b6811cb0b96 (patch) | |
tree | 1878aab56bd966fc02ee5f9d177b33d40f6d299b /doc | |
parent | 2198e237b2ed85857c671eee2cd04dfc032befee (diff) |
Document more of the OS and library assumptions.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/c-extensions | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/doc/c-extensions b/doc/c-extensions index e1b222b9f..eb33e272b 100644 --- a/doc/c-extensions +++ b/doc/c-extensions @@ -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. |