Module: wine Branch: master Commit: d228b3cfd5cf7d758e858f05216cbb349c116c2c URL: https://source.winehq.org/git/wine.git/?a=commit;h=d228b3cfd5cf7d758e858f052...
Author: Alexandre Julliard julliard@winehq.org Date: Sat Mar 9 20:41:03 2019 +0100
winegcc: Get rid of the Mingw Unicode hack.
Mingw supports Unicode nowadays.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
tools/winegcc/winegcc.c | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-)
diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index 54d4368..4f9498a 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c @@ -800,27 +800,6 @@ static void add_library( struct options *opts, strarray *lib_dirs, strarray *fil free(fullname); }
-/* hack a main or WinMain function to work around Mingw's lack of Unicode support */ -static const char *mingw_unicode_hack( struct options *opts ) -{ - char *main_stub = get_temp_file( opts->output_name, ".c" ); - - create_file( main_stub, 0644, - "typedef unsigned short wchar_t;\n" - "extern void * __stdcall LoadLibraryA(const char *);\n" - "extern void * __stdcall GetProcAddress(void *,const char *);\n" - "extern int wmain( int argc, wchar_t *argv[] );\n\n" - "int main( int argc, char *argv[] )\n{\n" - " int wargc;\n" - " wchar_t **wargv, **wenv;\n" - " void *msvcrt = LoadLibraryA( "msvcrt.dll" );\n" - " void (*__wgetmainargs)(int *argc, wchar_t** *wargv, wchar_t** *wenvp, int expand_wildcards,\n" - " int *new_mode) = GetProcAddress( msvcrt, "__wgetmainargs" );\n" - " __wgetmainargs( &wargc, &wargv, &wenv, 0, 0 );\n" - " return wmain( wargc, wargv );\n}\n" ); - return compile_to_object( opts, main_stub, NULL ); -} - static void build(struct options* opts) { strarray *lib_dirs, *files; @@ -972,6 +951,7 @@ static void build(struct options* opts) strarray_add(link_args, opts->gui_app ? "-mwindows" : "-mconsole"); }
+ if (opts->unicode_app) strarray_add(link_args, "-municode"); if (opts->nodefaultlibs) strarray_add(link_args, "-nodefaultlibs"); if (opts->nostartfiles) strarray_add(link_args, "-nostartfiles" );
@@ -997,9 +977,6 @@ static void build(struct options* opts) if (opts->large_address_aware && opts->target_cpu == CPU_x86) strarray_add( link_args, "-Wl,--large-address-aware" );
- if (opts->unicode_app && !opts->shared) - strarray_add(link_args, mingw_unicode_hack(opts)); - for ( j = 0; j < lib_dirs->size; j++ ) strarray_add(link_args, strmake("-L%s", lib_dirs->base[j]));