[plt-scheme] Cygwin build failure
On Jun 22, Eric Hanchrow wrote:
> Revision 233 of http://svn.plt-scheme.org/plt/trunk on up-to-date
> Cygwin:
>
> make --unix
>
> yields these errors:
>
> make[5]: Entering directory `/usr/local/src/plt-scheme/src/foreign' gcc -g -O2 -Wall -DGC_DLL -I./../mzscheme -I./../mzscheme/include -I./../mzscheme/src -Igcc/libffi/include -c ./foreign.c -o foreign.o
> ./foreign.c:639: error: parse error before "Tsint8"
> ./foreign.c:639: warning: no semicolon at end of struct or union
> ./foreign.c:640: warning: type defaults to `int' in declaration of `x_uint8'
> ./foreign.c:640: warning: data definition has no type or storage class
> ./foreign.c:641: error: parse error before "x_int16"
> ./foreign.c:641: warning: type defaults to `int' in declaration of `x_int16'
> ./foreign.c:641: warning: data definition has no type or storage class
>
> ... and many similar in that file. I wonder if I've got the wrong
> header file ...
>
> Any ideas?
Possibly a bug in the section that defines the types that are used in
that file. If you look at the top of the file, you will find this:
----------------------------------------------------------------------
# include <windows.h>
# ifndef __CYGWIN32__
# include <wtypes.h>
typedef _int8 Tsint8;
typedef unsigned _int8 Tuint8;
typedef _int16 Tsint16;
typedef unsigned _int16 Tuint16;
typedef _int32 Tsint32;
typedef unsigned _int32 Tuint32;
typedef _int64 Tsint64;
typedef unsigned _int64 Tuint64;
# endif
----------------------------------------------------------------------
Can you move the "# endif" line up so it is just after the
"# include <wtypes.h>" line and tell me if it works?
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://www.barzilay.org/ Maze is Life!