Alexandre Julliard : winegcc: Use winebuild to set the builtin flag.
Alexandre Julliard
julliard at winehq.org
Wed Dec 18 15:51:10 CST 2019
Module: wine
Branch: master
Commit: 51ffea5a3940bdc74b44b9303c4574dfb156efc0
URL: https://source.winehq.org/git/wine.git/?a=commit;h=51ffea5a3940bdc74b44b9303c4574dfb156efc0
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Dec 18 21:05:44 2019 +0100
winegcc: Use winebuild to set the builtin flag.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
tools/winegcc/winegcc.c | 34 +++++++++++-----------------------
1 file changed, 11 insertions(+), 23 deletions(-)
diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
index 939c1e5c91..7f32a38788 100644
--- a/tools/winegcc/winegcc.c
+++ b/tools/winegcc/winegcc.c
@@ -524,28 +524,6 @@ static int check_platform( struct options *opts, const char *file )
return ret;
}
-static void make_wine_builtin( const char *file )
-{
- static const char wine_magic[32] = "Wine builtin DLL";
- int fd;
- struct
- {
- unsigned short e_magic;
- unsigned short unused[29];
- unsigned int e_lfanew;
- } header;
-
- if ((fd = open( file, O_RDWR | O_BINARY )) == -1) error( "Failed to add signature to %s\n", file );
-
- if (read( fd, &header, sizeof(header) ) == sizeof(header) && !memcmp( &header.e_magic, "MZ", 2 ))
- {
- if (header.e_lfanew < sizeof(header) + sizeof(wine_magic))
- error( "Not enough space (%x) for Wine signature\n", header.e_lfanew );
- write( fd, wine_magic, sizeof(wine_magic) );
- }
- close( fd );
-}
-
static const char *get_multiarch_dir( enum target_cpu cpu )
{
switch(cpu)
@@ -882,6 +860,16 @@ static strarray *get_winebuild_args(struct options *opts)
return spec_args;
}
+static void make_wine_builtin( struct options *opts, const char *file )
+{
+ strarray *args = get_winebuild_args( opts );
+
+ strarray_add( args, "--builtin" );
+ strarray_add( args, file );
+ spawn( opts->prefix, args, 0 );
+ strarray_free( args );
+}
+
/* check if there is a static lib associated to a given dll */
static char *find_static_lib( const char *dll )
{
@@ -1267,7 +1255,7 @@ static void build(struct options* opts)
spawn(opts->prefix, link_args, 0);
strarray_free (link_args);
- if (is_pe && opts->wine_builtin) make_wine_builtin( output_path );
+ if (is_pe && opts->wine_builtin) make_wine_builtin( opts, output_path );
/* set the base address with prelink if linker support is not present */
if (opts->prelink && !opts->target)
More information about the wine-cvs
mailing list