mirror of
https://github.com/reactos/wine.git
synced 2024-11-25 04:39:45 +00:00
winegcc: Add support for building fake modules.
This commit is contained in:
parent
f7f50d1252
commit
2de0c16363
@ -556,6 +556,7 @@ static void build(struct options* opts)
|
||||
const char *spec_o_name;
|
||||
const char *output_name, *spec_file, *lang;
|
||||
int generate_app_loader = 1;
|
||||
int fake_module = 0;
|
||||
unsigned int j;
|
||||
|
||||
/* NOTE: for the files array we'll use the following convention:
|
||||
@ -581,6 +582,8 @@ static void build(struct options* opts)
|
||||
if (opts->shared || strendswith(output_file, ".so"))
|
||||
generate_app_loader = 0;
|
||||
|
||||
if (strendswith(output_file, ".fake")) fake_module = 1;
|
||||
|
||||
/* normalize the filename a bit: strip .so, ensure it has proper ext */
|
||||
if (strendswith(output_file, ".so"))
|
||||
output_file[strlen(output_file) - 3] = 0;
|
||||
@ -802,8 +805,17 @@ static void build(struct options* opts)
|
||||
strarray_add(spec_args, strmake("-m%u", 8 * opts->force_pointer_size ));
|
||||
strarray_addall(spec_args, strarray_fromstring(DLLFLAGS, " "));
|
||||
strarray_add(spec_args, opts->shared ? "--dll" : "--exe");
|
||||
strarray_add(spec_args, "-o");
|
||||
strarray_add(spec_args, spec_o_name);
|
||||
if (fake_module)
|
||||
{
|
||||
strarray_add(spec_args, "--fake-module");
|
||||
strarray_add(spec_args, "-o");
|
||||
strarray_add(spec_args, output_file);
|
||||
}
|
||||
else
|
||||
{
|
||||
strarray_add(spec_args, "-o");
|
||||
strarray_add(spec_args, spec_o_name);
|
||||
}
|
||||
if (spec_file)
|
||||
{
|
||||
strarray_add(spec_args, "-E");
|
||||
@ -850,6 +862,7 @@ static void build(struct options* opts)
|
||||
|
||||
spawn(opts->prefix, spec_args, 0);
|
||||
strarray_free (spec_args);
|
||||
if (fake_module) return; /* nothing else to do */
|
||||
|
||||
/* link everything together now */
|
||||
strarray_addall(link_args, get_translator(opts));
|
||||
|
Loading…
Reference in New Issue
Block a user