From: Bernd Herd codeberg@herdsoft.com
Adds dlls/twaindsm to build from the same source as twain_32 but named twaindsm.dll for 64-Bit build.
Change configure.ac to build only twaindsm.dll on 64-Bit and only twain_32.dll on 32-Bit, but can be overwritten with configure options --- configure | 11 +++++++++++ configure.ac | 11 +++++++++++ dlls/twaindsm/Makefile.in | 10 ++++++++++ dlls/twaindsm/twaindsm.spec | 1 + 4 files changed, 33 insertions(+) create mode 100644 dlls/twaindsm/Makefile.in create mode 100644 dlls/twaindsm/twaindsm.spec
diff --git a/configure b/configure index e3fd3140529..cc4ad89b790 100755 --- a/configure +++ b/configure @@ -1457,6 +1457,7 @@ enable_tdi_sys enable_threadpoolwinrt enable_traffic enable_twain_32 +enable_twaindsm enable_twinapi_appcore enable_tzres enable_ucrtbase @@ -6554,6 +6555,15 @@ then fi fi
+if test "x$enable_win64" = "xyes" ; +then if test "x$enable_twain_32" != "xyes" ; then + enable_twain_32="no"; + fi +else if test "x$enable_twaindsm" != "xyes" ; then + enable_twaindsm="no"; + fi +fi + case $build_os in cygwin*|mingw32*) toolsext=".exe" ;; @@ -23063,6 +23073,7 @@ wine_fn_config_makefile dlls/traffic enable_traffic wine_fn_config_makefile dlls/twain.dll16 enable_win16 wine_fn_config_makefile dlls/twain_32 enable_twain_32 wine_fn_config_makefile dlls/twain_32/tests enable_tests +wine_fn_config_makefile dlls/twaindsm enable_twaindsm wine_fn_config_makefile dlls/twinapi.appcore enable_twinapi_appcore wine_fn_config_makefile dlls/twinapi.appcore/tests enable_tests wine_fn_config_makefile dlls/typelib.dll16 enable_win16 diff --git a/configure.ac b/configure.ac index a9db2abcce4..79a7bfda551 100644 --- a/configure.ac +++ b/configure.ac @@ -171,6 +171,16 @@ then fi fi
+dnl by default build twaindsm.dll with 64-Bit build and twain_32.dll with 32-Bit build +if test "x$enable_win64" = "xyes" ; +then if test "x$enable_twain_32" != "xyes" ; then + enable_twain_32="no"; + fi +else if test "x$enable_twaindsm" != "xyes" ; then + enable_twaindsm="no"; + fi +fi + case $build_os in cygwin*|mingw32*) AC_SUBST(toolsext,".exe") ;; *) AC_SUBST(toolsext,"") ;; @@ -3208,6 +3218,7 @@ WINE_CONFIG_MAKEFILE(dlls/traffic) WINE_CONFIG_MAKEFILE(dlls/twain.dll16) WINE_CONFIG_MAKEFILE(dlls/twain_32) WINE_CONFIG_MAKEFILE(dlls/twain_32/tests) +WINE_CONFIG_MAKEFILE(dlls/twaindsm) WINE_CONFIG_MAKEFILE(dlls/twinapi.appcore) WINE_CONFIG_MAKEFILE(dlls/twinapi.appcore/tests) WINE_CONFIG_MAKEFILE(dlls/typelib.dll16) diff --git a/dlls/twaindsm/Makefile.in b/dlls/twaindsm/Makefile.in new file mode 100644 index 00000000000..653c0419b39 --- /dev/null +++ b/dlls/twaindsm/Makefile.in @@ -0,0 +1,10 @@ +MODULE = twaindsm.dll +IMPORTS = user32 + +PARENTSRC = ../twain_32 + + +SOURCES = \ + dsm_ctrl.c \ + twain.rc \ + twain32_main.c diff --git a/dlls/twaindsm/twaindsm.spec b/dlls/twaindsm/twaindsm.spec new file mode 100644 index 00000000000..fe79c9f19dc --- /dev/null +++ b/dlls/twaindsm/twaindsm.spec @@ -0,0 +1 @@ +@ stdcall DSM_Entry(ptr ptr long long long ptr)