Alexandre Julliard : winegcc: Get rid of the Mingw Unicode hack.
Alexandre Julliard
julliard at winehq.org
Mon Mar 11 16:29:52 CDT 2019
Module: wine
Branch: master
Commit: d228b3cfd5cf7d758e858f05216cbb349c116c2c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=d228b3cfd5cf7d758e858f05216cbb349c116c2c
Author: Alexandre Julliard <julliard at 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 at 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]));
More information about the wine-cvs
mailing list