diff --git a/configure b/configure index c5a0e4d177c..eaab3b2ef35 100755 --- a/configure +++ b/configure @@ -1720,6 +1720,7 @@ enable_wmp enable_wmphoto enable_wmvcore enable_wnaspi32 +enable_wow64 enable_wow64cpu enable_wpc enable_wpcap @@ -5748,6 +5749,7 @@ $as_echo "$wine_cv_builtin_ms_va_list" >&6; } host_cpu="x86_64" notice_platform="64-bit " TARGETFLAGS="$TARGETFLAGS -m64" + enable_wow64=${enable_wow64:-yes} enable_wow64cpu=${enable_wow64cpu:-yes} fi ;; @@ -5862,6 +5864,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $wine_cv_builtin_ms_va_list" >&5 $as_echo "$wine_cv_builtin_ms_va_list" >&6; } test $wine_cv_builtin_ms_va_list != no || as_fn_error $? "You need clang >= 5.0 to build Wine for arm64." "$LINENO" 5 + enable_wow64=${enable_wow64:-yes} ;; i[3456789]86*) enable_win16=${enable_win16:-yes} @@ -5871,6 +5874,7 @@ esac enable_win16=${enable_win16:-no} enable_win64=${enable_win64:-no} +enable_wow64=${enable_wow64:-no} enable_wow64cpu=${enable_wow64cpu:-no} enable_winetest=${enable_winetest:-$enable_tests} @@ -21146,6 +21150,7 @@ wine_fn_config_makefile dlls/wmvcore enable_wmvcore wine_fn_config_makefile dlls/wmvcore/tests enable_tests wine_fn_config_makefile dlls/wnaspi32 enable_wnaspi32 wine_fn_config_makefile dlls/wow32 enable_win16 +wine_fn_config_makefile dlls/wow64 enable_wow64 wine_fn_config_makefile dlls/wow64cpu enable_wow64cpu wine_fn_config_makefile dlls/wpc enable_wpc wine_fn_config_makefile dlls/wpc/tests enable_tests diff --git a/configure.ac b/configure.ac index f0a42cf3b0a..84c3137f2dd 100644 --- a/configure.ac +++ b/configure.ac @@ -170,6 +170,7 @@ case $host in host_cpu="x86_64" notice_platform="64-bit " TARGETFLAGS="$TARGETFLAGS -m64" + enable_wow64=${enable_wow64:-yes} enable_wow64cpu=${enable_wow64cpu:-yes} fi ;; @@ -215,6 +216,7 @@ case $host in [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[void func(__builtin_ms_va_list *args);]])], [wine_cv_builtin_ms_va_list=yes],[wine_cv_builtin_ms_va_list=no])]) test $wine_cv_builtin_ms_va_list != no || AC_MSG_ERROR([You need clang >= 5.0 to build Wine for arm64.]) + enable_wow64=${enable_wow64:-yes} ;; i[[3456789]]86*) enable_win16=${enable_win16:-yes} @@ -225,6 +227,7 @@ esac dnl enable_win16 defaults to yes on x86, to no on other CPUs enable_win16=${enable_win16:-no} enable_win64=${enable_win64:-no} +enable_wow64=${enable_wow64:-no} enable_wow64cpu=${enable_wow64cpu:-no} dnl Disable winetest too if tests are disabled @@ -3820,6 +3823,7 @@ WINE_CONFIG_MAKEFILE(dlls/wmvcore) WINE_CONFIG_MAKEFILE(dlls/wmvcore/tests) WINE_CONFIG_MAKEFILE(dlls/wnaspi32) WINE_CONFIG_MAKEFILE(dlls/wow32,enable_win16) +WINE_CONFIG_MAKEFILE(dlls/wow64) WINE_CONFIG_MAKEFILE(dlls/wow64cpu) WINE_CONFIG_MAKEFILE(dlls/wpc) WINE_CONFIG_MAKEFILE(dlls/wpc/tests) diff --git a/dlls/wow64/Makefile.in b/dlls/wow64/Makefile.in new file mode 100644 index 00000000000..9d0618f8e3e --- /dev/null +++ b/dlls/wow64/Makefile.in @@ -0,0 +1,2 @@ +MODULE = wow64.dll +IMPORTLIB = wow64 diff --git a/dlls/wow64/wow64.spec b/dlls/wow64/wow64.spec new file mode 100644 index 00000000000..f9230ced19a --- /dev/null +++ b/dlls/wow64/wow64.spec @@ -0,0 +1,27 @@ +@ stub Wow64AllocThreadHeap +@ stub Wow64AllocateHeap +@ stub Wow64AllocateTemp +@ stub Wow64ApcRoutine +@ stub Wow64CheckIfNXEnabled +@ stub Wow64EmulateAtlThunk +@ stub Wow64FreeHeap +@ stub Wow64FreeThreadHeap +@ stub Wow64GetWow64ImageOption +@ stub Wow64IsControlFlowGuardEnforced +@ stub Wow64IsStackExtentsCheckEnforced +@ stub Wow64KiUserCallbackDispatcher +@ stub Wow64LdrpInitialize +@ stub Wow64LogPrint +@ stub Wow64NotifyUnsimulateComplete +@ stub Wow64PassExceptionToGuest +@ stub Wow64PrepareForDebuggerAttach +@ stub Wow64PrepareForException +@ stub Wow64RaiseException +@ stub Wow64ShallowThunkAllocObjectAttributes32TO64_FNC +@ stub Wow64ShallowThunkAllocSecurityQualityOfService32TO64_FNC +@ stub Wow64ShallowThunkSIZE_T32TO64 +@ stub Wow64ShallowThunkSIZE_T64TO32 +@ stub Wow64SuspendLocalThread +@ stub Wow64SystemServiceEx +@ stub Wow64ValidateUserCallTarget +@ stub Wow64ValidateUserCallTargetFilter