[PATCH] tools: Relax the dot in module names rules.

Rémi Bernon rbernon at codeweavers.com
Wed Mar 10 15:26:08 CST 2021


On 3/5/21 7:16 PM, Rémi Bernon wrote:
> This should allow modules with dot in their names, while still making
> the .dll extension optional. The MODULE variable still determines the
> actual output file extension.
> 
> Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
> ---
> 
> Supersedes: 201129
> 
> This should be a better fix, that will also allow to add tests to these
> modules without any changes on the testbot (although it should arguably
> use the same logic as makedep to compute the test executable names).
> 
>   tools/make_makefiles | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/make_makefiles b/tools/make_makefiles
> index 2d3c14cb2ec..3abba2da840 100755
> --- a/tools/make_makefiles
> +++ b/tools/make_makefiles
> @@ -446,18 +446,17 @@ sub update_makefiles(@)
>               if (defined $make{"APPMODE"}) { $dllflags .= " " . $make{"APPMODE"}; }
>               die "MODULE should not be defined in $file" unless $file =~ /^(dlls|programs)\//;
>               die "STATICLIB should not be defined in $file" if defined $make{"STATICLIB"};
> -            die "Invalid MODULE in $file" if $name =~ /\./ && $make{"MODULE"} ne $name;
>               if ($file =~ /^programs\//)
>               {
>                   die "EXTRADLLFLAGS should be defined in $file" unless $dllflags;
>                   die "EXTRADLLFLAGS should contain -mconsole or -mwindows in $file" unless $dllflags =~ /-m(console|windows)/;
> -                die "Invalid MODULE in $file" unless $name =~ /\./ || $make{"MODULE"} eq "$name.exe";
> +                die "Invalid MODULE in $file" unless ($name =~ /\./ && $make{"MODULE"} eq $name) || $make{"MODULE"} eq "$name.exe";
>               }
>               else
>               {
>                   die "APPMODE should not be defined in $file" if defined $make{"APPMODE"} ;
>                   die "EXTRADLLFLAGS should not contain -mconsole or -mwindows in $file" if $dllflags =~ /-m(console|windows)/;
> -                die "Invalid MODULE in $file" unless $name =~ /\./ || $make{"MODULE"} eq "$name.dll";
> +                die "Invalid MODULE in $file" unless ($name =~ /\./ && $make{"MODULE"} eq $name) || $make{"MODULE"} eq "$name.dll";
>               }
>               if (defined $make{"IMPORTLIB"})
>               {
> 

Hi,

Is there anything wrong with this?

I'd like to add some tests with the windows.media.speech DLL and it's 
currently not possible because of the dots in the module name. If I name 
the module folder "windows.media.speech.dll" to pass these checks, 
marvin doesn't get the test executable right.

There's maybe an issue on the testbot side, but it's also IMHO a bit of 
a hack to add this .dll suffix to pass the checks, and not very 
consistent with the other modules suffix.

Cheers,
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list