makedep: Make the spec file optional for data-only dlls.

This commit is contained in:
Alexandre Julliard 2023-09-05 13:07:18 +02:00
parent cfcf5ca286
commit f1ff3179aa
19 changed files with 31 additions and 17 deletions

View file

@ -1 +0,0 @@
# no exported entry points

View file

@ -1,3 +1,5 @@
MODULE = apisetschema.dll
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = apisetschema.spec

View file

@ -1,3 +1,5 @@
MODULE = icmp.dll
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = icmp.spec

View file

@ -1 +0,0 @@
# no exported entry points

View file

@ -3,4 +3,6 @@ IMPORTLIB = lz32
EXTRADLLFLAGS = -Wb,--data-only
RC_SRCS = version.rc
SOURCES = \
lz32.spec \
version.rc

View file

@ -1 +0,0 @@
# This is resource dll

View file

@ -1 +0,0 @@
# no exported entry points

View file

@ -1 +0,0 @@
# empty

View file

@ -2,3 +2,5 @@ MODULE = normaliz.dll
IMPORTLIB = normaliz
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = normaliz.spec

View file

@ -2,3 +2,5 @@ MODULE = security.dll
IMPORTS = secur32
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = security.spec

View file

@ -2,3 +2,5 @@ MODULE = sfc.dll
IMPORTLIB = sfc
EXTRADLLFLAGS = -Wb,--data-only -Wb,--prefer-native
SOURCES = sfc.spec

View file

@ -1 +0,0 @@
# no exported functions

View file

@ -1 +0,0 @@
# no exported entry points

View file

@ -1 +0,0 @@
# no exported entry points

View file

@ -1 +0,0 @@
# nothing exported

View file

@ -2,3 +2,5 @@ MODULE = usp10.dll
IMPORTLIB = usp10
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = usp10.spec

View file

@ -2,3 +2,5 @@ MODULE = wmi.dll
IMPORTS = advapi32
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = wmi.spec

View file

@ -381,7 +381,8 @@ sub assign_sources_to_makefiles(@)
}
elsif ($name =~ /\.spec$/)
{
next unless defined ${$make}{"TESTDLL"};
my $dllflags = ${$make}{"EXTRADLLFLAGS"} || "";
next unless defined ${$make}{"TESTDLL"} || ($dllflags =~ /-Wb,--data-only/);
}
elsif ($name =~ /\.nls$/)
{

View file

@ -3351,7 +3351,16 @@ static void output_module( struct makefile *make, unsigned int arch )
if (make->disabled[arch]) return;
if (!make->is_exe) spec_file = src_dir_path( make, replace_extension( make->module, ".dll", ".spec" ));
if (!make->is_exe)
{
if (make->data_only)
{
/* spec file is optional */
struct incl_file *spec = find_src_file( make, replace_extension( make->module, ".dll", ".spec" ));
if (spec) spec_file = spec->filename;
}
else spec_file = src_dir_path( make, replace_extension( make->module, ".dll", ".spec" ));
}
if (!make->data_only)
{
@ -3394,11 +3403,8 @@ static void output_module( struct makefile *make, unsigned int arch )
output( "\n" );
output_winegcc_command( make, arch );
if (arch) output_filename( "-Wl,--wine-builtin" );
if (spec_file)
{
output_filename( "-shared" );
output_filename( spec_file );
}
if (!make->is_exe) output_filename( "-shared" );
if (spec_file) output_filename( spec_file );
output_filenames( make->extradllflags );
if (arch) output_filenames( get_expanded_arch_var_array( make, "EXTRADLLFLAGS", arch ));
output_filenames_obj_dir( make, make->object_files[arch] );