Subject: Re: Failed to build emacs 23.0.90 on Ubuntu 8.10 (x86_64)

From: Yavor Doganov <[email-masked]>
Date: Fri, 06 Mar 2009 19:27:08 +0200

Adrian Robert wrote:
> 
> I've committed the fix to the typo in nsfns.m under my own name for
> now, until you can get your papers in.  (It was my typo, so I assume
> I'm allowed to fix it.  ;-)

Sure, thanks very much.

> Regarding the signal.h include in nsterm, can you provide some
> background or a mailing list archive link as to why it is needed?

This is where the signal names are defined on glibc-based systems:

,---- (libc)Standard Signals ----
| This section lists the names for various standard kinds of signals and
| describes what kind of event they mean.  Each signal name is a macro
| which stands for a positive integer--the "signal number" for that kind
| of signal.  Your programs should never make assumptions about the
| numeric code for a particular kind of signal, but rather refer to them
| always by the names defined here.  This is because the number for a
| given kind of signal can vary from system to system, but the meanings of
| the names are standardized and fairly uniform.
| 
|    The signal names are defined in the header file `signal.h'.
`----

> Should I put it under some #ifdefs, at least NS_IMPL_GNUSTEP but
> possibly more?

I'm fairly certain that this is needed on all GNU variants (I get the
same failure on GNU/kFreeBSD, for example).  However, GNUstep works on
other systems (*BSD, Solaris, etc.) so maybe there unistd.h is
sufficient (or not).  If it causes problems on MacOS, then of course
include it conditionally.

Maybe someone more knowledgable will be able to comment.