From b58ef6bff66f09fb8e4e23ebb4cb463d649445ef Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 12 Feb 2009 11:41:56 +0100 Subject: [PATCH] winegcc: Hardcode the various gcc tool names when cross-compiling. --- tools/winegcc/winegcc.c | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index d216d9b4df8..2ac08f20dcc 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c @@ -285,17 +285,38 @@ static char* get_temp_file(const char* prefix, const char* suffix) static const strarray* get_translator(struct options *opts) { const char *str; + strarray *ret; switch(opts->processor) { - case proc_cpp: str = CPP; break; - case proc_cc: str = CC; break; - case proc_cxx: str = CXX; break; - case proc_as: str = AS; break; - default: assert(0); + case proc_cpp: + if (opts->target) str = strmake( "%s-cpp", opts->target ); + else str = CPP; + break; + case proc_cc: + if (opts->target) str = strmake( "%s-gcc", opts->target ); + else str = CC; + break; + case proc_cxx: + if (opts->target) str = strmake( "%s-g++", opts->target ); + else str = CXX; + break; + case proc_as: + if (opts->target) str = strmake( "%s-as", opts->target ); + else str = AS; + break; + default: + assert(0); + } + ret = strarray_fromstring( str, " " ); + if (opts->force_pointer_size) + { + if (opts->processor == proc_as) + strarray_add( ret, strmake("--%u", 8 * opts->force_pointer_size )); + else + strarray_add( ret, strmake("-m%u", 8 * opts->force_pointer_size )); } - if (opts->target) str = strmake( "%s-%s", opts->target, str ); - return strarray_fromstring( str, " " ); + return ret; } static void compile(struct options* opts, const char* lang) -- 2.11.4.GIT