winegcc: Use msvcrt by default for PE targets.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2021-05-14 16:53:40 +02:00 committed by Alexandre Julliard
parent baf0254bbb
commit 87e1e43506
1 changed files with 16 additions and 1 deletions

View File

@ -324,6 +324,19 @@ static char* get_temp_file(const char* prefix, const char* suffix)
return tmp; return tmp;
} }
static int is_pe_target( const struct options *opts )
{
switch(opts->target_platform)
{
case PLATFORM_MINGW:
case PLATFORM_CYGWIN:
case PLATFORM_WINDOWS:
return 1;
default:
return 0;
}
}
enum tool enum tool
{ {
TOOL_CC, TOOL_CC,
@ -1103,7 +1116,7 @@ static void build(struct options* opts)
int generate_app_loader = 1; int generate_app_loader = 1;
const char *crt_lib = NULL, *entry_point = NULL; const char *crt_lib = NULL, *entry_point = NULL;
int fake_module = 0; int fake_module = 0;
int is_pe = (opts->target_platform == PLATFORM_WINDOWS || opts->target_platform == PLATFORM_CYGWIN || opts->target_platform == PLATFORM_MINGW); int is_pe = is_pe_target( opts );
unsigned int j; unsigned int j;
/* NOTE: for the files array we'll use the following convention: /* NOTE: for the files array we'll use the following convention:
@ -2090,6 +2103,8 @@ int main(int argc, char **argv)
if (opts.processor == proc_cpp) linking = 0; if (opts.processor == proc_cpp) linking = 0;
if (linking == -1) error("Static linking is not supported\n"); if (linking == -1) error("Static linking is not supported\n");
if (!opts.wine_objdir && is_pe_target( &opts )) opts.use_msvcrt = 1;
if (opts.files->size == 0) forward(&opts); if (opts.files->size == 0) forward(&opts);
else if (linking) build(&opts); else if (linking) build(&opts);
else compile(&opts, lang); else compile(&opts, lang);