changeset 6459:73d419fb8438

mingw::guile: add dirent patch. Fixes starting up lilypond. libglib-2.0 and libguile-2.0 both export 'readdir'; however guile does not install the matching win32-dirent.h, which has of course a different definition for struct dirent than guile's win32-dirent.h has.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Mon, 31 Jan 2011 16:27:03 +0100
parents bc406b3f7312
children 967f2299c437
files gub/specs/guile.py patches/guile-1.9.14-mingw-dirent.patch
diffstat 2 files changed, 58 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/gub/specs/guile.py	Mon Jan 31 15:03:55 2011 +0100
+++ b/gub/specs/guile.py	Mon Jan 31 16:27:03 2011 +0100
@@ -158,6 +158,7 @@
     patches = Guile.patches + [
         'guile-1.9.14-mingw.patch',
         'guile-1.9.14-gnulib-mingw.patch',
+        'guile-1.9.14-mingw-dirent.patch',
         ]
     dependencies = (Guile.dependencies
                     + [
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/guile-1.9.14-mingw-dirent.patch	Mon Jan 31 16:27:03 2011 +0100
@@ -0,0 +1,57 @@
+--- guile-1.9.14/libguile/win32-dirent.h~	2010-12-14 19:15:17.000000000 +0100
++++ guile-1.9.14/libguile/win32-dirent.h	2011-01-31 16:05:01.703196058 +0100
+@@ -27,6 +27,14 @@
+ 
+ #include <sys/types.h>
+ 
++#define opendir guile_opendir
++#define readdir guile_readdir
++#define closedir guile_closedir
++#define rewinddir guile_rewinddir
++#define seekdir guile_seekdir
++#define telldir guile_telldir
++#define dirfd guile_dirfd
++
+ struct dirstream
+ {
+   int fd;		/* File descriptor.  */
+--- guile-1.9.14/libguile/win32-dirent.c~	2010-12-14 19:15:17.000000000 +0100
++++ guile-1.9.14/libguile/win32-dirent.c	2011-01-31 16:10:06.336659077 +0100
+@@ -20,14 +20,14 @@
+ # include <config.h>
+ #endif
+ 
++#include "win32-dirent.h"
++
+ #include "libguile/__scm.h"
+ 
+ #include <windows.h>
+ #include <stdio.h>
+ #include <string.h>
+ 
+-#include "win32-dirent.h"
+-
+ DIR *
+ opendir (const char * name)
+ {
+--- guile-1.9.14/libguile/filesys.c~	2011-01-30 17:50:22.565848118 +0100
++++ guile-1.9.14/libguile/filesys.c	2011-01-31 16:11:02.599078648 +0100
+@@ -35,6 +35,10 @@
+ #include <stdio.h>
+ #include <errno.h>
+ 
++#if defined (__MINGW32__) || defined (_MSC_VER) || defined (__BORLANDC__)
++# include "win32-dirent.h"
++#endif /* __MINGW32__ || _MSC_VER || __BORLANDC__ */
++
+ #include "libguile/_scm.h"
+ #include "libguile/smob.h"
+ #include "libguile/feature.h"
+@@ -94,7 +98,6 @@
+ 
+ 
+ #if defined (__MINGW32__) || defined (_MSC_VER) || defined (__BORLANDC__)
+-# include "win32-dirent.h"
+ # define NAMLEN(dirent) strlen((dirent)->d_name)
+ /* The following bits are per AC_HEADER_DIRENT doco in the autoconf manual */
+ #elif HAVE_DIRENT_H