[PATCH] setupapi: change to IMPORTS from DELAYIMPORTS.
Zebediah Figura
z.figura12 at gmail.com
Tue Jul 21 14:10:36 CDT 2020
Hello Jordan, thanks for the patch! I have some comments inlined.
On 7/21/20 1:58 PM, Jordan wrote:
> Using DELAYIMPORTS is breaking startup of some applications.
> After discussion in #winehackers IRC, it was remarked that
> there is no good reason to keep setupapi under DELAYIMPORTS,
> thus I have moved all occurrences of it to IMPORTS instead.
>
> Signed-off-by: Jordan <jordan at niau.io>
>
> ---
> Fixes bugs similar to: https://bugs.winehq.org/show_bug.cgi?id=45936
> however does not address it, this sentence is for semantics.
Generally it's best to mention what specific application is fixed, if
possible.
> ---
> dlls/gdi32/Makefile.in | 4 ++--
> dlls/hidclass.sys/Makefile.in | 4 ++--
> dlls/ntoskrnl.exe/Makefile.in | 4 ++--
> dlls/xinput1_1/Makefile.in | 3 ++-
> dlls/xinput1_2/Makefile.in | 3 ++-
> dlls/xinput1_3/Makefile.in | 3 ++-
> dlls/xinput1_4/Makefile.in | 3 ++-
> dlls/xinput9_1_0/Makefile.in | 3 ++-
> programs/wineboot/Makefile.in | 4 ++--
Whenever possible patches should affect only one component at time, so
you'll want to split this up into individual DLLs. (xinput1 can
reasonably be combined, though).
> 9 files changed, 18 insertions(+), 13 deletions(-)
>
> diff --git a/dlls/gdi32/Makefile.in b/dlls/gdi32/Makefile.in
> index 32b2e6959c..5f34a56478 100644
> --- a/dlls/gdi32/Makefile.in
> +++ b/dlls/gdi32/Makefile.in
> @@ -1,10 +1,10 @@
> EXTRADEFS = -D_GDI32_
> MODULE = gdi32.dll
> IMPORTLIB = gdi32
> -IMPORTS = advapi32
> +IMPORTS = advapi32 setupapi
> EXTRAINCL = $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS)
> EXTRALIBS = $(CARBON_LIBS) $(APPKIT_LIBS)
> -DELAYIMPORTS = usp10 setupapi
> +DELAYIMPORTS = usp10
>
> C_SRCS = \
> bidi.c \
> diff --git a/dlls/hidclass.sys/Makefile.in b/dlls/hidclass.sys/Makefile.in
> index be4af74785..32ed254025 100644
> --- a/dlls/hidclass.sys/Makefile.in
> +++ b/dlls/hidclass.sys/Makefile.in
> @@ -1,7 +1,7 @@
> MODULE = hidclass.sys
> IMPORTLIB = hidclass
> -IMPORTS = hal ntoskrnl
> -DELAYIMPORTS = setupapi hid
> +IMPORTS = hal ntoskrnl setupapi
> +DELAYIMPORTS = hid
>
> EXTRADLLFLAGS = -mno-cygwin
>
I don't think there's a good reason to delay-import hid here, either.
> diff --git a/dlls/ntoskrnl.exe/Makefile.in b/dlls/ntoskrnl.exe/Makefile.in
> index df48e44ede..10e5b7951e 100644
> --- a/dlls/ntoskrnl.exe/Makefile.in
> +++ b/dlls/ntoskrnl.exe/Makefile.in
> @@ -1,7 +1,7 @@
> MODULE = ntoskrnl.exe
> IMPORTLIB = ntoskrnl
> -IMPORTS = advapi32 hal msvcrt
> -DELAYIMPORTS = rpcrt4 setupapi
> +IMPORTS = advapi32 hal msvcrt setupapi
> +DELAYIMPORTS = rpcrt4
>
> EXTRADLLFLAGS = -mno-cygwin
>
> diff --git a/dlls/xinput1_1/Makefile.in b/dlls/xinput1_1/Makefile.in
> index a2b17a248c..9300d2e120 100644
> --- a/dlls/xinput1_1/Makefile.in
> +++ b/dlls/xinput1_1/Makefile.in
> @@ -1,6 +1,7 @@
> MODULE = xinput1_1.dll
> PARENTSRC = ../xinput1_3
> -DELAYIMPORTS = hid setupapi
> +IMPORTS = setupapi
> +DELAYIMPORTS = hid
>
> EXTRADLLFLAGS = -mno-cygwin
>
Same with xinput; no reason to delay-import hid.
> diff --git a/dlls/xinput1_2/Makefile.in b/dlls/xinput1_2/Makefile.in
> index fd38c6f6cc..d4f042e3c1 100644
> --- a/dlls/xinput1_2/Makefile.in
> +++ b/dlls/xinput1_2/Makefile.in
> @@ -1,6 +1,7 @@
> MODULE = xinput1_2.dll
> PARENTSRC = ../xinput1_3
> -DELAYIMPORTS = hid setupapi
> +IMPORTS = setupapi
> +DELAYIMPORTS = hid
>
> EXTRADLLFLAGS = -mno-cygwin
>
> diff --git a/dlls/xinput1_3/Makefile.in b/dlls/xinput1_3/Makefile.in
> index 3b4968fb6d..cf9d64c073 100644
> --- a/dlls/xinput1_3/Makefile.in
> +++ b/dlls/xinput1_3/Makefile.in
> @@ -1,6 +1,7 @@
> MODULE = xinput1_3.dll
> IMPORTLIB = xinput
> -DELAYIMPORTS = hid setupapi
> +IMPORTS = setupapi
> +DELAYIMPORTS = hid
>
> EXTRADLLFLAGS = -mno-cygwin
>
> diff --git a/dlls/xinput1_4/Makefile.in b/dlls/xinput1_4/Makefile.in
> index cdf4b4fed0..517fde300b 100644
> --- a/dlls/xinput1_4/Makefile.in
> +++ b/dlls/xinput1_4/Makefile.in
> @@ -1,6 +1,7 @@
> MODULE = xinput1_4.dll
> PARENTSRC = ../xinput1_3
> -DELAYIMPORTS = hid setupapi
> +IMPORTS = setupapi
> +DELAYIMPORTS = hid
>
> EXTRADLLFLAGS = -mno-cygwin
>
> diff --git a/dlls/xinput9_1_0/Makefile.in b/dlls/xinput9_1_0/Makefile.in
> index dc8739c464..cebb3523b9 100644
> --- a/dlls/xinput9_1_0/Makefile.in
> +++ b/dlls/xinput9_1_0/Makefile.in
> @@ -1,6 +1,7 @@
> MODULE = xinput9_1_0.dll
> PARENTSRC = ../xinput1_3
> -DELAYIMPORTS = hid setupapi
> +IMPORTS = setupapi
> +DELAYIMPORTS = hid
>
> EXTRADLLFLAGS = -mno-cygwin
>
> diff --git a/programs/wineboot/Makefile.in b/programs/wineboot/Makefile.in
> index 3921fa9644..f6fabf5990 100644
> --- a/programs/wineboot/Makefile.in
> +++ b/programs/wineboot/Makefile.in
> @@ -1,7 +1,7 @@
> MODULE = wineboot.exe
> APPMODE = -mconsole
> -IMPORTS = uuid advapi32
> -DELAYIMPORTS = shell32 shlwapi version user32 setupapi newdev
> +IMPORTS = uuid advapi32 setupapi
> +DELAYIMPORTS = shell32 shlwapi version user32 newdev
>
> EXTRADLLFLAGS = -mno-cygwin
>
>
I think this delay-import still makes sense. If wineboot doesn't update
the prefix, it won't need to load setupapi.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20200721/1e98a2d0/attachment.sig>
More information about the wine-devel
mailing list