winegcc: Add support for -Wl,--whole-archive option.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c5ee64a101
commit
0db5f6cf1b
|
@ -1188,6 +1188,8 @@ static void build(struct options* opts)
|
||||||
add_library(opts, lib_dirs, files, file + 2 );
|
add_library(opts, lib_dirs, files, file + 2 );
|
||||||
else if (file[1] == 'x')
|
else if (file[1] == 'x')
|
||||||
lang = file;
|
lang = file;
|
||||||
|
else if(file[1] == 'W')
|
||||||
|
strarray_add(files, file);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add the default libraries, if needed */
|
/* add the default libraries, if needed */
|
||||||
|
@ -1393,6 +1395,9 @@ static void build(struct options* opts)
|
||||||
}
|
}
|
||||||
strarray_add(link_args, name);
|
strarray_add(link_args, name);
|
||||||
break;
|
break;
|
||||||
|
case 'W':
|
||||||
|
strarray_add(link_args, files->base[j]);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1932,6 +1937,11 @@ int main(int argc, char **argv)
|
||||||
opts.debug_file = strdup( Wl->base[++j] );
|
opts.debug_file = strdup( Wl->base[++j] );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (!strcmp(Wl->base[j], "--whole-archive") || !strcmp(Wl->base[j], "--no-whole-archive"))
|
||||||
|
{
|
||||||
|
strarray_add( opts.files, strmake( "-Wl,%s", Wl->base[j] ));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!strcmp(Wl->base[j], "-static")) linking = -1;
|
if (!strcmp(Wl->base[j], "-static")) linking = -1;
|
||||||
strarray_add(opts.linker_args, strmake("-Wl,%s",Wl->base[j]));
|
strarray_add(opts.linker_args, strmake("-Wl,%s",Wl->base[j]));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue