winegcc: linking fixes

Dimitrie O. Paun dpaun at rogers.com
Fri Jan 3 16:10:57 CST 2003


This one got lost somewhere, resending...

ChangeLog
  Pass only the -o -l -L options to winewrap, ignore the rest.

Index: tools/winegcc.c
===================================================================
RCS file: /var/cvs/wine/tools/winegcc.c,v
retrieving revision 1.4
diff -u -r1.4 winegcc.c
--- tools/winegcc.c	3 Jan 2003 22:31:56 -0000	1.4
+++ tools/winegcc.c	3 Jan 2003 22:03:23 -0000
@@ -114,7 +114,27 @@
     {
 	gcc_argv[i++] = BINDIR "/winewrap";
 	if (gui_app) gcc_argv[i++] = "-mgui";
-	if (cpp) gcc_argv[i++] = "-C";
+
+	if (cpp) gcc_argv[i++] = "-C";	
+    	for ( j = 1 ; j < argc ; j++ ) 
+    	{
+	    if ( argv[j][0] == '-' )
+	    {
+		switch (argv[j][1])
+		{
+		case 'L':
+		case 'l':
+		case 'o':
+		    gcc_argv[i++] = argv[j];
+		    break;
+		default:
+		    ; /* ignore the rest */
+		}
+	    }
+	    else
+		gcc_argv[i++] = argv[j];
+	}
+	if (use_stdlib && use_msvcrt) gcc_argv[i++] = "-lmsvcrt";
     }
     else
     {
@@ -132,24 +152,20 @@
 	gcc_argv[i++] = "-D__int16=short";
 	gcc_argv[i++] = "-D__int32=int";
 	gcc_argv[i++] = "-D__int64=long long";
-    }
 
-    for ( j = 1 ; j < argc ; j++ ) 
-    {
-	if (strcmp("-mno-cygwin", argv[j]) == 0)
-	    ; /* ignore this option */
-	else if (strcmp("-mwindows", argv[j]) == 0)
-	    ; /* ignore this option */
-	else if (strcmp("-s", argv[j]) == 0)
-	    ; /* ignore this option */
-        else
-            gcc_argv[i++] = argv[j];
+    	for ( j = 1 ; j < argc ; j++ ) 
+    	{
+	    if (strcmp("-mno-cygwin", argv[j]) == 0)
+	    	; /* ignore this option */
+	    else if (strcmp("-mwindows", argv[j]) == 0)
+	    	; /* ignore this option */
+	    else if (strcmp("-s", argv[j]) == 0)
+	    	; /* ignore this option */
+            else
+            	gcc_argv[i++] = argv[j];
+    	}
     }
 
-    if (linking)
-    {
-	if (use_stdlib && use_msvcrt) gcc_argv[i++] = "-lmsvcrt";
-    }
     gcc_argv[i] = NULL;
 
     if (verbose)


-- 
Dimi.




More information about the wine-patches mailing list