=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: winegcc: Add support for Multiarch Architecture Specifiers.

Alexandre Julliard julliard at winehq.org
Tue Apr 23 13:52:24 CDT 2013


Module: wine
Branch: master
Commit: c11da76dc588cfdcb2328c92dce5188304935ae4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c11da76dc588cfdcb2328c92dce5188304935ae4

Author: André Hentschel <nerv at dawncrow.de>
Date:   Sun Apr 21 16:59:47 2013 +0200

winegcc: Add support for Multiarch Architecture Specifiers.

---

 tools/winegcc/winegcc.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
index 1469b8a..4b0d3e8 100644
--- a/tools/winegcc/winegcc.c
+++ b/tools/winegcc/winegcc.c
@@ -361,7 +361,7 @@ static char *get_lib_dir( struct options *opts )
 
     for (i = 0; i < sizeof(stdlibpath)/sizeof(stdlibpath[0]); i++)
     {
-        char *p, *buffer = xmalloc( strlen(stdlibpath[i]) + strlen(libwine) + 3 );
+        char *p, *buffer = xmalloc( strlen(stdlibpath[i]) + strlen("/arm-linux-gnueabi") + strlen(libwine) + 1 );
         strcpy( buffer, stdlibpath[i] );
         p = buffer + strlen(buffer);
         while (p > buffer && p[-1] == '/') p--;
@@ -380,6 +380,18 @@ static char *get_lib_dir( struct options *opts )
             strcat( p, libwine );
             if (check_platform( opts, buffer )) goto found;
         }
+        switch(opts->target_cpu)
+        {
+        case CPU_x86:     strcpy( p, "/i386-linux-gnu" ); break;
+        case CPU_x86_64:  strcpy( p, "/x86_64-linux-gnu" ); break;
+        case CPU_ARM:     strcpy( p, "/arm-linux-gnueabi" ); break;
+        case CPU_ARM64:   strcpy( p, "/aarch64-linux-gnu" ); break;
+        case CPU_POWERPC: strcpy( p, "/powerpc-linux-gnu" ); break;
+        default:
+            assert(0);
+        }
+        strcat( p, libwine );
+        if (check_platform( opts, buffer )) goto found;
         free( buffer );
         continue;
 




More information about the wine-cvs mailing list