mingw (Win32) port
This commit is contained in:
Alexander Gottwald 2004-11-15 15:06:53 +00:00
parent 618956f1f7
commit dd82af84ed
5 changed files with 104 additions and 3 deletions

5
Xos.h
View file

@ -1,5 +1,5 @@
/*
* $XdotOrg: xc/include/Xos.h,v 1.1.4.4 2004/02/16 20:55:02 alanc Exp $
* $XdotOrg: xc/include/Xos.h,v 1.2 2004/04/23 18:43:05 eich Exp $
* $Xorg: Xos.h,v 1.6 2001/02/09 02:03:22 xorgcvs Exp $
*
*
@ -211,11 +211,12 @@ struct timezone {
#define _POSIX_SOURCE
#elif defined(WIN32)
#include <time.h>
#if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_)
#if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL)
struct timeval {
long tv_sec; /* seconds */
long tv_usec; /* and microseconds */
};
#define _TIMEVAL_DEFINED
#endif
#include <sys/timeb.h>
#define gettimeofday(t) \

View file

@ -94,6 +94,7 @@ typedef mutex_t xmutex_rec;
#else /* !SVR4 */
#ifdef WIN32
#define BOOL wBOOL
#define INT32 wINT32
#ifdef Status
#undef Status
#define Status wStatus
@ -103,6 +104,7 @@ typedef mutex_t xmutex_rec;
#undef Status
#define Status int
#endif
#undef INT32
#undef BOOL
typedef DWORD xthread_t;
typedef DWORD xthread_key_t;

View file

@ -3,6 +3,13 @@
#ifndef _XW32DEFS_H
#define _XW32DEFS_H
#ifdef __GNUC__ /* mingw is more close to unix than msvc */
#if !defined(__daddr_t_defined)
typedef char *caddr_t;
#endif
#define lstat stat
#else
typedef char *caddr_t;
#define access _access
@ -70,5 +77,5 @@ typedef char *caddr_t;
#define X_OK 1
#define W_OK 2
#define R_OK 4
#endif /* __GNUC__ */
#endif

75
Xwindows.h Normal file
View file

@ -0,0 +1,75 @@
/* $Xorg$ */
/*
Copyright 1996, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from
The Open Group.
*/
/*
* This header file has for sole purpose to allow to include windows.h
* without getting any name conflicts with our code.
* Conflicts come from the fact that including windows.h actually pulls
* in the whole Windows API...
*/
#undef _XFree86Server
#ifdef XFree86Server
#define _XFree86Server
#undef XFree86Server
#endif
#define BOOL wBOOL
#define INT32 wINT32
#undef Status
#define Status wStatus
#define ATOM wATOM
#define BYTE wBYTE
#define FreeResource wFreeResource
#include <windows.h>
#undef Status
#define Status int
#undef BYTE
#undef BOOL
#undef INT32
#undef ATOM
#undef FreeResource
#undef CreateWindowA
#undef min
#undef max
#ifdef RESOURCE_H
#undef RT_FONT
#undef RT_CURSOR
#define RT_FONT ((RESTYPE)4)
#define RT_CURSOR ((RESTYPE)5)
#endif
#define sleep(x) Sleep(1000*x)
#ifdef _XFree86Server
#define XFree86Server
#undef _XFree86Server
#endif

View file

@ -34,17 +34,33 @@ The Open Group.
* in the whole Windows API...
*/
#undef _XFree86Server
#ifdef XFree86Server
#define _XFree86Server
#undef XFree86Server
#endif
#define BOOL wBOOL
#define INT32 wINT32
#undef Status
#define Status wStatus
#define ATOM wATOM
#define BYTE wBYTE
#define FreeResource wFreeResource
#include <winsock.h>
#undef Status
#define Status int
#undef BYTE
#undef BOOL
#undef INT32
#undef ATOM
#undef FreeResource
#undef CreateWindowA
#undef RT_FONT
#undef RT_CURSOR
#ifdef _XFree86Server
#define XFree86Server
#undef _XFree86Server
#endif