Alexandre Julliard : makefiles: Generate dependencies for default import libraries.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Feb 23 11:24:20 CST 2016


Module: wine
Branch: master
Commit: 96376059efb3e54e661da7f6c2d209e57f96175d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=96376059efb3e54e661da7f6c2d209e57f96175d

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Feb 23 20:21:47 2016 +0900

makefiles: Generate dependencies for default import libraries.

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

---

 tools/makedep.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/tools/makedep.c b/tools/makedep.c
index 8ef8f16..e1897bc 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1988,6 +1988,23 @@ static struct strarray add_import_libs( const struct makefile *make, struct stra
 
 
 /*******************************************************************
+ *         get_default_imports
+ */
+static struct strarray get_default_imports( const struct makefile *make )
+{
+    struct strarray ret = empty_strarray;
+
+    if (strarray_exists( &make->extradllflags, "-nodefaultlibs" )) return ret;
+    if (strarray_exists( &make->appmode, "-mno-cygwin" )) strarray_add( &ret, "msvcrt" );
+    if (make->is_win16) strarray_add( &ret, "kernel" );
+    strarray_add( &ret, "kernel32" );
+    strarray_add( &ret, "ntdll" );
+    strarray_add( &ret, "winecrt0" );
+    return ret;
+}
+
+
+/*******************************************************************
  *         add_install_rule
  */
 static void add_install_rule( const struct makefile *make, struct strarray *install_rules,
@@ -2527,6 +2544,7 @@ static struct strarray output_sources( const struct makefile *make )
             spec_file = src_dir_path( make, replace_extension( make->module, ".dll", ".spec" ));
         strarray_addall( &all_libs, add_import_libs( make, &dep_libs, make->delayimports, 0 ));
         strarray_addall( &all_libs, add_import_libs( make, &dep_libs, make->imports, 0 ));
+        add_import_libs( make, &dep_libs, get_default_imports( make ), 0 );  /* dependencies only */
         for (i = 0; i < make->delayimports.count; i++)
             strarray_add( &all_libs, strmake( "-Wb,-d%s", make->delayimports.str[i] ));
         strarray_add( &all_libs, "-lwine" );
@@ -2758,6 +2776,7 @@ static struct strarray output_sources( const struct makefile *make )
         struct strarray dep_libs = empty_strarray;
         struct strarray all_libs = add_import_libs( make, &dep_libs, make->imports, 0 );
 
+        add_import_libs( make, &dep_libs, get_default_imports( make ), 0 );  /* dependencies only */
         strarray_addall( &all_libs, libs );
         strarray_add( &all_targets, strmake( "%s%s", testmodule, dll_ext ));
         strarray_add( &clean_files, strmake( "%s%s", stripped, dll_ext ));
@@ -2805,6 +2824,7 @@ static struct strarray output_sources( const struct makefile *make )
 
             dep_libs = empty_strarray;
             all_libs = add_import_libs( make, &dep_libs, make->imports, 1 );
+            add_import_libs( make, &dep_libs, get_default_imports( make ), 1 );  /* dependencies only */
             strarray_addall( &all_libs, libs );
             strarray_add( &clean_files, crosstest );
             output( "%s: %s\n", obj_dir_path( make, "crosstest" ), obj_dir_path( make, crosstest ));




More information about the wine-cvs mailing list