Jacek Caban : makedep: Build builtin programs with ucrt.

Alexandre Julliard julliard at winehq.org
Mon Mar 2 16:22:23 CST 2020


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Feb 28 14:40:02 2020 +0100

makedep: Build builtin programs with ucrt.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 tools/makedep.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/tools/makedep.c b/tools/makedep.c
index 6dec1b3900..c324802916 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -4260,11 +4260,6 @@ static void load_sources( struct makefile *make )
         make->use_msvcrt = 1;
     }
 
-    LIST_FOR_EACH_ENTRY( file, &make->includes, struct incl_file, entry ) parse_file( make, file, 0 );
-    LIST_FOR_EACH_ENTRY( file, &make->sources, struct incl_file, entry ) get_dependencies( file, file );
-
-    make->is_cross = crosstarget && make->use_msvcrt;
-
     if (make->use_msvcrt)
     {
         for (i = 0; i < make->imports.count; i++)
@@ -4273,10 +4268,23 @@ static void load_sources( struct makefile *make )
             if (crt_dll) fatal_error( "More than one crt DLL imported: %s %s\n", crt_dll, make->imports.str[i] );
             crt_dll = make->imports.str[i];
         }
-        if (!crt_dll) crt_dll = "msvcrt";
+        if (!crt_dll)
+        {
+            if (make->use_msvcrt && make->is_exe)
+            {
+                strarray_add( &make->imports, "ucrtbase" );
+                crt_dll = "ucrtbase";
+            }
+            else crt_dll = "msvcrt";
+        }
         if (!strncmp( crt_dll, "ucrt", 4 )) strarray_add( &make->define_args, "-D_UCRT" );
     }
 
+    LIST_FOR_EACH_ENTRY( file, &make->includes, struct incl_file, entry ) parse_file( make, file, 0 );
+    LIST_FOR_EACH_ENTRY( file, &make->sources, struct incl_file, entry ) get_dependencies( file, file );
+
+    make->is_cross = crosstarget && make->use_msvcrt;
+
     if (make->is_cross)
     {
         for (i = 0; i < make->imports.count; i++)




More information about the wine-cvs mailing list