From: Rémi Bernon rbernon@codeweavers.com
In order to favor direct imports over delayed imports, for instance when the delay imported module forwards symbols from the imported module. --- tools/makedep.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/tools/makedep.c b/tools/makedep.c index 69b4a4c660b..7227207769d 100644 --- a/tools/makedep.c +++ b/tools/makedep.c @@ -3149,7 +3149,6 @@ static void output_module( struct makefile *make ) { struct strarray all_libs = empty_strarray; struct strarray dep_libs = empty_strarray; - struct strarray imports = make->imports; const char *module_name = make->module; const char *debug_file; const char *delay_load = delay_load_flag; @@ -3163,11 +3162,15 @@ static void output_module( struct makefile *make ) if (*dll_ext && !make->is_cross && !make->data_only) module_name = strmake( "%s%s", make->module, dll_ext );
+ strarray_addall( &all_libs, add_import_libs( make, &dep_libs, make->imports, 0, make->is_cross )); + strarray_addall( &all_libs, add_import_libs( make, &dep_libs, make->delayimports, 1, make->is_cross )); + if (!strarray_exists( &make->extradllflags, "-nodefaultlibs" )) + { + struct strarray imports = {0}; imports = add_default_imports( make, imports ); - - strarray_addall( &all_libs, add_import_libs( make, &dep_libs, make->delayimports, 1, make->is_cross )); - strarray_addall( &all_libs, add_import_libs( make, &dep_libs, imports, 0, make->is_cross )); + strarray_addall( &all_libs, add_import_libs( make, &dep_libs, imports, 0, make->is_cross )); + }
if (!make->use_msvcrt) {