summaryrefslogtreecommitdiff
path: root/extensions/Executable_twain32shim.mk
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-12-28 20:23:02 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2018-12-29 09:58:09 +0100
commit648f24f5d1dae3f0fd5b132d68a5e39066f2572d (patch)
tree68a56efb90d57d8e33af2a190d09fbd1f570e413 /extensions/Executable_twain32shim.mk
parentc3c2ac6afad6b154d83dbe555f5b276e5909718b (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 'extensions/Executable_twain32shim.mk')
-rw-r--r--extensions/Executable_twain32shim.mk33
1 files changed, 33 insertions, 0 deletions
diff --git a/extensions/Executable_twain32shim.mk b/extensions/Executable_twain32shim.mk
new file mode 100644
index 000000000000..29a6e6427198
--- /dev/null
+++ b/extensions/Executable_twain32shim.mk
@@ -0,0 +1,33 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Executable_Executable,twain32shim))
+
+$(eval $(call gb_Executable_set_targettype_gui,twain32shim,YES))
+
+$(eval $(call gb_Executable_set_x86,twain32shim,YES))
+
+$(eval $(call gb_Executable_use_externals,twain32shim,\
+ sane_headers \
+))
+
+$(eval $(call gb_Executable_set_include,twain32shim,\
+ -I$(SRCDIR)/extensions/inc \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Executable_add_exception_objects,twain32shim,\
+ extensions/source/scanner/twain32shim \
+))
+
+$(eval $(call gb_Executable_use_system_win32_libs,twain32shim,\
+ shell32 \
+))
+
+# vim:set noet sw=4 ts=4: