Re: [Mingw-users] Re: _WIN32?

Danny Smith
2001-05-05T15:57:00Z

>>
>> You don't necessarily have to test for anything. We could just add
>> a TERMINAL_DOES_BLAH conditional which was set only when gdb was being
>> run under cygwin, or djgpp, or (don't worry we're working on it and
>> will have something in the next <<undeterminied>> timeframe, really
>> we will) Windows. You don't actually have to write an autoconf test
>> for this.
>
>I agree with that approach, but Andrew was talking about Autoconf.

So was I. You could still do this in configure.in. The alternatives are
having something like:

#if defined (__CYGWIN__) || defined (__DJGPP__)
# define FILENAME_CASE_INSENSITIVE
#endif

of something like (in configure.host):

case "$host_cpu" in

i[3456]86-*-cygwin*)
gdb_host=cygwin
FILENAME_CASE_INSENSITIVE=1
;;

i[3456]86-*-msdosdjgpp*)
gdb_host=go32
FILENAME_CASE_INSENSITIVE=1
;;
esac

AC_SUBST(FILENAME_CASE_INSENSITIVE)

cgf

Please be patient. I have very little experience with multiplatform
configurations, none with autoconfigury I am one of these folk:

>>(don't worry we're working on it and
>> will have something in the next <<undeterminied>> timeframe, really
>> we will) Windows.

and I am getting a bit confused by some of this discussion, and what I should
do. For me examples teach.

Here is an example of what I would like to add:

In event-loop.c, a clock is needed. Posix uses gettimeofday. Here is how I
would provide that clock for w32:

/* winbase.h definitions */
typedef struct _FILETIME {
unsigned long dwLowDateTime;
unsigned long dwHighDateTime;
} FILETIME;
void __stdcall GetSystemTimeAsFileTime(FILETIME*);

/*time from 1 Jan 1601 to 1 Jan 1970 in 100ns units */
#define _W32_FT_OFFSET (116444736000000000LL)

typedef union {
long long ns100; /*time since 1 Jan 1601 in 100ns units */
FILETIME ft;
} w32_ftv;

void nt_gettimeofday(struct timeval* p, struct timezone* tz /* IGNORED */){
w32_ftv _now;
GetSystemTimeAsFileTime( &(_now.ft) );
p->tv_usec=(long)((_now.ns100 / 10LL) % 1000000LL );
p->tv_sec= (long)((_now.ns100-_W32_FT_OFFSET)/10000000LL);
return;

Now, how would you like me to put this into event-loop.c.
An example please, either on this list or privately

_____________________________________________________________________________
http://store.yahoo.com.au - Yahoo! Store
- It's time you had your business online!