Author: akhaldi Date: Sun Jun 23 12:49:24 2013 New Revision: 59313
URL: http://svn.reactos.org/svn/reactos?rev=59313&view=rev Log: [MSHTML] * Welcome to the MSVC build club. Thanks to Thomas Faber.
Added: trunk/reactos/dll/win32/mshtml/msvc.S (with props) Modified: trunk/reactos/dll/win32/CMakeLists.txt trunk/reactos/dll/win32/mshtml/CMakeLists.txt trunk/reactos/dll/win32/mshtml/ifacewrap.c
Modified: trunk/reactos/dll/win32/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/CMakeLists.txt?re... ============================================================================== --- trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] Sun Jun 23 12:49:24 2013 @@ -93,10 +93,7 @@ add_subdirectory(msg711.acm) add_subdirectory(msgina) add_subdirectory(msgsm32.acm) -if(NOT MSVC) - #FIXME: msvc build. - add_subdirectory(mshtml) -endif() +add_subdirectory(mshtml) add_subdirectory(msi) add_subdirectory(mshtml.tlb) add_subdirectory(msimg32)
Modified: trunk/reactos/dll/win32/mshtml/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mshtml/CMakeLists... ============================================================================== --- trunk/reactos/dll/win32/mshtml/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/mshtml/CMakeLists.txt [iso-8859-1] Sun Jun 23 12:49:24 2013 @@ -89,7 +89,11 @@ ${CMAKE_CURRENT_BINARY_DIR}/mshtml_stubs.c ${CMAKE_CURRENT_BINARY_DIR}/mshtml.def)
-add_library(mshtml SHARED ${SOURCE}) +if(MSVC) + add_asm_files(mshtml_asm msvc.S) +endif() + +add_library(mshtml SHARED ${SOURCE} ${mshtml_asm})
list(APPEND mshtml_rc_deps ${CMAKE_CURRENT_SOURCE_DIR}/blank.htm
Modified: trunk/reactos/dll/win32/mshtml/ifacewrap.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mshtml/ifacewrap.... ============================================================================== --- trunk/reactos/dll/win32/mshtml/ifacewrap.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/mshtml/ifacewrap.c [iso-8859-1] Sun Jun 23 12:49:24 2013 @@ -90,6 +90,9 @@
#ifdef __i386__
+#ifdef _MSC_VER +#define DEFINE_WRAPPER_FUNC(n, off, x) HRESULT wrapper_func_##n(IUnknown*); +#else #define DEFINE_WRAPPER_FUNC(n, off, x) \ HRESULT wrapper_func_##n(IUnknown*); \ __ASM_GLOBAL_FUNC(wrapper_func_##n, \ @@ -98,6 +101,7 @@ "movl %eax, 4(%esp)\n\t" \ "movl 0(%eax), %eax\n\t" \ "jmp *" #off "(%eax)\n\t") +#endif
#elif defined(__x86_64__)
Added: trunk/reactos/dll/win32/mshtml/msvc.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mshtml/msvc.S?rev... ============================================================================== --- trunk/reactos/dll/win32/mshtml/msvc.S (added) +++ trunk/reactos/dll/win32/mshtml/msvc.S [iso-8859-1] Sun Jun 23 12:49:24 2013 @@ -0,0 +1,114 @@ + +#include <asm.inc> + +.code + +MACRO(DEFINE_WRAPPER_FUNC, n, off, x) +PUBLIC _wrapper_func_&n& +_wrapper_func_&n&: +mov eax, [esp+4] +mov eax, [eax+4] +mov [esp+4], eax +mov eax, [eax] +jmp dword ptr [eax+off] +ENDM + +DEFINE_WRAPPER_FUNC 3, 12, 24 +DEFINE_WRAPPER_FUNC 4, 16, 32 +DEFINE_WRAPPER_FUNC 5, 20, 40 +DEFINE_WRAPPER_FUNC 6, 24, 48 +DEFINE_WRAPPER_FUNC 7, 28, 56 +DEFINE_WRAPPER_FUNC 8, 32, 64 +DEFINE_WRAPPER_FUNC 9, 36, 72 +DEFINE_WRAPPER_FUNC 10, 40, 80 +DEFINE_WRAPPER_FUNC 11, 44, 88 +DEFINE_WRAPPER_FUNC 12, 48, 96 +DEFINE_WRAPPER_FUNC 13, 52, 104 +DEFINE_WRAPPER_FUNC 14, 56, 112 +DEFINE_WRAPPER_FUNC 15, 60, 120 +DEFINE_WRAPPER_FUNC 16, 64, 128 +DEFINE_WRAPPER_FUNC 17, 68, 136 +DEFINE_WRAPPER_FUNC 18, 72, 144 +DEFINE_WRAPPER_FUNC 19, 76, 152 +DEFINE_WRAPPER_FUNC 20, 80, 160 +DEFINE_WRAPPER_FUNC 21, 84, 168 +DEFINE_WRAPPER_FUNC 22, 88, 176 +DEFINE_WRAPPER_FUNC 23, 92, 184 +DEFINE_WRAPPER_FUNC 24, 96, 192 +DEFINE_WRAPPER_FUNC 25, 100, 200 +DEFINE_WRAPPER_FUNC 26, 104, 208 +DEFINE_WRAPPER_FUNC 27, 108, 216 +DEFINE_WRAPPER_FUNC 28, 112, 224 +DEFINE_WRAPPER_FUNC 29, 116, 232 +DEFINE_WRAPPER_FUNC 30, 120, 240 +DEFINE_WRAPPER_FUNC 31, 124, 248 +DEFINE_WRAPPER_FUNC 32, 128, 256 +DEFINE_WRAPPER_FUNC 33, 132, 264 +DEFINE_WRAPPER_FUNC 34, 136, 272 +DEFINE_WRAPPER_FUNC 35, 140, 280 +DEFINE_WRAPPER_FUNC 36, 144, 288 +DEFINE_WRAPPER_FUNC 37, 148, 296 +DEFINE_WRAPPER_FUNC 38, 152, 304 +DEFINE_WRAPPER_FUNC 39, 156, 312 +DEFINE_WRAPPER_FUNC 40, 160, 320 +DEFINE_WRAPPER_FUNC 41, 164, 328 +DEFINE_WRAPPER_FUNC 42, 168, 336 +DEFINE_WRAPPER_FUNC 43, 172, 344 +DEFINE_WRAPPER_FUNC 44, 176, 352 +DEFINE_WRAPPER_FUNC 45, 180, 360 +DEFINE_WRAPPER_FUNC 46, 184, 368 +DEFINE_WRAPPER_FUNC 47, 188, 376 +DEFINE_WRAPPER_FUNC 48, 192, 384 +DEFINE_WRAPPER_FUNC 49, 196, 392 +DEFINE_WRAPPER_FUNC 50, 200, 400 +DEFINE_WRAPPER_FUNC 51, 204, 408 +DEFINE_WRAPPER_FUNC 52, 208, 416 +DEFINE_WRAPPER_FUNC 53, 212, 424 +DEFINE_WRAPPER_FUNC 54, 216, 432 +DEFINE_WRAPPER_FUNC 55, 220, 440 +DEFINE_WRAPPER_FUNC 56, 224, 448 +DEFINE_WRAPPER_FUNC 57, 228, 456 +DEFINE_WRAPPER_FUNC 58, 232, 464 +DEFINE_WRAPPER_FUNC 59, 236, 472 +DEFINE_WRAPPER_FUNC 60, 240, 480 +DEFINE_WRAPPER_FUNC 61, 244, 488 +DEFINE_WRAPPER_FUNC 62, 248, 496 +DEFINE_WRAPPER_FUNC 63, 252, 504 +DEFINE_WRAPPER_FUNC 64, 256, 512 +DEFINE_WRAPPER_FUNC 65, 260, 520 +DEFINE_WRAPPER_FUNC 66, 264, 528 +DEFINE_WRAPPER_FUNC 67, 268, 536 +DEFINE_WRAPPER_FUNC 68, 272, 544 +DEFINE_WRAPPER_FUNC 69, 276, 552 +DEFINE_WRAPPER_FUNC 70, 280, 560 +DEFINE_WRAPPER_FUNC 71, 284, 568 +DEFINE_WRAPPER_FUNC 72, 288, 576 +DEFINE_WRAPPER_FUNC 73, 292, 584 +DEFINE_WRAPPER_FUNC 74, 296, 592 +DEFINE_WRAPPER_FUNC 75, 300, 600 +DEFINE_WRAPPER_FUNC 76, 304, 608 +DEFINE_WRAPPER_FUNC 77, 308, 616 +DEFINE_WRAPPER_FUNC 78, 312, 624 +DEFINE_WRAPPER_FUNC 79, 316, 632 +DEFINE_WRAPPER_FUNC 80, 320, 640 +DEFINE_WRAPPER_FUNC 81, 324, 648 +DEFINE_WRAPPER_FUNC 82, 328, 656 +DEFINE_WRAPPER_FUNC 83, 332, 664 +DEFINE_WRAPPER_FUNC 84, 336, 672 +DEFINE_WRAPPER_FUNC 85, 340, 680 +DEFINE_WRAPPER_FUNC 86, 344, 688 +DEFINE_WRAPPER_FUNC 87, 348, 696 +DEFINE_WRAPPER_FUNC 88, 352, 704 +DEFINE_WRAPPER_FUNC 89, 356, 712 +DEFINE_WRAPPER_FUNC 90, 360, 720 +DEFINE_WRAPPER_FUNC 91, 364, 728 +DEFINE_WRAPPER_FUNC 92, 368, 736 +DEFINE_WRAPPER_FUNC 93, 372, 744) +DEFINE_WRAPPER_FUNC 94, 376, 752 +DEFINE_WRAPPER_FUNC 95, 380, 760 +DEFINE_WRAPPER_FUNC 96, 384, 768 +DEFINE_WRAPPER_FUNC 97, 388, 776 +DEFINE_WRAPPER_FUNC 98, 392, 784 +DEFINE_WRAPPER_FUNC 99, 396, 792 + +END
Propchange: trunk/reactos/dll/win32/mshtml/msvc.S ------------------------------------------------------------------------------ svn:eol-style = native