>>>> "RT" == Raymond Toy
<toy(a)rtp.ericsson.se> writes:
RT> Compiling on solaris 2.7 with gcc, I get the following warning:
RT> gcc -c -g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes -Wshadow
-Wpointer-arith -I. -I../src -I/apps/public/XEmacs/src/xemacs-21.2.46/lib-src
-I/apps/public/XEmacs/src/xemacs-21.2.46/src -DHAVE_CONFIG_H
-I/apps/public/solaris2.7/usr/openwin/include -I/apps/public/solaris2.7/include
-I/usr/dt/include -I/usr/openwin/include
/apps/public/XEmacs/src/xemacs-21.2.46/lib-src/gnuslib.c
RT> In file included from /usr/include/signal.h:24,
RT> from
/apps/public/XEmacs/src/xemacs-21.2.46/lib-src/gnuserv.h:108,
RT> from /apps/public/XEmacs/src/xemacs-21.2.46/lib-src/gnuslib.c:36:
RT> /usr/include/sys/signal.h:239: warning: `NSIG' redefined
RT> ../src/s/usg5-4.h:95: warning: this is the location of the previous definition
RT> This is probably harmless, but it's bad that we redefine some constant
RT> given in a system header file.
Yes, this warning is anoying but harmless;-) The only two files that
are using NSIG (src/process.c & src/sysdep.c) get the the system
definition.
I don't know what the reason for the `#ifdef emacs' in src/s/usg5-4.h
would be which triggers the (early) inclusion of the system header
files?
---------------------------------------------------------------------------
#ifdef emacs
#include <sys/filio.h>
#include <termio.h>
#include <sys/ttold.h>
#include <signal.h>
#include <sys/stream.h>
#include <sys/termios.h>
#endif
---------------------------------------------------------------------------
That's not defined for the lib-src files and than you get the nice
warning.
-- Marco
RT> Alternatively, perhaps NSIG in usg5-4.h is wrong? On my solaris 2.7
RT> system, NSIG is 46.
RT> Ray
--