[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fwd: Building m4 fails under Interix-3.5
From: |
Bruno Haible |
Subject: |
Re: Fwd: Building m4 fails under Interix-3.5 |
Date: |
Fri, 24 Oct 2008 02:23:03 +0200 |
User-agent: |
KMail/1.5.4 |
Eric Blake wrote:
> Thanks for the report. This means that the gnulib sigaction module (a
> dependency of fatal-signal) has not yet been ported to Interix. I don't
> have access to Interix, so I'm not in a position to write the patch. Care
> to offer a hand? In general, Interix developers are very much
> under-represented on the gnulib lists, and without someone contributing to
> gnulib who actually cares about this platform, we won't be able to promise
> much portability to Interix, since it is a very far cry from Posix-compliant.
This is all true.
But in this case, there is a cheap workaround that I can apply even without
testing.
> > ===> Building for m4-1.4.12
> > ...
> > fatal-signal.c: In function `install_handlers':
> > fatal-signal.c:189: error: `SA_NODEFER' undeclared (first use in this
> > function)
> > fatal-signal.c:189: error: (Each undeclared identifier is reported only once
> > fatal-signal.c:189: error: for each function it appears in.)
> > *** Error code 1
>
>
> > 0 ~>grep SA_ /usr/include/*
> > /usr/include/signal.h:#define SA_NOCLDSTOP 0x00000001
> > /usr/include/signal.h:#define SA_RESTART 0x00000002
> > /usr/include/signal.h:#define SA_RESETHAND 0x00000004
So this system simply does not have SA_NODEFER. Just ignore it. Most signal
handlers will behave equally well with SA_NODEFER than without.
2008-10-23 Bruno Haible <address@hidden>
Define a dummy SA_NODEFER macro on Interix.
* lib/signal.in.h (SA_NODEFER): Define fallback.
Reported by Aleksey Cheusov <address@hidden> via
Thomas Klausner <address@hidden> and Eric Blake.
*** doc/posix-headers/signal.texi.orig 2008-10-24 02:17:11.000000000 +0200
--- doc/posix-headers/signal.texi 2008-10-24 02:15:30.000000000 +0200
***************
*** 21,26 ****
--- 21,29 ----
@item
The signal @code{SIGPIPE} is not defined on some platforms:
mingw.
+ @item
+ The macro @code{SA_NODEFER} is not defined on some platforms:
+ Interix 3.5.
@end itemize
Portability problems not fixed by Gnulib:
*** lib/signal.in.h.orig 2008-10-24 02:17:11.000000000 +0200
--- lib/signal.in.h 2008-10-24 02:16:57.000000000 +0200
***************
*** 178,183 ****
--- 178,189 ----
#endif /* address@hidden@, address@hidden@ */
+ /* Some systems don't have SA_NODEFER. */
+ #ifndef SA_NODEFER
+ # define SA_NODEFER 0
+ #endif
+
+
#ifdef __cplusplus
}
#endif