PATCH: widl compiler from ReWind Tree (part2)
Steven Edwards
Steven_Ed4153 at yahoo.com
Sun Jun 30 15:06:27 CDT 2002
And here is the build system support.
rpcfc.h goes in to include/port
Makefile.in goes to tools.
Changelog: Merge of widl compiler from X11 fork.
-------------- next part --------------
cvs diff -u Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/wine/wine/tools/Makefile.in,v
retrieving revision 1.21
diff -u -r1.21 Makefile.in
--- Makefile.in 14 Jun 2002 23:48:28 -0000 1.21
+++ Makefile.in 30 Jun 2002 19:27:23 -0000
@@ -12,6 +12,7 @@
SUBDIRS = \
winebuild \
winedump \
+ widl \
wmc \
wrc
-------------- next part --------------
cvs diff -u configure
Index: configure
===================================================================
RCS file: /home/wine/wine/configure,v
retrieving revision 1.313
diff -u -r1.313 configure
--- configure 28 Jun 2002 18:31:01 -0000 1.313
+++ configure 30 Jun 2002 19:22:41 -0000
@@ -13315,7 +13315,7 @@
MAKE_PROG_RULES=programs/Makeprog.rules
-ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules programs/Makeprog.rules Makefile debugger/Makefile dlls/Makefile dlls/advapi32/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/d3d8/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput8/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dsound/Makefile dlls/gdi/Makefile dlls/glu32/Makefile dlls/icmp/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/kernel/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msdmo/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt20/Makefile dlls/msvideo/Makefile dlls/netapi32/Makefile dlls/ntdll/Makef
ile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/oleaut32/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/user/Makefile dlls/version/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Make
file dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winspool/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile include/Makefile library/Makefile miscemu/Makefile ole/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/notepad/Makefile programs/osversioncheck/Makefile programs/progman/Makefile programs/regapi/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/regtest/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineconsole/Makefile programs/winefile/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/wmc/Makefile tools/wrc/Makefile tsx11/Makef
ile unicode/Makefile"
+ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules programs/Makeprog.rules Makefile debugger/Makefile dlls/Makefile dlls/advapi32/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/d3d8/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput8/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dsound/Makefile dlls/gdi/Makefile dlls/glu32/Makefile dlls/icmp/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/kernel/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msdmo/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt20/Makefile dlls/msvideo/Makefile dlls/netapi32/Makefile dlls/ntdll/Makef
ile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/oleaut32/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/user/Makefile dlls/version/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Make
file dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winspool/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile include/Makefile library/Makefile miscemu/Makefile ole/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/notepad/Makefile programs/osversioncheck/Makefile programs/progman/Makefile programs/regapi/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/regtest/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineconsole/Makefile programs/winefile/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/widl/Makefile tools/wmc/Makefile tools/wrc/
Makefile tsx11/Makefile unicode/Makefile"
cat >confcache <<\_ACEOF
@@ -13925,6 +13925,7 @@
"tools/winapi/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/winapi/Makefile" ;;
"tools/winebuild/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/winebuild/Makefile" ;;
"tools/winedump/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/winedump/Makefile" ;;
+ "tools/widl/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/widl/Makefile" ;;
"tools/wmc/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/wmc/Makefile" ;;
"tools/wrc/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/wrc/Makefile" ;;
"tsx11/Makefile" ) CONFIG_FILES="$CONFIG_FILES tsx11/Makefile" ;;
-------------- next part --------------
cvs diff -u configure.ac
Index: configure.ac
===================================================================
RCS file: /home/wine/wine/configure.ac,v
retrieving revision 1.55
diff -u -r1.55 configure.ac
--- configure.ac 28 Jun 2002 18:31:01 -0000 1.55
+++ configure.ac 30 Jun 2002 19:23:56 -0000
@@ -1375,6 +1375,7 @@
tools/winapi/Makefile
tools/winebuild/Makefile
tools/winedump/Makefile
+tools/widl/Makefile
tools/wmc/Makefile
tools/wrc/Makefile
tsx11/Makefile
-------------- next part --------------
cvs diff -u Make.rules.in
Index: Make.rules.in
===================================================================
RCS file: /home/wine/wine/Make.rules.in,v
retrieving revision 1.119
diff -u -r1.119 Make.rules.in
--- Make.rules.in 21 Jun 2002 19:15:45 -0000 1.119
+++ Make.rules.in 30 Jun 2002 19:21:10 -0000
@@ -178,6 +178,11 @@
$(MODULE).dbg.c: $(C_SRCS) $(WINEBUILD)
$(LDPATH) $(WINEBUILD) $(DEFS) -o $@ -debug -C$(SRCDIR) $(C_SRCS)
+# Rule to rebuild the IDL compiler
+
+$(widl):
+ cd $(TOOLSDIR)/tools/widl && $(MAKE) widl
+
# Rule to rebuild the resource compiler
$(WRC):
-------------- next part --------------
--- NUL Wed Dec 31 19:00:00 1969
+++ rpcfc.h Fri Jun 7 21:32:52 2002
@@ -0,0 +1,109 @@
+/*
+ * RPC format chars, as found by studying MIDL output.
+ */
+
+#ifndef __WINE_RPCFC_H
+#define __WINE_RPCFC_H
+
+/* base types */
+#define RPC_FC_BYTE 0x01
+#define RPC_FC_CHAR 0x02
+#define RPC_FC_SMALL 0x03
+#define RPC_FC_USMALL 0x04
+#define RPC_FC_WCHAR 0x05
+#define RPC_FC_SHORT 0x06
+#define RPC_FC_USHORT 0x07
+#define RPC_FC_LONG 0x08
+#define RPC_FC_ULONG 0x09
+#define RPC_FC_FLOAT 0x0a
+#define RPC_FC_HYPER 0x0b
+#define RPC_FC_DOUBLE 0x0c
+
+#define RPC_FC_ENUM32 0x0e
+
+/* other stuff */
+#define RPC_FC_RP 0x11 /* ? */
+#define RPC_FC_UP 0x12 /* unique pointer */
+#define RPC_FC_OP 0x13 /* ? */
+#define RPC_FC_FP 0x14 /* full pointer */
+/* FC_RP/UP/OP/FP: flags, NdrFcShort(typeofs) */
+ #define RPC_FC_P_ONSTACK 0x4 /* [alloced_on_stack] */
+ #define RPC_FC_P_SIMPLEPOINTER 0x8 /* [simple_pointer] */
+ /* flag 10 is not tagged */
+
+#define RPC_FC_STRUCT 0x15
+/* FC_STRUCT: fieldcount-1, NdrFcShort(size), fields */
+
+#define RPC_FC_PSTRUCT 0x16
+#define RPC_FC_CSTRUCT 0x17
+
+#define RPC_FC_BOGUS_STRUCT 0x1a
+
+#define RPC_FC_CARRAY 0x1b /* conformant array? */
+#define RPC_FC_CVARRAY 0x1c /* conformant varying array? */
+#define RPC_FC_SMFARRAY 0x1d /* simple fixed array? */
+/* FC_SMFARRAY: fieldcount-1, NdrFcShort(count), type */
+
+#define RPC_FC_BOGUS_ARRAY 0x21
+
+#define RPC_FC_C_WSTRING 0x25
+
+#define RPC_FC_ENCAPSULATED_UNION 0x2a
+#define RPC_FC_NON_ENCAPSULATED_UNION 0x2b
+
+#define RPC_FC_IP 0x2f /* interface pointer */
+
+#define RPC_FC_AUTO_HANDLE 0x33
+/* FC_AUTO_HANDLE: oldflags, NdrFcLong(?), NdrFcShort(vtbl_idx), NdrFcShort(stacksiz),
+ * NdrFcShort(?), NdrFcShort(?), oi2flags, parmcount
+ * parameters: NdrFcShort(flags), NdrFcShort(stackofs), NdrFcShort(typeofs)/basetype */
+ /* oldflags: 6c = object + oi2 */
+ #define RPC_FC_AH_OI2F_SRVMUSTSIZE 0x01
+ #define RPC_FC_AH_OI2F_CLTMUSTSIZE 0x02
+ #define RPC_FC_AH_OI2F_HASRETURN 0x04
+ #define RPC_FC_AH_PF_IN 0x0008
+ #define RPC_FC_AH_PF_OUT 0x0010
+ #define RPC_FC_AH_PF_RETURN 0x0020
+ #define RPC_FC_AH_PF_BASETYPE 0x0040
+ #define RPC_FC_AH_PF_BYVAL 0x0080
+ #define RPC_FC_AH_PF_SIMPLEREF 0x0100
+ /* PF: 03 = mustsize + mustfree */
+ /* 2000 = srv alloc size=8, 4000 = srv alloc size=16 */
+
+#define RPC_FC_POINTER 0x36
+
+#define RPC_FC_ALIGNM4 0x38
+#define RPC_FC_ALIGNM8 0x39
+
+#define RPC_FC_STRUCTPAD2 0x3e
+
+#define RPC_FC_NO_REPEAT 0x46
+
+#define RPC_FC_VARIABLE_REPEAT 0x48
+#define RPC_FC_FIXED_OFFSET 0x49
+
+#define RPC_FC_PP 0x4b
+
+#define RPC_FC_EMBEDDED_COMPLEX 0x4c
+/* FC_EMBEDDED_COMPLEX: fieldcount-1, NdrFcShort(typeofs) */
+
+#define RPC_FC_IN_PARAM 0x4d
+/* FC_IN_PARAM: stacksiz, NdrFcShort(typeofs) */
+#define RPC_FC_IN_PARAM_BASETYPE 0x4e
+/* FC_IN_PARAM_BASETYPE: basetype */
+#define RPC_FC_OUT_PARAM 0x51
+/* FC_OUT_PARAM: stacksiz, NdrFcShort(typeofs) */
+#define RPC_FC_RETURN_PARAM_BASETYPE 0x53
+/* FC_RETURN_PARAM_BASETYPE: basetype */
+
+#define RPC_FC_DEREFERENCE 0x54
+
+#define RPC_FC_CONSTANT_IID 0x5a
+/* FC_CONSTANT_IID: NdrFcLong(), NdrFcShort(), NdrFcShort(), 8x () */
+
+#define RPC_FC_END 0x5b
+#define RPC_FC_PAD 0x5c
+
+#define RPC_FC_USER_MARSHAL 0xb4
+
+#endif /* __WINE_RPCFC_H */
More information about the wine-patches
mailing list