Commit f1ff3179 authored by Alexandre Julliard's avatar Alexandre Julliard

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

parent cfcf5ca2
MODULE = apisetschema.dll MODULE = apisetschema.dll
EXTRADLLFLAGS = -Wb,--data-only EXTRADLLFLAGS = -Wb,--data-only
SOURCES = apisetschema.spec
MODULE = icmp.dll MODULE = icmp.dll
EXTRADLLFLAGS = -Wb,--data-only EXTRADLLFLAGS = -Wb,--data-only
SOURCES = icmp.spec
...@@ -3,4 +3,6 @@ IMPORTLIB = lz32 ...@@ -3,4 +3,6 @@ IMPORTLIB = lz32
EXTRADLLFLAGS = -Wb,--data-only EXTRADLLFLAGS = -Wb,--data-only
RC_SRCS = version.rc SOURCES = \
lz32.spec \
version.rc
...@@ -2,3 +2,5 @@ MODULE = normaliz.dll ...@@ -2,3 +2,5 @@ MODULE = normaliz.dll
IMPORTLIB = normaliz IMPORTLIB = normaliz
EXTRADLLFLAGS = -Wb,--data-only EXTRADLLFLAGS = -Wb,--data-only
SOURCES = normaliz.spec
...@@ -2,3 +2,5 @@ MODULE = security.dll ...@@ -2,3 +2,5 @@ MODULE = security.dll
IMPORTS = secur32 IMPORTS = secur32
EXTRADLLFLAGS = -Wb,--data-only EXTRADLLFLAGS = -Wb,--data-only
SOURCES = security.spec
...@@ -2,3 +2,5 @@ MODULE = sfc.dll ...@@ -2,3 +2,5 @@ MODULE = sfc.dll
IMPORTLIB = sfc IMPORTLIB = sfc
EXTRADLLFLAGS = -Wb,--data-only -Wb,--prefer-native EXTRADLLFLAGS = -Wb,--data-only -Wb,--prefer-native
SOURCES = sfc.spec
...@@ -2,3 +2,5 @@ MODULE = usp10.dll ...@@ -2,3 +2,5 @@ MODULE = usp10.dll
IMPORTLIB = usp10 IMPORTLIB = usp10
EXTRADLLFLAGS = -Wb,--data-only EXTRADLLFLAGS = -Wb,--data-only
SOURCES = usp10.spec
...@@ -2,3 +2,5 @@ MODULE = wmi.dll ...@@ -2,3 +2,5 @@ MODULE = wmi.dll
IMPORTS = advapi32 IMPORTS = advapi32
EXTRADLLFLAGS = -Wb,--data-only EXTRADLLFLAGS = -Wb,--data-only
SOURCES = wmi.spec
...@@ -381,7 +381,8 @@ sub assign_sources_to_makefiles(@) ...@@ -381,7 +381,8 @@ sub assign_sources_to_makefiles(@)
} }
elsif ($name =~ /\.spec$/) elsif ($name =~ /\.spec$/)
{ {
next unless defined ${$make}{"TESTDLL"}; my $dllflags = ${$make}{"EXTRADLLFLAGS"} || "";
next unless defined ${$make}{"TESTDLL"} || ($dllflags =~ /-Wb,--data-only/);
} }
elsif ($name =~ /\.nls$/) elsif ($name =~ /\.nls$/)
{ {
......
...@@ -3351,7 +3351,16 @@ static void output_module( struct makefile *make, unsigned int arch ) ...@@ -3351,7 +3351,16 @@ static void output_module( struct makefile *make, unsigned int arch )
if (make->disabled[arch]) return; 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) if (!make->data_only)
{ {
...@@ -3394,11 +3403,8 @@ static void output_module( struct makefile *make, unsigned int arch ) ...@@ -3394,11 +3403,8 @@ static void output_module( struct makefile *make, unsigned int arch )
output( "\n" ); output( "\n" );
output_winegcc_command( make, arch ); output_winegcc_command( make, arch );
if (arch) output_filename( "-Wl,--wine-builtin" ); if (arch) output_filename( "-Wl,--wine-builtin" );
if (spec_file) if (!make->is_exe) output_filename( "-shared" );
{ if (spec_file) output_filename( spec_file );
output_filename( "-shared" );
output_filename( spec_file );
}
output_filenames( make->extradllflags ); output_filenames( make->extradllflags );
if (arch) output_filenames( get_expanded_arch_var_array( make, "EXTRADLLFLAGS", arch )); if (arch) output_filenames( get_expanded_arch_var_array( make, "EXTRADLLFLAGS", arch ));
output_filenames_obj_dir( make, make->object_files[arch] ); output_filenames_obj_dir( make, make->object_files[arch] );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment