emacs-devel
[Top][All Lists]
Advanced

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

MinGW build on master broken by Gnulib update


From: Eli Zaretskii
Subject: MinGW build on master broken by Gnulib update
Date: Thu, 05 Sep 2024 08:43:23 +0300

The last update from Gnulib broke the MinGW build on master:

  sig2str.c:321:1: warning: no previous prototype for 'str2sig' 
[-Wmissing-prototypes]
    321 | str2sig (char const *signame, int *signum)
        | ^~~~~~~
  sig2str.c:332:1: warning: no previous prototype for 'sig2str' 
[-Wmissing-prototypes]
    332 | sig2str (int signum, char *signame)
        | ^~~~~~~
  [...]
  process.c: In function 'abbr_to_signal':
  process.c:7265:9: warning: implicit declaration of function 'str2sig' 
[-Wimplicit-function-declaration]
   7265 |  return str2sig (sigbuf, &signo) == 0 ? signo : -1;
        |         ^~~~~~~
  process.c:7265:9: warning: nested extern declaration of 'str2sig' 
[-Wnested-externs]
  process.c: In function 'Fsignal_names':
  process.c:8539:13: error: 'SIG2STR_MAX' undeclared (first use in this 
function)
   8539 |   char name[SIG2STR_MAX];
        |             ^~~~~~~~~~~
  process.c:8539:13: note: each undeclared identifier is reported only once for 
each function it appears in
    CC       intervals.o
  process.c:8544:12: warning: implicit declaration of function 'sig2str' 
[-Wimplicit-function-declaration]
   8544 |       if (!sig2str (i, name))
        |            ^~~~~~~
  process.c:8544:12: warning: nested extern declaration of 'sig2str' 
[-Wnested-externs]
  process.c:8539:8: warning: unused variable 'name' [-Wunused-variable]
   8539 |   char name[SIG2STR_MAX];
        |        ^~~~
    CC       textprop.o
  Makefile:457: recipe for target `process.o' failed
  make[2]: *** [process.o] Error 1

Gnulib moved the prototypes of sig2str and str2sig from sig2str.h to
Gnulib's signal.h, evidently assuming that a build which uses the
Gnulib sig2str will also use the Gnulib signal.h header, but that
assumption is false for the MinGW build of Emacs, which omits
lib/signal.h (because it clashes with some w32 code in Emacs).

I fixed that temporarily by modifying lib/sig2str.h to include the
missing stuff for MinGW, but this is really a Gnulib issue, and should
be fixed in Gnulib, IMO.



reply via email to

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