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

This commit is contained in:
Alexandre Julliard 2009-12-30 12:50:17 +01:00
parent 2fda3d6a17
commit 054406f78c
4 changed files with 6 additions and 5 deletions

View File

@ -257,6 +257,7 @@ extern int load_res32_file( const char *name, DLLSPEC *spec );
extern void output_resources( DLLSPEC *spec ); extern void output_resources( DLLSPEC *spec );
extern void output_bin_resources( DLLSPEC *spec, unsigned int start_rva ); extern void output_bin_resources( DLLSPEC *spec, unsigned int start_rva );
extern void output_fake_module( DLLSPEC *spec ); 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 load_res16_file( const char *name, DLLSPEC *spec );
extern void output_res16_data( DLLSPEC *spec ); extern void output_res16_data( DLLSPEC *spec );
extern void output_bin_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 BuildRelays32(void);
extern void BuildSpec16File( DLLSPEC *spec ); extern void BuildSpec16File( DLLSPEC *spec );
extern void BuildSpec32File( DLLSPEC *spec ); extern void BuildSpec32File( DLLSPEC *spec );
extern void BuildDef32File( DLLSPEC *spec );
extern void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 ); extern void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 );
extern int parse_spec_file( FILE *file, DLLSPEC *spec ); extern int parse_spec_file( FILE *file, DLLSPEC *spec );

View File

@ -1319,7 +1319,7 @@ void output_import_lib( DLLSPEC *spec, char **argv )
fclose( output_file ); fclose( output_file );
if (!(output_file = fopen( def_file, "w" ))) if (!(output_file = fopen( def_file, "w" )))
fatal_error( "Unable to create output file '%s'\n", def_file ); fatal_error( "Unable to create output file '%s'\n", def_file );
BuildDef32File( spec ); output_def_file( spec, 0 );
fclose( output_file ); fclose( output_file );
output_file = NULL; output_file = NULL;

View File

@ -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 (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 (!spec_file_name) fatal_error( "missing .spec file\n" );
if (!parse_input_file( spec )) break; if (!parse_input_file( spec )) break;
BuildDef32File( spec ); output_def_file( spec, 1 );
break; break;
case MODE_IMPLIB: case MODE_IMPLIB:
if (!spec_file_name) fatal_error( "missing .spec file\n" ); if (!spec_file_name) fatal_error( "missing .spec file\n" );

View File

@ -762,11 +762,11 @@ void output_fake_module( DLLSPEC *spec )
/******************************************************************* /*******************************************************************
* BuildDef32File * output_def_file
* *
* Build a Win32 def file from a spec 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; DLLSPEC *spec32 = NULL;
const char *name; const char *name;
@ -802,6 +802,7 @@ void BuildDef32File( DLLSPEC *spec )
else continue; else continue;
if (!(odp->flags & FLAG_PRIVATE)) total++; if (!(odp->flags & FLAG_PRIVATE)) total++;
else if (!include_private) continue;
if (odp->type == TYPE_STUB) continue; if (odp->type == TYPE_STUB) continue;