From 235da7975b564fe8f41c84dab42b865331caba4d Mon Sep 17 00:00:00 2001 From: Patrik Stridvall Date: Mon, 11 Mar 2002 05:09:02 +0000 Subject: [PATCH] Made winebuild (almost) compile and work on Windows. --- tools/winebuild/build.h | 54 ++++++++++++++++++++++++++++++++++++++++ tools/winebuild/import.c | 2 -- tools/winebuild/main.c | 2 -- tools/winebuild/parser.c | 1 - tools/winebuild/relay.c | 2 -- tools/winebuild/res16.c | 1 - tools/winebuild/res32.c | 1 - tools/winebuild/spec16.c | 1 - tools/winebuild/spec32.c | 13 ++++++---- tools/winebuild/utils.c | 1 - 10 files changed, 62 insertions(+), 16 deletions(-) diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h index 6c3f07f8643..295ba6c8c94 100644 --- a/tools/winebuild/build.h +++ b/tools/winebuild/build.h @@ -29,6 +29,60 @@ #include #include +#include +#ifdef HAVE_DIRECT_H +# include +#endif +#ifdef HAVE_IO_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif + +#if !defined(HAVE_POPEN) && defined(HAVE__POPEN) +#define popen _popen +#endif + +#if !defined(HAVE_PCLOSE) && defined(HAVE__PCLOSE) +#define pclose _pclose +#endif + +#if !defined(HAVE_STRNCASECMP) && defined(HAVE__STRNICMP) +# define strncasecmp _strnicmp +#endif + +#if !defined(HAVE_STRCASECMP) && defined(HAVE__STRICMP) +# define strcasecmp _stricmp +#endif + +#define PUT_WORD(ptr, w) (*(WORD *)(ptr) = (w)) +#define PUT_LE_WORD(ptr, w) \ + do { ((BYTE *)(ptr))[0] = LOBYTE(w); \ + ((BYTE *)(ptr))[1] = HIBYTE(w); } while (0) +#define PUT_BE_WORD(ptr, w) \ + do { ((BYTE *)(ptr))[1] = LOBYTE(w); \ + ((BYTE *)(ptr))[0] = HIBYTE(w); } while (0) + +#if defined(ALLOW_UNALIGNED_ACCESS) +#define PUT_UA_WORD(ptr, w) PUT_WORD(ptr, w) +#elif defined(WORDS_BIGENDIAN) +#define PUT_UA_WORD(ptr, w) PUT_BE_WORD(ptr, w) +#else +#define PUT_UA_WORD(ptr, w) PUT_LE_WORD(ptr, w) +#endif + +#ifdef NEED_UNDERSCORE_PREFIX +# define __ASM_NAME(name) "_" name +#else +# define __ASM_NAME(name) name +#endif + +#ifdef NEED_TYPE_IN_DEF +# define __ASM_FUNC(name) ".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef" +#else +# define __ASM_FUNC(name) ".type " __ASM_NAME(name) ",@function" +#endif #ifdef NEED_UNDERSCORE_PREFIX # define PREFIX "_" diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c index 9f2ee3d923c..e54d0dcdd83 100644 --- a/tools/winebuild/import.c +++ b/tools/winebuild/import.c @@ -23,10 +23,8 @@ #include #include -#include #include -#include "winnt.h" #include "build.h" struct import diff --git a/tools/winebuild/main.c b/tools/winebuild/main.c index a106cb0f2bd..a44e691fd98 100644 --- a/tools/winebuild/main.c +++ b/tools/winebuild/main.c @@ -26,11 +26,9 @@ #include #include -#include #include #include -#include "winnt.h" #include "build.h" ORDDEF *EntryPoints[MAX_ORDINALS]; diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c index cb23a1a4fc6..e205cceadbc 100644 --- a/tools/winebuild/parser.c +++ b/tools/winebuild/parser.c @@ -29,7 +29,6 @@ #include #include #include -#include #include "winbase.h" #include "build.h" diff --git a/tools/winebuild/relay.c b/tools/winebuild/relay.c index b61a8556d18..f0ed77264fe 100644 --- a/tools/winebuild/relay.c +++ b/tools/winebuild/relay.c @@ -25,9 +25,7 @@ #include "config.h" #include -#include -#include "winnt.h" #include "thread.h" #include "stackframe.h" diff --git a/tools/winebuild/res16.c b/tools/winebuild/res16.c index b0e078ec242..047cc986b6b 100644 --- a/tools/winebuild/res16.c +++ b/tools/winebuild/res16.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include diff --git a/tools/winebuild/res32.c b/tools/winebuild/res32.c index bfda90e47d1..a295e6ba27d 100644 --- a/tools/winebuild/res32.c +++ b/tools/winebuild/res32.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include diff --git a/tools/winebuild/spec16.c b/tools/winebuild/spec16.c index 23d990f1049..e84150f1b0b 100644 --- a/tools/winebuild/spec16.c +++ b/tools/winebuild/spec16.c @@ -23,7 +23,6 @@ */ #include "config.h" -#include "wine/port.h" #include #include diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c index edfa700f6c0..06fdac9cab8 100644 --- a/tools/winebuild/spec32.c +++ b/tools/winebuild/spec32.c @@ -26,7 +26,6 @@ #include #include -#include #include #include "winbase.h" @@ -439,12 +438,16 @@ void BuildSpec32File( FILE *outfile ) #ifdef HAVE_GETPAGESIZE page_size = getpagesize(); -#else -# ifdef __svr4__ +#elif defined(__svr4__) page_size = sysconf(_SC_PAGESIZE); -# else +#elif defined(_WINDOWS) + { + SYSTEM_INFO si; + GetSystemInfo(&si); + page_size = si.dwPageSize; + } +#else # error Cannot get the page size on this platform -# endif #endif AssignOrdinals(); diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c index 1523d957267..4a3e0cc797d 100644 --- a/tools/winebuild/utils.c +++ b/tools/winebuild/utils.c @@ -25,7 +25,6 @@ #include #include #include -#include #include "build.h"