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
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = apisetschema.spec
MODULE = icmp.dll
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = icmp.spec
......@@ -3,4 +3,6 @@ IMPORTLIB = lz32
EXTRADLLFLAGS = -Wb,--data-only
RC_SRCS = version.rc
SOURCES = \
lz32.spec \
version.rc
......@@ -2,3 +2,5 @@ MODULE = normaliz.dll
IMPORTLIB = normaliz
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = normaliz.spec
......@@ -2,3 +2,5 @@ MODULE = security.dll
IMPORTS = secur32
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = security.spec
......@@ -2,3 +2,5 @@ MODULE = sfc.dll
IMPORTLIB = sfc
EXTRADLLFLAGS = -Wb,--data-only -Wb,--prefer-native
SOURCES = sfc.spec
......@@ -2,3 +2,5 @@ MODULE = usp10.dll
IMPORTLIB = usp10
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = usp10.spec
......@@ -2,3 +2,5 @@ MODULE = wmi.dll
IMPORTS = advapi32
EXTRADLLFLAGS = -Wb,--data-only
SOURCES = wmi.spec
......@@ -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$/)
{
......
......@@ -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] );
......
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