Supported combinations of OS, libraries and platforms

Adam Jackson ajax at
Wed Mar 31 08:09:41 PDT 2010

On Wed, 2010-03-31 at 09:28 -0400, Gaetan Nadon wrote:
> On Wed, 2010-03-31 at 14:28 +0700, Mikhail Gusarov wrote: 
> > Hello,
> > 
> > Is there any list of platforms, system libraries and OSes software
> > should support? "Should" here means "will compile and run aside
> > occasional breakages if nobody looks upon the particular combination".
> > 
> > I'm looking at cleaning up Xtrans, but I have no idea may I clean up
> > BSD44SOCKETS, SUN_LEN, __SCO__, __UNIXWARE__ etc or not.

Careful there.  BSD44SOCKETS means "I have an interface that looks like
4.4BSD sockets", which pretty much everyone does.  SUN_LEN is "length of
the socket name for PF_UNIX sockets", it's nothing to do with Stanford
University Network ^W^W^W Sun ^W Oracle at all.

> > If there is no such list, I am willing to create and maintain it, though
> > some basic info is needed upfront (C90? POSIX-what-version?)

Well, for the server, there's doc/c-extensions.txt

> I have been wanting to ask this question for a while. I have not been
> able to find such 
> a list as of yet. I did find bits of info in various places.

So, here's the assumptions I've been working from:

The X server core and software DDXes should build and work on basically
all of the free BSDs (not counting Darwin), Solaris 10+ and OpenSolaris,
Linux, Hurd, and some versions of SCO, on any CPU architecture they
support.  Kdrive's hardware servers - basically just Xfbdev at this
point - is Linux-only; the rest should work anywhere.  The Xorg DDX
could probably be built for just about any architecture, but it doesn't
really make sense to do so in all cases; s390 doesn't have a PCI bus, so
it'd be a bit silly.  But the bus support code is in some sense
optional, an arm port wouldn't necessarily need PCI support, etc.  The
Xorg DDX does assume a vaguely ELF-like linking environment and a
libdl-like interface to it; this isn't a problem for any of the
currently supported ports, but anyone trying to port it to OSX, AIX, or
ancient HP/UX would probably have issues.

Obviously, the xwin and quartz DDXes are platform-specific.

The server's compiler needs to be C89 plus a few common C99 extensions.
Don't say "requires C99"; no compiler completely supports C99 yet, as
far as I'm aware.  Yes, even gcc:

Most of the client libs and apps should work on pretty much any vaguely
modern unix; there's generally no compelling need to break them, and
indeed most of the apps should be left the hell alone because they're
not things we want to encourage people to use.  xtrans is sort of a
special case because it's so deeply tied to the X server, it should be
considered as portable as the server is.

Non-server compiler pretty much just needs to be C89 or better.

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the xorg-devel mailing list