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