Alexandre Julliard : winebuild: Don' t output private symbols at all when building an import library.

Alexandre Julliard julliard at winehq.org
Wed Dec 30 10:18:12 CST 2009


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Dec 30 12:50:17 2009 +0100

winebuild: Don't output private symbols at all when building an import library.

---

 tools/winebuild/build.h  |    2 +-
 tools/winebuild/import.c |    2 +-
 tools/winebuild/main.c   |    2 +-
 tools/winebuild/spec32.c |    5 +++--
 4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
index 0543eb1..8e21a45 100644
--- a/tools/winebuild/build.h
+++ b/tools/winebuild/build.h
@@ -257,6 +257,7 @@ extern int load_res32_file( const char *name, DLLSPEC *spec );
 extern void output_resources( DLLSPEC *spec );
 extern void output_bin_resources( DLLSPEC *spec, unsigned int start_rva );
 extern void output_fake_module( DLLSPEC *spec );
+extern void output_def_file( DLLSPEC *spec, int include_private );
 extern void load_res16_file( const char *name, DLLSPEC *spec );
 extern void output_res16_data( DLLSPEC *spec );
 extern void output_bin_res16_data( DLLSPEC *spec );
@@ -270,7 +271,6 @@ extern void BuildRelays16(void);
 extern void BuildRelays32(void);
 extern void BuildSpec16File( DLLSPEC *spec );
 extern void BuildSpec32File( DLLSPEC *spec );
-extern void BuildDef32File( DLLSPEC *spec );
 
 extern void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 );
 extern int parse_spec_file( FILE *file, DLLSPEC *spec );
diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c
index 648d29f..a81d564 100644
--- a/tools/winebuild/import.c
+++ b/tools/winebuild/import.c
@@ -1319,7 +1319,7 @@ void output_import_lib( DLLSPEC *spec, char **argv )
     fclose( output_file );
     if (!(output_file = fopen( def_file, "w" )))
         fatal_error( "Unable to create output file '%s'\n", def_file );
-    BuildDef32File( spec );
+    output_def_file( spec, 0 );
     fclose( output_file );
     output_file = NULL;
 
diff --git a/tools/winebuild/main.c b/tools/winebuild/main.c
index 138ec68..d04d276 100644
--- a/tools/winebuild/main.c
+++ b/tools/winebuild/main.c
@@ -667,7 +667,7 @@ int main(int argc, char **argv)
         if (argv[0]) fatal_error( "file argument '%s' not allowed in this mode\n", argv[0] );
         if (!spec_file_name) fatal_error( "missing .spec file\n" );
         if (!parse_input_file( spec )) break;
-        BuildDef32File( spec );
+        output_def_file( spec, 1 );
         break;
     case MODE_IMPLIB:
         if (!spec_file_name) fatal_error( "missing .spec file\n" );
diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
index 08703a2..a594deb 100644
--- a/tools/winebuild/spec32.c
+++ b/tools/winebuild/spec32.c
@@ -762,11 +762,11 @@ void output_fake_module( DLLSPEC *spec )
 
 
 /*******************************************************************
- *         BuildDef32File
+ *         output_def_file
  *
  * Build a Win32 def file from a spec file.
  */
-void BuildDef32File( DLLSPEC *spec )
+void output_def_file( DLLSPEC *spec, int include_private )
 {
     DLLSPEC *spec32 = NULL;
     const char *name;
@@ -802,6 +802,7 @@ void BuildDef32File( DLLSPEC *spec )
         else continue;
 
         if (!(odp->flags & FLAG_PRIVATE)) total++;
+        else if (!include_private) continue;
 
         if (odp->type == TYPE_STUB) continue;
 




More information about the wine-cvs mailing list