To: vim-dev@vim.org
Subject: patch 7.1.065 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.065 (extra)
Problem: Win32: Compilation problem for newer version of w32api.
Solution: Only define __IID_DEFINED__ when needed. (Chris Sutcliffe)
Files: src/Make_ming.mak, src/iid_ole.c
*** ../vim-7.1.064/src/Make_ming.mak Thu May 10 19:35:54 2007
--- src/Make_ming.mak Sat Aug 11 14:52:11 2007
***************
*** 572,579 ****
$(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
$(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
! $(CC) $(CFLAGS) -D__IID_DEFINED__ -c -o $(OUTDIR)/if_ole.o if_ole.cpp
$(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
ifeq (16, $(RUBY))
--- 572,580 ----
$(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
+ # Remove -D__IID_DEFINED__ for newer versions of the w32api
$(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
! $(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
$(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
ifeq (16, $(RUBY))
*** ../vim-7.1.064/src/iid_ole.c Sun Jun 13 18:45:30 2004
--- src/iid_ole.c Sat Aug 11 14:57:58 2007
***************
*** 16,24 ****
extern "C"{
#endif
#ifndef __IID_DEFINED__
! #define __IID_DEFINED__
typedef struct _IID
{
--- 16,33 ----
extern "C"{
#endif
+ #ifdef __MINGW32__
+ # include <w32api.h>
+
+ # if __W32API_MAJOR_VERSION == 3 && __W32API_MINOR_VERSION < 10
+ /* This define is missing from older MingW versions of w32api, even though
+ * IID is defined. */
+ # define __IID_DEFINED__
+ # endif
+ #endif
#ifndef __IID_DEFINED__
! # define __IID_DEFINED__
typedef struct _IID
{
***************
*** 28,39 ****
unsigned char c[8];
} IID;
! #endif // __IID_DEFINED__
#ifndef CLSID_DEFINED
! #define CLSID_DEFINED
typedef IID CLSID;
! #endif // CLSID_DEFINED
const IID IID_IVim = {0x0F0BFAE2,0x4C90,0x11d1,{0x82,0xD7,0x00,0x04,0xAC,0x36,0x85,0x19}};
--- 37,48 ----
unsigned char c[8];
} IID;
! #endif
#ifndef CLSID_DEFINED
! # define CLSID_DEFINED
typedef IID CLSID;
! #endif
const IID IID_IVim = {0x0F0BFAE2,0x4C90,0x11d1,{0x82,0xD7,0x00,0x04,0xAC,0x36,0x85,0x19}};
*** ../vim-7.1.064/src/version.c Sat Aug 11 22:22:56 2007
--- src/version.c Sun Aug 12 15:21:34 2007
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 65,
/**/
--
I'm writing a book. I've got the page numbers done.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///