From 5b7f945a73e95aca5e7af8e645a06f85c43b1390 Mon Sep 17 00:00:00 2001 From: "Dimitrie O. Paun" Date: Sat, 4 Jan 2003 00:15:49 +0000 Subject: [PATCH] Pass only the -o -l -L options to winewrap, ignore the rest. --- tools/winegcc.c | 50 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/tools/winegcc.c b/tools/winegcc.c index d58a242ac4d..e9d481b9c88 100644 --- a/tools/winegcc.c +++ b/tools/winegcc.c @@ -114,7 +114,27 @@ int main(int argc, char **argv) { 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 @@ int main(int argc, char **argv) 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)