You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Guenter Knauf <fu...@apache.org> on 2011/02/07 16:39:57 UTC

compile APR with MinGW

Hi,
I've just tried to compile APR-HEAD with latest MSYS/MinGW, and so far 
buildconf + configure worked (tried with recent snapshot, not yet tested 
from SVN); compilation though breaks then in waitio.c:
/bin/sh /home/Administrator/apr/libtool --silent --mode=compile gcc -g 
-O0   -DHAVE_CONFIG_H -DWIN32 -D_LARGEFILE64_SOURCE   -I./i
nclude -I/home/Administrator/apr/include/arch/win32 
-I./include/arch/unix -I/home/Administrator/apr/include/arch/unix 
-I/home/Admi
nistrator/apr/include -I/home/Administrator/apr/include/private 
-I/home/Administrator/apr/include/private -I/home/Administrator/ap
r/xml/expat/lib -o support/unix/waitio.lo -c support/unix/waitio.c && 
touch support/unix/waitio.lo
support/unix/waitio.c: In function 'apr_wait_for_io_or_timeout':
support/unix/waitio.c:80:20: error: 'apr_file_t' has no member named 
'pollset'
support/unix/waitio.c:82:44: error: 'apr_file_t' has no member named 
'pollset'
support/unix/waitio.c:86:24: error: 'apr_file_t' has no member named 
'pollset'
make[1]: *** [support/unix/waitio.lo] Error 1
make[1]: Leaving directory `/home/Administrator/apr'
make: *** [all-recursive] Error 1

looking at include/arch/win32/apr_arch_file_io.h the pollset member now 
depends on APR_FILES_AS_SOCKETS=1:
http://svn.apache.org/viewvc?view=revision&revision=748080
while APR_FILES_AS_SOCKETS=0 from apr.h ...
so does it make sense at all to compile support/unix/waitio.c for win32, 
or should we exclude WIN32 platform?
--- support/unix/waitio.c.orig  2010-03-16 21:13:48 +0000
+++ support/unix/waitio.c       2011-02-07 15:34:51 +0000
@@ -22,7 +22,7 @@

  /* The only case where we don't use wait_for_io_or_timeout is on
   * pre-BONE BeOS, so this check should be sufficient and simpler */
-#if !BEOS_R5 && !defined(OS2)
+#if !BEOS_R5 && !defined(WIN32)
  #define USE_WAIT_FOR_IO
  #endif

(did here replace OS2 exclude because Brian seems to have added now an 
own implementation support/os2/waitio.c ...)

BTW. r748080 was not yet backported to APR 1.x so this prob exists only 
with HEAD ...

Gün.