[67696] trunk/dports/x11/wine-devel

ryandesign at macports.org ryandesign at macports.org
Sun May 16 01:26:16 PDT 2010


Revision: 67696
          http://trac.macports.org/changeset/67696
Author:   ryandesign at macports.org
Date:     2010-05-16 01:26:14 -0700 (Sun, 16 May 2010)
Log Message:
-----------
wine-devel: apply upstream patch to fix building with -O0

Modified Paths:
--------------
    trunk/dports/x11/wine-devel/Portfile

Added Paths:
-----------
    trunk/dports/x11/wine-devel/files/wine.git-f7f4e9e3be9f0bff65857637030dfb0718bfb8bd.diff

Modified: trunk/dports/x11/wine-devel/Portfile
===================================================================
--- trunk/dports/x11/wine-devel/Portfile	2010-05-16 08:19:54 UTC (rev 67695)
+++ trunk/dports/x11/wine-devel/Portfile	2010-05-16 08:26:14 UTC (rev 67696)
@@ -97,6 +97,9 @@
     port:flex \
     port:pkgconfig
 
+patchfiles              wine.git-f7f4e9e3be9f0bff65857637030dfb0718bfb8bd.diff
+patch.pre_args          -p1
+
 configure.ldflags-append \
     -framework CoreServices \
     -lz

Added: trunk/dports/x11/wine-devel/files/wine.git-f7f4e9e3be9f0bff65857637030dfb0718bfb8bd.diff
===================================================================
--- trunk/dports/x11/wine-devel/files/wine.git-f7f4e9e3be9f0bff65857637030dfb0718bfb8bd.diff	                        (rev 0)
+++ trunk/dports/x11/wine-devel/files/wine.git-f7f4e9e3be9f0bff65857637030dfb0718bfb8bd.diff	2010-05-16 08:26:14 UTC (rev 67696)
@@ -0,0 +1,265 @@
+From: Alexandre Julliard <julliard at winehq.org>
+Date: Fri, 7 May 2010 20:38:32 +0000 (+0200)
+Subject: include: Force inlining exported API functions to avoid duplicate definitions.
+X-Git-Url: http://source.winehq.org/git/wine.git/?a=commitdiff_plain;h=f7f4e9e3be9f0bff65857637030dfb0718bfb8bd
+
+include: Force inlining exported API functions to avoid duplicate definitions.
+---
+
+diff --git a/include/winbase.h b/include/winbase.h
+index cca85d5..6bb4866 100644
+--- a/include/winbase.h
++++ b/include/winbase.h
+@@ -2318,9 +2318,9 @@ extern WCHAR * CDECL wine_get_dos_file_name( LPCSTR str );
+ /* Interlocked functions */
+ 
+ #ifdef __i386__
+-# if defined(__GNUC__) && !defined(_NTSYSTEM_)
++# if defined(__GNUC__) && !defined(_NTSYSTEM_) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
+ 
+-static inline LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
++static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
+ {
+     LONG ret;
+     __asm__ __volatile__( "lock; cmpxchgl %2,(%1)"
+@@ -2328,7 +2328,7 @@ static inline LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG
+     return ret;
+ }
+ 
+-static inline LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
++static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
+ {
+     LONG ret;
+     __asm__ __volatile__( "lock; xchgl %0,(%1)"
+@@ -2336,7 +2336,7 @@ static inline LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
+     return ret;
+ }
+ 
+-static inline LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
++static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
+ {
+     LONG ret;
+     __asm__ __volatile__( "lock; xaddl %0,(%1)"
+@@ -2344,12 +2344,12 @@ static inline LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr
+     return ret;
+ }
+ 
+-static inline LONG WINAPI InterlockedIncrement( LONG volatile *dest )
++static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
+ {
+     return InterlockedExchangeAdd( dest, 1 ) + 1;
+ }
+ 
+-static inline LONG WINAPI InterlockedDecrement( LONG volatile *dest )
++static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
+ {
+     return InterlockedExchangeAdd( dest, -1 ) - 1;
+ }
+@@ -2364,12 +2364,12 @@ WINBASEAPI LONG WINAPI InterlockedIncrement(LONG volatile*);
+ 
+ # endif  /* __GNUC__ */
+ 
+-static inline PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
++static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
+ {
+     return (PVOID)InterlockedCompareExchange( (LONG volatile*)dest, (LONG)xchg, (LONG)compare );
+ }
+ 
+-static inline PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
++static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
+ {
+     return (PVOID)InterlockedExchange( (LONG volatile*)dest, (LONG)val );
+ }
+@@ -2378,7 +2378,7 @@ WINBASEAPI LONGLONG WINAPI InterlockedCompareExchange64(LONGLONG volatile*,LONGL
+ 
+ #else  /* __i386__ */
+ 
+-static inline LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
++static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
+ {
+ #if defined(__x86_64__) && defined(__GNUC__)
+     LONG ret;
+@@ -2391,7 +2391,7 @@ static inline LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG
+ #endif
+ }
+ 
+-static inline PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
++static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
+ {
+ #if defined(__x86_64__) && defined(__GNUC__)
+     PVOID ret;
+@@ -2404,7 +2404,7 @@ static inline PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *de
+ #endif
+ }
+ 
+-static inline LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
++static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
+ {
+ #if defined(__x86_64__) && defined(__GNUC__)
+     LONGLONG ret;
+@@ -2417,7 +2417,7 @@ static inline LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *d
+ #endif
+ }
+ 
+-static inline LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
++static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
+ {
+ #if defined(__x86_64__) && defined(__GNUC__)
+     LONG ret;
+@@ -2430,7 +2430,7 @@ static inline LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
+ #endif
+ }
+ 
+-static inline PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
++static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
+ {
+ #if defined(__x86_64__) && defined(__GNUC__)
+     PVOID ret;
+@@ -2443,7 +2443,7 @@ static inline PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVO
+ #endif
+ }
+ 
+-static inline LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
++static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
+ {
+ #if defined(__x86_64__) && defined(__GNUC__)
+     LONG ret;
+@@ -2456,12 +2456,12 @@ static inline LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr
+ #endif
+ }
+ 
+-static inline LONG WINAPI InterlockedIncrement( LONG volatile *dest )
++static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
+ {
+     return InterlockedExchangeAdd( dest, 1 ) + 1;
+ }
+ 
+-static inline LONG WINAPI InterlockedDecrement( LONG volatile *dest )
++static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
+ {
+     return InterlockedExchangeAdd( dest, -1 ) - 1;
+ }
+@@ -2470,9 +2470,9 @@ static inline LONG WINAPI InterlockedDecrement( LONG volatile *dest )
+ 
+ /* A few optimizations for gcc */
+ 
+-#if defined(__GNUC__) && !defined(__MINGW32__) && (defined(__i386__) || defined(__x86_64__))
++#if defined(__GNUC__) && !defined(__MINGW32__) && (defined(__i386__) || defined(__x86_64__)) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
+ 
+-static inline DWORD WINAPI GetLastError(void)
++static FORCEINLINE DWORD WINAPI GetLastError(void)
+ {
+     DWORD ret;
+ #ifdef __x86_64__
+@@ -2483,7 +2483,7 @@ static inline DWORD WINAPI GetLastError(void)
+     return ret;
+ }
+ 
+-static inline DWORD WINAPI GetCurrentProcessId(void)
++static FORCEINLINE DWORD WINAPI GetCurrentProcessId(void)
+ {
+     DWORD ret;
+ #ifdef __x86_64__
+@@ -2494,7 +2494,7 @@ static inline DWORD WINAPI GetCurrentProcessId(void)
+     return ret;
+ }
+ 
+-static inline DWORD WINAPI GetCurrentThreadId(void)
++static FORCEINLINE DWORD WINAPI GetCurrentThreadId(void)
+ {
+     DWORD ret;
+ #ifdef __x86_64__
+@@ -2505,7 +2505,7 @@ static inline DWORD WINAPI GetCurrentThreadId(void)
+     return ret;
+ }
+ 
+-static inline void WINAPI SetLastError( DWORD err )
++static FORCEINLINE void WINAPI SetLastError( DWORD err )
+ {
+ #ifdef __x86_64__
+     __asm__ __volatile__( ".byte 0x65\n\tmovl %0,0x68" : : "r" (err) : "memory" );
+@@ -2514,7 +2514,7 @@ static inline void WINAPI SetLastError( DWORD err )
+ #endif
+ }
+ 
+-static inline HANDLE WINAPI GetProcessHeap(void)
++static FORCEINLINE HANDLE WINAPI GetProcessHeap(void)
+ {
+     HANDLE *pdb;
+ #ifdef __x86_64__
+diff --git a/include/wine/library.h b/include/wine/library.h
+index cc38848..242bb69 100644
+--- a/include/wine/library.h
++++ b/include/wine/library.h
+@@ -161,18 +161,13 @@ static inline int wine_ldt_is_empty( const LDT_ENTRY *ent )
+ 
+ /* segment register access */
+ 
+-# ifdef __MINGW32__
++# if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
+ #  define __DEFINE_GET_SEG(seg) \
+-    static inline unsigned short wine_get_##seg(void) \
+-    { unsigned short res; __asm__ __volatile__("movw %%" #seg ",%w0" : "=r"(res)); return res; }
+-#  define __DEFINE_SET_SEG(seg) \
+-    static inline void wine_set_##seg(int val) { __asm__("movw %w0,%%" #seg : : "r" (val)); }
+-# elif defined(__GNUC__)
+-#  define __DEFINE_GET_SEG(seg) \
+-    static inline unsigned short wine_get_##seg(void) \
++    static FORCEINLINE unsigned short wine_get_##seg(void) \
+     { unsigned short res; __asm__ __volatile__("movw %%" #seg ",%w0" : "=r"(res)); return res; }
+ #  define __DEFINE_SET_SEG(seg) \
+-    static inline void wine_set_##seg(int val) { __asm__("movw %w0,%%" #seg : : "r" (val)); }
++    static FORCEINLINE void wine_set_##seg(int val) \
++    { __asm__("movw %w0,%%" #seg : : "r" (val)); }
+ # elif defined(_MSC_VER)
+ #  define __DEFINE_GET_SEG(seg) \
+     static inline unsigned short wine_get_##seg(void) \
+diff --git a/include/winnt.h b/include/winnt.h
+index 947dcd7..d8fbbfd 100644
+--- a/include/winnt.h
++++ b/include/winnt.h
+@@ -123,7 +123,7 @@ extern "C" {
+ # if defined(_MSC_VER) && (_MSC_VER >= 1200)
+ #  define FORCEINLINE __forceinline
+ # elif defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
+-#  define FORCEINLINE __attribute__((always_inline))
++#  define FORCEINLINE inline __attribute__((always_inline))
+ # else
+ #  define FORCEINLINE inline
+ # endif
+@@ -2466,15 +2466,15 @@ typedef struct _NT_TIB
+ 
+ struct _TEB;
+ 
+-#if defined(__i386__) && defined(__GNUC__)
+-static inline struct _TEB * WINAPI NtCurrentTeb(void)
++#if defined(__i386__) && defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
++static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
+ {
+     struct _TEB *teb;
+     __asm__(".byte 0x64\n\tmovl (0x18),%0" : "=r" (teb));
+     return teb;
+ }
+ #elif defined(__i386__) && defined(_MSC_VER)
+-static inline struct _TEB * WINAPI NtCurrentTeb(void)
++static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
+ {
+   struct _TEB *teb;
+   __asm mov eax, fs:[0x18];
+@@ -2482,14 +2482,14 @@ static inline struct _TEB * WINAPI NtCurrentTeb(void)
+   return teb;
+ }
+ #elif defined(__x86_64__) && defined(__GNUC__)
+-static inline struct _TEB * WINAPI NtCurrentTeb(void)
++static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
+ {
+     struct _TEB *teb;
+     __asm__(".byte 0x65\n\tmovq (0x30),%0" : "=r" (teb));
+     return teb;
+ }
+ #elif defined(__x86_64__) && defined (_MSC_VER)
+-static inline struct _TEB * WINAPI NtCurrentTeb(void)
++static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
+ {
+   struct _TEB *teb;
+   __asm mov rax, gs:[0x30];
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100516/d8a65193/attachment-0001.html>


More information about the macports-changes mailing list