So it sounds like what we're settling on is: * Instead of sharing source code, `twain_32` should forward all calls to `twaindsm`. The existing `twain_32` code should be moved into `dlls/twaindsm`. This will remove the need for any hooking to support data sources that expect to call `twain_32`. * `twaindsm` should be built for all architectures. `twain_32` should be built only for i386, using `enable_twain_32=${enable_twain_32:-i386}` in configure.ac. * On ARM64, `sane.ds` and `gphoto.ds` should be installed into the `twain_64` folder as ARM64X, which will support both x86_64 and native ARM64 processes. I'm not sure if we need to do anything special to make this happen.