At 10:05 PM 12/5/99 +0000, Andy Piper wrote:
Craig,
I have fixed this problem for cygwin 1.0. Try the attached (untested)
patch to mingw32.h with the latest cvs.
Thanks.
andy
--------------------------------------------------------------
Dr Andy Piper
Senior Consultant Architect, BEA Systems Ltd
I updated from CVS and applied the patch. This is what happened:
/XEmacs/xemacs > make
Producing `src/Emacs.ad.h' from `etc/Emacs.ad'.
Resetting `src/sheap-adjust.h'.
cd ./lib-src && make all
gcc -g -O3 -Wall -Wno-switch -Demacs -I/XEmacs/xemacs/src -I../src
-DHAVE_CONFIG_H -I/usr/mingw32/include -mno-cygwin -Wno-sign-compare
-fno-caller-saves -Int/inc -I../nt/inc -DWINDOWSNT
/XEmacs/xemacs/lib-src/make-path.c -o make-path
In file included from /XEmacs/xemacs/src/../src/config.h:521,
from /XEmacs/xemacs/lib-src/make-path.c:30:
/XEmacs/xemacs/src/../src/s/mingw32.h:252: parse error before `uid'
/XEmacs/xemacs/src/../src/s/mingw32.h:254: parse error before `getuid'
/XEmacs/xemacs/src/../src/s/mingw32.h:254: warning: type defaults to `int'
in declaration of `getuid'
/XEmacs/xemacs/src/../src/s/mingw32.h:254: warning: data definition has no
type or storage class
/XEmacs/xemacs/src/../src/s/mingw32.h:255: parse error before `geteuid'
/XEmacs/xemacs/src/../src/s/mingw32.h:255: warning: type defaults to `int'
in declaration of `geteuid'
/XEmacs/xemacs/src/../src/s/mingw32.h:255: warning: data definition has no
type or storage class
/XEmacs/xemacs/src/../src/s/mingw32.h:256: parse error before `getgid'
/XEmacs/xemacs/src/../src/s/mingw32.h:256: warning: type defaults to `int'
in declaration of `getgid'
/XEmacs/xemacs/src/../src/s/mingw32.h:256: warning: data definition has no
type or storage class
/XEmacs/xemacs/src/../src/s/mingw32.h:257: parse error before `getegid'
/XEmacs/xemacs/src/../src/s/mingw32.h:257: warning: type defaults to `int'
in declaration of `getegid'
/XEmacs/xemacs/src/../src/s/mingw32.h:257: warning: data definition has no
type or storage class
/XEmacs/xemacs/lib-src/make-path.c: In function `touchy_mkdir':
/XEmacs/xemacs/lib-src/make-path.c:51: warning: implicit declaration of
function `mkdir'
make[1]: *** [make-path] Error 1
make: *** [lib-src] Error 2
I uncommented the definitions for uid_t and gid_t and ran make again. The
build process went much farther. This time it stopped when it reached
"emacs.c". Apparently, gcc doesn't like it when structures (namely, struct
timeval) are redefined. One definition is in <winsock.h> the other one is
in ../nt/inc/sys/time.h.
Note also that wchar_t is being redefined.
gcc -c -g -O3 -Wall -Wno-switch -Demacs -I. -DHAVE_CONFIG_H
-I/usr/mingw32/include -mno-cygwin -Wno-sign-compare -fno-caller-saves
-Int/inc -I../nt/inc -DWINDOWSNT emacs.c
In file included from
/usr/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95.2/../.
./../../i586-cygwin32/include/windef.h:111,
from
/usr/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95.2/../.
./../../i586-cygwin32/include/windows.h:84,
from emacs.c:70:
/usr/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95.2/../.
./../../i586-cygwin32/include/winnt.h:28: warning: redefinition of `wchar_t'
/usr/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95.2/../.
./../../i586-cygwin32/include/mingw32/stddef.h:123: warning: `wchar_t'
previously declared here
In file included from
/usr/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95.2/../.
./../../i586-cygwin32/include/windows.h:110,
from emacs.c:70:
/usr/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95.2/../.
./../../i586-cygwin32/include/winsock.h:73: redefinition of `struct timeval'
emacs.c: In function `assert_failed':
emacs.c:2827: warning: `noreturn' function does return
make[1]: *** [emacs.o] Error 1
make: *** [src] Error 2