Subject: Flex: Cygwin and Windows ports
From: Vincent Caron <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Mon, 21 Oct 2002 21:28:49 +0200

Hello,

I'd like to use the latest Flex (ie. 2.5.23) under a Windows 
environment. The main pb is related to the integral types declaration 
(in flexint.h).

Cygwin :

* does not have <inttypes.h>
* but provides <sys/types.h> which defines most integral types
* the latter is needed for the uint* unsigned types (Cygwin adds an 
extra underscore) :

   typedef u_int8_t uint8_t;
   typedef u_int16_t uint16_t;
   typedef u_int32_t uint32_t;

As far as I could check, looks like an ISOC99 non compliance issue ( 
http://www.opengroup.org/onlinepubs/007904975/basedefs/stdint.h.html ).

Windows : is not even vaguely POSIX, so you get something like :

typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;

I don't know how you would like to solve those issues, thus I'm not 
sending my brutal flexint.h patch :)

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/