Alexandre Julliard : makefiles: Don't use bundled libraries to build native Unix libraries.

Alexandre Julliard julliard at winehq.org
Tue Nov 23 16:03:29 CST 2021


Module: wine
Branch: master
Commit: 1ef7dd2d7c0124371e9915d707102b01a3ad27ec
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=1ef7dd2d7c0124371e9915d707102b01a3ad27ec

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Nov 23 14:40:04 2021 +0100

makefiles: Don't use bundled libraries to build native Unix libraries.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 tools/makedep.c | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/tools/makedep.c b/tools/makedep.c
index d0dc9e3d01d..a5ce73ae482 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -2015,9 +2015,8 @@ static struct strarray add_unix_libraries( const struct makefile *make, struct s
     struct strarray all_libs = empty_strarray;
     unsigned int i, j;
 
-    if (make->native_unix_lib && strcmp( make->unixlib, "ntdll.so" )) strarray_add( &all_libs, "-lntdll" );
+    if (strcmp( make->unixlib, "ntdll.so" )) strarray_add( &all_libs, "-lntdll" );
     strarray_addall( &all_libs, get_expanded_make_var_array( make, "EXTRALIBS" ));
-    strarray_addall( &all_libs, libs );
 
     for (i = 0; i < all_libs.count; i++)
     {
@@ -2025,21 +2024,12 @@ static struct strarray add_unix_libraries( const struct makefile *make, struct s
 
         if (!strncmp( all_libs.str[i], "-l", 2 ))
         {
-            const char *name = all_libs.str[i] + 2;
-
             for (j = 0; j < subdirs.count; j++)
             {
                 if (make == submakes[j]) continue;
-                if ((lib = get_static_lib( submakes[j], name ))) break;
+                if ((lib = get_native_unix_lib( submakes[j], all_libs.str[i] + 2 ))) break;
             }
-            if (!lib && make->native_unix_lib)
-                for (j = 0; j < subdirs.count; j++)
-                {
-                    if (make == submakes[j]) continue;
-                    if ((lib = get_native_unix_lib( submakes[j], name ))) break;
-                }
         }
-
         if (lib)
         {
             strarray_add( deps, lib );
@@ -2047,6 +2037,8 @@ static struct strarray add_unix_libraries( const struct makefile *make, struct s
         }
         else strarray_add( &ret, all_libs.str[i] );
     }
+
+    strarray_addall( &ret, libs );
     return ret;
 }
 
@@ -3145,6 +3137,12 @@ static void output_module( struct makefile *make )
     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 ));
 
+    if (!make->use_msvcrt)
+    {
+        strarray_addall( &all_libs, get_expanded_make_var_array( make, "EXTRALIBS" ));
+        strarray_addall( &all_libs, libs );
+    }
+
     if (make->is_cross)
     {
         if (delay_load_flag)
@@ -3161,7 +3159,6 @@ static void output_module( struct makefile *make )
     }
     else if (*dll_ext)
     {
-        if (!make->use_msvcrt) strarray_addall( &all_libs, add_unix_libraries( make, &dep_libs ));
         for (i = 0; i < make->delayimports.count; i++)
             strarray_add( &all_libs, strmake( "-Wl,-delayload,%s%s", make->delayimports.str[i],
                                               strchr( make->delayimports.str[i], '.' ) ? "" : ".dll" ));
@@ -3172,7 +3169,6 @@ static void output_module( struct makefile *make )
     }
     else
     {
-        strarray_addall( &all_libs, add_unix_libraries( make, &dep_libs ));
         strarray_add( &make->all_targets, make->module );
         add_install_rule( make, make->module, make->module,
                           strmake( "p$(%s)/%s", spec_file ? "dlldir" : "bindir", make->module ));
@@ -3316,9 +3312,10 @@ static void output_unix_lib( struct makefile *make )
         if (spec_file) strarray_add( &unix_deps, spec_file );
 
         strarray_addall( &unix_libs, add_import_libs( make, &unix_deps, unix_imports, 0, 0 ));
+        strarray_addall( &unix_libs, get_expanded_make_var_array( make, "EXTRALIBS" ));
+        strarray_addall( &unix_libs, libs );
     }
-
-    strarray_addall( &unix_libs, add_unix_libraries( make, &unix_deps ));
+    else unix_libs = add_unix_libraries( make, &unix_deps );
 
     strarray_add( &make->all_targets, make->unixlib );
     add_install_rule( make, make->module, make->unixlib, strmake( "p%s/%s", so_dir, make->unixlib ));




More information about the wine-cvs mailing list