winebuild: Don't include aliases in importlib .def files.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2019-08-25 18:49:23 +02:00 committed by Alexandre Julliard
parent 4d10575df9
commit dd1a83c20a
4 changed files with 7 additions and 6 deletions

View File

@ -310,7 +310,7 @@ 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_spec32_file( DLLSPEC *spec ); extern void output_spec32_file( DLLSPEC *spec );
extern void output_fake_module( DLLSPEC *spec ); extern void output_fake_module( DLLSPEC *spec );
extern void output_def_file( DLLSPEC *spec, int include_stubs ); extern void output_def_file( DLLSPEC *spec, int import_only );
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 );

View File

@ -1452,7 +1452,7 @@ static void build_windows_import_lib( DLLSPEC *spec )
const char *as_flags, *m_flag; const char *as_flags, *m_flag;
def_file = open_temp_output_file( ".def" ); def_file = open_temp_output_file( ".def" );
output_def_file( spec, 0 ); output_def_file( spec, 1 );
fclose( output_file ); fclose( output_file );
args = find_tool( "dlltool", NULL ); args = find_tool( "dlltool", NULL );

View File

@ -664,7 +664,7 @@ int main(int argc, char **argv)
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;
open_output_file(); open_output_file();
output_def_file( spec, 1 ); output_def_file( spec, 0 );
close_output_file(); close_output_file();
break; break;
case MODE_IMPLIB: case MODE_IMPLIB:

View File

@ -983,7 +983,7 @@ void output_fake_module( DLLSPEC *spec )
* *
* Build a Win32 def file from a spec file. * Build a Win32 def file from a spec file.
*/ */
void output_def_file( DLLSPEC *spec, int include_stubs ) void output_def_file( DLLSPEC *spec, int import_only )
{ {
DLLSPEC *spec32 = NULL; DLLSPEC *spec32 = NULL;
const char *name; const char *name;
@ -1017,7 +1017,7 @@ void output_def_file( DLLSPEC *spec, int include_stubs )
else continue; else continue;
if (!is_private) total++; if (!is_private) total++;
if (!include_stubs && odp->type == TYPE_STUB) continue; if (import_only && odp->type == TYPE_STUB) continue;
if ((odp->flags & FLAG_FASTCALL) && target_platform == PLATFORM_WINDOWS) if ((odp->flags & FLAG_FASTCALL) && target_platform == PLATFORM_WINDOWS)
name = strmake( "@%s", name ); name = strmake( "@%s", name );
@ -1032,13 +1032,14 @@ void output_def_file( DLLSPEC *spec, int include_stubs )
case TYPE_VARARGS: case TYPE_VARARGS:
case TYPE_CDECL: case TYPE_CDECL:
/* try to reduce output */ /* try to reduce output */
if(strcmp(name, odp->link_name) || (odp->flags & FLAG_FORWARD)) if(!import_only && (strcmp(name, odp->link_name) || (odp->flags & FLAG_FORWARD)))
output( "=%s", odp->link_name ); output( "=%s", odp->link_name );
break; break;
case TYPE_STDCALL: case TYPE_STDCALL:
{ {
int at_param = get_args_size( odp ); int at_param = get_args_size( odp );
if (!kill_at && target_cpu == CPU_x86) output( "@%d", at_param ); if (!kill_at && target_cpu == CPU_x86) output( "@%d", at_param );
if (import_only) break;
if (odp->flags & FLAG_FORWARD) if (odp->flags & FLAG_FORWARD)
output( "=%s", odp->link_name ); output( "=%s", odp->link_name );
else if (strcmp(name, odp->link_name)) /* try to reduce output */ else if (strcmp(name, odp->link_name)) /* try to reduce output */