Blob Blame History Raw
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    ///