diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2018-12-28 20:23:02 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2018-12-29 09:58:09 +0100 |
commit | 648f24f5d1dae3f0fd5b132d68a5e39066f2572d (patch) | |
tree | 68a56efb90d57d8e33af2a190d09fbd1f570e413 /configure.ac | |
parent | c3c2ac6afad6b154d83dbe555f5b276e5909718b (diff) |
tdf#114635: reimplement TWAIN-based scan using 32-bit shim on Windows
Since TWAIN is only actually available as 32-bit component on Windows,
to use it in a 64-bit program, we need a 32-bit shim program that does
all actual communication with TWAIN subsystem.
This change reimplements TWAIN implementation to be a separate 32-bit
process. Image is transfered from the shim to main program using file
mapping API.
This reverts most of commit 585d9806961342e95f7318fb947bd31e9f86dee0.
64-bit LibreOffice doesn't bundle TWAIN DSM library now. TWAIN DSM
source code is still used for TWAIN headers.
Change-Id: I46f178ad36acd97a9eff156624b99036fcbb83f8
Reviewed-on: https://gerrit.libreoffice.org/65688
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index b2651e3f1aca..a499c8870cc5 100644 --- a/configure.ac +++ b/configure.ac @@ -3600,6 +3600,29 @@ if test "$_os" = "WINNT"; then # These are passed to the environment and then used in gbuild/platform/com_MSC_class.mk AC_SUBST(CXX_X64_BINARY) AC_SUBST(LINK_X64_BINARY) + + # Check for 32-bit compiler to use to build the 32-bit TWAIN shim + # needed to support TWAIN scan on both 32- and 64-bit systems + + BUILD_X86= + CXX_X86_BINARY= + + if test "$BITNESS_OVERRIDE" = "64"; then + AC_MSG_CHECKING([for a x86 compiler and libraries for 32-bit binaries required for TWAIN support]) + if "$VC_PRODUCT_DIR/Tools/MSVC/$vcbuildnumber/bin/HostX86/x86/cl.exe" -? </dev/null >/dev/null 2>&1; then + BUILD_X86=TRUE + CXX_X86_BINARY="$VC_PRODUCT_DIR/Tools/MSVC/$vcbuildnumber/bin/HostX86/x86/cl.exe -arch:SSE" + AC_MSG_RESULT([found]) + else + AC_MSG_RESULT([not found]) + AC_MSG_WARN([Installation set will not contain 32-bit binaries required for TWAIN support]) + fi + else + BUILD_X86=TRUE + CXX_X86_BINARY=$MSVC_CXX + fi + AC_SUBST(BUILD_X86) + AC_SUBST(CXX_X86_BINARY) fi AC_SUBST(VCVER) AC_SUBST(DEVENV) |