Re: 64-Bit twain data source manager should be named twaindsm.dll instead of twain_32.dll

Elizabeth Figura <[email protected]> Mon, 10 Nov 2025 13:06:51 -0600
Newsgroups gmane.comp.emulators.wine.devel
Message-ID <4545480.MSiuQNM8U4@camazotz>
On Monday, 10 November 2025 09:23:37 CST Esme Povirk wrote:
> We can't just disable in configure based on host arch, because in the 
> case of new wow64 we'll be building for i386 and x86_64 in the same tree.
> 
> I think we want to do two things:
> 
> Use the PARENTSRC feature to create two dlls, twain_32 and twaindsm, 
> that share the same source files.
> 
> Disable one or the other dll by default, based on architecture. In 
> theory, this can be done in configure. One can, if I'm reading this 
> right, use a configure switch like --enable-twain_32=i386 
> --enable-twaindsm=x86_64,arm64ec,arm,aarch64. Although, it seems like 
> twaindsm.dll exists in 32-bit as well, so it should probably be built 
> for all architectures.
> 
> As for how to actually do that, I think we want to set enable_twain_32 
> in configure.ac, only when it hasn't been already set by the user. See 
> enable_dpnsvr for an example of this.

If I'm not mistaken, we can do much simpler, and just rename it from wine.inf. As of ad9dfe8bcc we look for the builtin by its export name, which will still be twain_32 in that case. That was meant for comctl32, but I think it works in the reverse direction as well.

Whether we should actually do this seems a bit questionable to me, if Windows doesn't actually ship twaindsm.dll, and if twaindsm.dll is presumably a different piece of software that is even LGPL 2.1 licensed.