Created a small static library in ole/libuuid.a that contains all the
UUID definitions (with the help of Francois Gouget).
diff --git a/Make.rules.in b/Make.rules.in
index f53cba8..2830551 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -65,6 +65,7 @@
LIBWINE = -L$(TOPOBJDIR)/library -lwine
LIBTSX11 = -L$(TOPOBJDIR)/tsx11 -lwine_tsx11
LIBUNICODE= -L$(TOPOBJDIR)/unicode -lwine_unicode
+LIBUUID = -L$(TOPOBJDIR)/ole -luuid
@SET_MAKE@
diff --git a/Makefile.in b/Makefile.in
index e6c5c63..a409f77 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -33,6 +33,7 @@
# Libraries (not dlls) to build
LIBRARIES = \
library/libwine.$(LIBEXT) \
+ ole/libuuid.a \
tsx11/libwine_tsx11.$(LIBEXT) \
unicode/libwine_unicode.$(LIBEXT)
@@ -44,18 +45,10 @@
# Sub-directories to run make depend/clean into
SUBDIRS = \
- debugger \
- dlls \
- documentation \
- include \
- library \
+ $(INSTALLSUBDIRS) \
libtest \
miscemu \
- programs \
- server \
- tools \
- tsx11 \
- unicode
+ programs
# Sub-directories to run make install into
INSTALLSUBDIRS = \
@@ -64,6 +57,7 @@
documentation \
include \
library \
+ ole \
server \
tools \
tsx11 \
diff --git a/dlls/avifil32/Makefile.in b/dlls/avifil32/Makefile.in
index 4a97b8a..e303b87 100644
--- a/dlls/avifil32/Makefile.in
+++ b/dlls/avifil32/Makefile.in
@@ -4,6 +4,7 @@
VPATH = @srcdir@
MODULE = avifil32
ALTNAMES = avifile
+EXTRALIBS = $(LIBUUID)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/avifil32/avifile.c b/dlls/avifil32/avifile.c
index a7d838d..f38334e 100644
--- a/dlls/avifil32/avifile.c
+++ b/dlls/avifil32/avifile.c
@@ -9,10 +9,8 @@
#include "winnls.h"
#include "mmsystem.h"
#include "winerror.h"
-#include "debugtools.h"
-
-#include "initguid.h"
#include "vfw.h"
+#include "debugtools.h"
DEFAULT_DEBUG_CHANNEL(avifile);
diff --git a/dlls/commdlg/Makefile.in b/dlls/commdlg/Makefile.in
index b88f518..56442f3 100644
--- a/dlls/commdlg/Makefile.in
+++ b/dlls/commdlg/Makefile.in
@@ -4,6 +4,7 @@
VPATH = @srcdir@
MODULE = comdlg32
ALTNAMES = commdlg
+EXTRALIBS = $(LIBUUID)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/commdlg/filedlgbrowser.c b/dlls/commdlg/filedlgbrowser.c
index b3a4653..f93d4a5 100644
--- a/dlls/commdlg/filedlgbrowser.c
+++ b/dlls/commdlg/filedlgbrowser.c
@@ -13,9 +13,6 @@
#include "heap.h"
#include "debugtools.h"
-#define INITGUID
-#include "initguid.h"
-#include "unknwn.h"
#include "filedlgbrowser.h"
#include "cdlg.h"
#include "shlguid.h"
diff --git a/dlls/ddraw/Makefile.in b/dlls/ddraw/Makefile.in
index 3e5a53e..fcdc594 100644
--- a/dlls/ddraw/Makefile.in
+++ b/dlls/ddraw/Makefile.in
@@ -3,6 +3,7 @@
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = ddraw
+EXTRALIBS = $(LIBUUID)
SOVERSION = 1.0
IMPORTS = user32 x11drv gdi32 kernel32
diff --git a/dlls/ddraw/main.c b/dlls/ddraw/main.c
index 24b37f7..d00a145 100644
--- a/dlls/ddraw/main.c
+++ b/dlls/ddraw/main.c
@@ -18,10 +18,6 @@
#include "wine/exception.h"
#include "debugtools.h"
-#include "initguid.h"
-#include "ddraw.h"
-#include "d3d.h"
-
/* This for all the enumeration and creation of D3D-related objects */
#include "ddraw_private.h"
diff --git a/dlls/dinput/Makefile.in b/dlls/dinput/Makefile.in
index 322e02a..71d264d 100644
--- a/dlls/dinput/Makefile.in
+++ b/dlls/dinput/Makefile.in
@@ -3,6 +3,7 @@
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = dinput
+EXTRALIBS = $(LIBUUID)
SOVERSION = 1.0
IMPORTS = user32 kernel32 ntdll
diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c
index 7a49625..6f43804 100644
--- a/dlls/dinput/dinput_main.c
+++ b/dlls/dinput/dinput_main.c
@@ -25,9 +25,6 @@
#include "winbase.h"
#include "winerror.h"
#include "windef.h"
-
-#include "initguid.h"
-#include "dinput.h"
#include "dinput_private.h"
DEFAULT_DEBUG_CHANNEL(dinput);
diff --git a/dlls/dplayx/Makefile.in b/dlls/dplayx/Makefile.in
index 951860f..08fd7d5 100644
--- a/dlls/dplayx/Makefile.in
+++ b/dlls/dplayx/Makefile.in
@@ -3,6 +3,7 @@
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = dplayx
+EXTRALIBS = $(LIBUUID)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/dplayx/dplayx_main.c b/dlls/dplayx/dplayx_main.c
index 77c0da7..7e3e1ff 100644
--- a/dlls/dplayx/dplayx_main.c
+++ b/dlls/dplayx/dplayx_main.c
@@ -8,15 +8,10 @@
#include "winerror.h"
#include "winbase.h"
#include "debugtools.h"
-
-#include "initguid.h" /* To define the GUIDs */
-#include "dplaysp.h"
#include "dplayx_global.h"
DEFAULT_DEBUG_CHANNEL(dplay);
-DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
-
static DWORD DPLAYX_dwProcessesAttached = 0;
/* This is a globally exported variable at ordinal 6 of DPLAYX.DLL */
diff --git a/dlls/dsound/Makefile.in b/dlls/dsound/Makefile.in
index d9cc4ab..6aef5d8 100644
--- a/dlls/dsound/Makefile.in
+++ b/dlls/dsound/Makefile.in
@@ -3,6 +3,7 @@
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = dsound
+EXTRALIBS = $(LIBUUID)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index 115f019..39b98c0 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -40,8 +40,6 @@
#include "mmsystem.h"
#include "wine/windef16.h"
#include "debugtools.h"
-
-#include "initguid.h"
#include "dsound.h"
#include "dsdriver.h"
diff --git a/dlls/ole32/Makefile.in b/dlls/ole32/Makefile.in
index b0234a5..5bfef5a 100644
--- a/dlls/ole32/Makefile.in
+++ b/dlls/ole32/Makefile.in
@@ -4,6 +4,7 @@
VPATH = @srcdir@
MODULE = ole32
ALTNAMES = ole2 ole2nls ole2conv ole2prox ole2thk storage compobj
+EXTRALIBS = $(LIBUUID)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/ole32/oleobj.c b/dlls/ole32/oleobj.c
index 4c0838b..da02cf6 100644
--- a/dlls/ole32/oleobj.c
+++ b/dlls/ole32/oleobj.c
@@ -10,8 +10,6 @@
#include "winbase.h"
#include "winerror.h"
#include "debugtools.h"
-
-#include "initguid.h"
#include "oleidl.h"
DEFAULT_DEBUG_CHANNEL(ole);
diff --git a/dlls/oleaut32/Makefile.in b/dlls/oleaut32/Makefile.in
index 3f815a8..ca43a2d 100644
--- a/dlls/oleaut32/Makefile.in
+++ b/dlls/oleaut32/Makefile.in
@@ -4,6 +4,7 @@
VPATH = @srcdir@
MODULE = oleaut32
ALTNAMES = ole2disp typelib
+EXTRALIBS = $(LIBUUID)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/oleaut32/oleaut.c b/dlls/oleaut32/oleaut.c
index e31e2ee..50e8b78 100644
--- a/dlls/oleaut32/oleaut.c
+++ b/dlls/oleaut32/oleaut.c
@@ -8,15 +8,11 @@
#include "winuser.h"
#include "winerror.h"
+#include "ole2.h"
#include "heap.h"
#include "ldt.h"
#include "debugtools.h"
-#include "initguid.h"
-#include "oleauto.h"
-#include "ole2.h"
-#include "olectl.h"
-
DEFAULT_DEBUG_CHANNEL(ole);
static WCHAR _delimiter[2] = {'!',0}; /* default delimiter apparently */
diff --git a/dlls/shell32/Makefile.in b/dlls/shell32/Makefile.in
index 5dc905a..ef80323 100644
--- a/dlls/shell32/Makefile.in
+++ b/dlls/shell32/Makefile.in
@@ -4,7 +4,7 @@
VPATH = @srcdir@
MODULE = shell32
ALTNAMES = shell
-EXTRALIBS = $(LIBUNICODE)
+EXTRALIBS = $(LIBUUID) $(LIBUNICODE)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
@@ -23,7 +23,6 @@
pidl.c \
shell32_main.c \
shell.c \
- shellguid.c \
shelllink.c \
shlmenu.c \
shellole.c \
diff --git a/dlls/shell32/shellguid.c b/dlls/shell32/shellguid.c
deleted file mode 100644
index bad0aa0..0000000
--- a/dlls/shell32/shellguid.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Shell UID
- *
- * 1998 Juergen Schmied (jsch) * <juergen.schmied@metronet.de>
- *
- * this in in a single file due to interfering definitions
- *
- */
-#include "winbase.h"
-
-#include "initguid.h"
-
-#include "shlwapi.h"
-#include "shlguid.h"
-#include "shlobj.h"
-#include "docobj.h"
diff --git a/dlls/shell32/shlfolder.c b/dlls/shell32/shlfolder.c
index 113a34d..1f1afb6 100644
--- a/dlls/shell32/shlfolder.c
+++ b/dlls/shell32/shlfolder.c
@@ -27,11 +27,7 @@
#include "shell32_main.h"
#include "shresdef.h"
#include "shlwapi.h"
-
-#define INITGUID
-#include "initguid.h"
#include "shellfolder.h"
-#include "wine/obj_queryassociations.h"
DEFAULT_DEBUG_CHANNEL(shell);
diff --git a/dlls/shlwapi/Makefile.in b/dlls/shlwapi/Makefile.in
index 2f484ad..0ed6fd8 100644
--- a/dlls/shlwapi/Makefile.in
+++ b/dlls/shlwapi/Makefile.in
@@ -3,7 +3,7 @@
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = shlwapi
-EXTRALIBS = $(LIBUNICODE)
+EXTRALIBS = $(LIBUUID) $(LIBUNICODE)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/shlwapi/shlwapi_main.c b/dlls/shlwapi/shlwapi_main.c
index 05fa3e7..3ffea70 100644
--- a/dlls/shlwapi/shlwapi_main.c
+++ b/dlls/shlwapi/shlwapi_main.c
@@ -8,10 +8,6 @@
#include "winbase.h"
#include "winerror.h"
#include "debugtools.h"
-
-#include "initguid.h"
-#include "wine/obj_base.h"
-#include "wine/obj_storage.h"
#include "shlwapi.h"
DEFAULT_DEBUG_CHANNEL(shell);
diff --git a/include/dplay.h b/include/dplay.h
index 1d409aa..e22da01 100644
--- a/include/dplay.h
+++ b/include/dplay.h
@@ -352,7 +352,10 @@
DWORD dwMinorVersion, /* Minor # of driver spec in lpguidSP */
LPVOID lpContext); /* User given */
-typedef const GUID *LPCGUID;
+#ifndef __LPCGUID_DEFINED__
+#define __LPCGUID_DEFINED__
+typedef const GUID *LPCGUID;
+#endif
typedef const DPNAME *LPCDPNAME;
diff --git a/ole/Makefile.in b/ole/Makefile.in
index 64f114c..6e63d43 100644
--- a/ole/Makefile.in
+++ b/ole/Makefile.in
@@ -6,13 +6,26 @@
MODULE = ole
C_SRCS = \
- ole2nls.c
+ ole2nls.c \
+ uuid.c
-all: $(MODULE).o
+all: $(MODULE).o libuuid.a
@MAKE_RULES@
-$(MODULE).o: $(OBJS) Makefile.in $(TOPSRCDIR)/Make.rules.in
- $(LDCOMBINE) $(OBJS) -o $@
+$(MODULE).o: ole2nls.o Makefile.in $(TOPSRCDIR)/Make.rules.in
+ $(LDCOMBINE) ole2nls.o -o $@
+
+libuuid.a: uuid.o
+ $(RM) $@
+ $(AR) $@ uuid.o
+ $(RANLIB) $@
+
+install: libuuid.a
+ [ -d $(libdir) ] || $(MKDIR) $(libdir)
+ $(INSTALL_DATA) libuuid.a $(libdir)/libuuid.a
+
+uninstall::
+ cd $(libdir) && $(RM) libuuid.a
### Dependencies:
diff --git a/ole/uuid.c b/ole/uuid.c
new file mode 100644
index 0000000..b7c1c9c
--- /dev/null
+++ b/ole/uuid.c
@@ -0,0 +1,51 @@
+/*
+ * GUID definitions
+ */
+
+#include "initguid.h"
+
+/* GUIDs defined in uuids.lib */
+
+DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
+
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+
+#include "objbase.h"
+#include "servprov.h"
+
+#include "oleauto.h"
+#include "oleidl.h"
+#include "objidl.h"
+#include "olectl.h"
+
+#include "ocidl.h"
+
+#include "docobj.h"
+
+#include "shlguid.h"
+#include "shlobj.h"
+#include "wine/obj_queryassociations.h"
+
+/* FIXME: cguids declares GUIDs but does not define their values */
+
+
+
+/* GUIDs defined in dxguid.lib */
+
+#include "d3d.h"
+#include "ddraw.h"
+#include "dsound.h"
+#include "dplay.h"
+#include "dplobby.h"
+#include "dinput.h"
+
+/* other GUIDs */
+
+#include "vfw.h"
+
+/* GUIDs not declared in an exported header file */
+DEFINE_GUID(IID_IDirectPlaySP,0xc9f6360,0xcc61,0x11cf,0xac,0xec,0x00,0xaa,0x00,0x68,0x86,0xe3);
+DEFINE_GUID(IID_ISFHelper,0x1fe68efb,0x1874,0x9812,0x56,0xdc,0x00,0x00,0x00,0x00,0x00,0x00);