bug-m4
[Top][All Lists]
Advanced

[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





reply via email to

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