bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ISO C 99 versus POSIX 2001


From: Bruno Haible
Subject: Re: ISO C 99 versus POSIX 2001
Date: Wed, 24 Aug 2005 18:15:28 +0200
User-agent: KMail/1.5

Jim Meyering wrote:
> ... a prescribed norm: relatively-recent POSIX.
> ...
> My point is that Gnulib development should not be held hostage to a
> system that is behind the standards curve.

I disagree. Gnulib's purpose is to provide portability across the
mainstream systems, _regardless_ whether they implement the standards
correctly.

The three mainstream systems nowadays are Linux, Windows, MacOS X.
Like it or not, we have pressure for availability on all these three
systems.

How far a system is behind the standards curve, is irrelevant here.
We have been using K&R C source code until ca. 2001, _only_ for the
sake of SunOS 4 and HP-UX 9. Regardless of the fact that C89 was
quite established already since 1994.

For this reason, Gnulib is not simply a "POSIX emulation library".

The other reason why you cannot simply use POSIX APIs and expect
Gnulib to provide the rest, is that sometimes POSIX APIs are not
the adequate layer for portability. The most famous example is
fork()/exec(): Both are not efficiently implementable on Windows.

So, we need to find the adequate API for portability of each facility,
case by case. Often it is the POSIX spec, often it is ISO C 99.
Often also, we have to make up an API of our own, because the POSIX
APIs are not efficiently implementable on the other systems or too
hard to use by themselves.

Bruno





reply via email to

[Prev in Thread] Current Thread [Next in Thread]