libEMF/libEMF-amd64.patch

93 lines
3.1 KiB
Diff

--- libEMF-1.0.3/libemf/libemf.h.amd64 2004-11-11 23:33:43.000000000 +0100
+++ libEMF-1.0.3/libemf/libemf.h 2006-11-19 00:54:37.000000000 +0100
@@ -306,6 +306,7 @@
fread( &word, sizeof(INT16), 1, fp_ );
return *this;
}
+#if !(defined(_LP64) || defined(__alpha__))
/*!
* Output a double word (long) to the stream (swabbed).
* \param word word (long) to output.
@@ -374,6 +375,7 @@
fread( &long_, sizeof(LONG), 1, fp_ );
return *this;
}
+#endif
/*!
* Output a (long) int to the stream (swabbed).
* \param int_ (long) int to output.
--- libEMF-1.0.3/include/libEMF/wine/winbase.h.amd64 2004-07-29 08:20:38.000000000 +0200
+++ libEMF-1.0.3/include/libEMF/wine/winbase.h 2006-11-19 00:55:17.000000000 +0100
@@ -1802,6 +1802,7 @@
VOID WINAPI SetLastError(DWORD);
#endif /* __i386__ && __GNUC__ */
+#if 0
/* FIXME: should handle platforms where sizeof(void*) != sizeof(long) */
static inline PVOID WINAPI InterlockedCompareExchangePointer( PVOID *dest, PVOID xchg, PVOID compare )
{
@@ -1812,6 +1813,7 @@
{
return (PVOID)InterlockedExchange( (PLONG)dest, (LONG)val );
}
+#endif
#ifdef __WINE__
#define GetCurrentProcess() ((HANDLE)0xffffffff)
--- libEMF-1.0.3/include/libEMF/wine/winnt.h.amd64 2005-08-07 17:50:12.000000000 +0200
+++ libEMF-1.0.3/include/libEMF/wine/winnt.h 2006-11-19 00:54:37.000000000 +0100
@@ -29,10 +29,14 @@
/* Architecture dependent settings. */
/* These are hardcoded to avoid dependencies on config.h in Winelib apps. */
-#if defined(__i386__)
+#if defined(__i386__) || defined(__x86_64__)
# undef WORDS_BIGENDIAN
# undef BITFIELDS_BIGENDIAN
# define ALLOW_UNALIGNED_ACCESS
+#elif defined(__alpha__)
+# undef WORDS_BIGENDIAN
+# undef BITFIELDS_BIGENDIAN
+# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__sparc__)
# define WORDS_BIGENDIAN
# define BITFIELDS_BIGENDIAN
@@ -222,8 +226,13 @@
typedef unsigned short WORD, *PWORD, *LPWORD;
typedef int INT, *PINT, *LPINT;
typedef unsigned int UINT, *PUINT, *LPUINT;
+#if defined(_LP64) || defined(__alpha__)
+typedef unsigned int DWORD, *PDWORD, *LPDWORD;
+typedef unsigned int ULONG, *PULONG, *LPULONG;
+#else
typedef unsigned long DWORD, *PDWORD, *LPDWORD;
typedef unsigned long ULONG, *PULONG, *LPULONG;
+#endif
typedef float FLOAT, *PFLOAT, *LPFLOAT;
typedef double DOUBLE, *PDOUBLE, *LPDOUBLE;
typedef double DATE;
@@ -263,7 +272,11 @@
typedef BYTE BOOLEAN, *PBOOLEAN;
typedef char CHAR, *PCHAR;
typedef short SHORT, *PSHORT;
+#if defined(_LP64) || defined(__alpha__)
+typedef int LONG, *PLONG, *LPLONG;
+#else
typedef long LONG, *PLONG, *LPLONG;
+#endif
/* Some systems might have wchar_t, but we really need 16 bit characters */
#ifndef WINE_WCHAR_DEFINED
@@ -652,6 +665,11 @@
#endif /* __i386__ */
+#ifdef __x86_64__
+#define CONTEXT_FULL 1
+typedef struct _CONTEXT CONTEXT;
+#endif
+
/* Alpha context definitions */
#ifdef _ALPHA_