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?r…
==============================================================================
--- 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/CMakeList…
==============================================================================
--- 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?re…
==============================================================================
--- 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