Missing version(Unix). Again.

Sean Kelly sean at f4.ca
Mon May 1 15:10:47 PDT 2006


Anders F Björklund wrote:
> Sean Kelly wrote:
> 
>>> I'm not really sure why Ares changed the name from Unix to Posix,
>>> surely there was a good reason for doing it differently from GDC ?
>>> "Unix", see http://www.digitalmars.com/drn-bin/wwwnews?D.gnu/1212
>>> (hope it doesn't mean that we need *three* versions, in the above)
>>
>> "POSIX" is an API spec, while "UNIX" is merely a generic term for some 
>> systems that implement that spec.  I thought it made more sense to say 
>> whether your OS supported the API and leave OS-specific stuff to 
>> what's actually OS-specific (in sys/*).
> 
> I made the same argument myself, but it seemed like both Walter and 
> David wanted to split it by OS instead, so I just left it at that...
> 
> I must have missed this "sys" hierarchy, that is an Ares thing right ?
> As I only knew about the Phobos and Deimos roots, and the loose files.

Yes it is.  This is the current breakdown:

std.c		- standard C headers
std.c.posix	- POSIX headers
std.c.posix.sys	- same
sys.windows	- Windows-specific D code
sys.windows.c	- Windows C headers

and so on for linux, darwin, etc.

Currently, the files in sys.linux.c duplicate some information in 
std.c.posix, but I am gradually phasing it out.

>> Admittedly, sys/linux/c still contains a bunch of stuff that's 
>> actually a part of POSIX, but I'm trying to phase it out as it's 
>> implemented in the POSIX headers.
> 
> I recall that GDC had to add the std.c.dirent module, for instance.
> Will download Ares, and take a look at this alternative setup...

The current Posix headers only support Linux and (to a limited degree) 
Darwin, but it would be easy enough to add other OSes as well.  I'm 
taking care of them on an as-needed basis, but there's a decent bit of 
functionality available so far.


Sean



More information about the Digitalmars-d mailing list