http://bugs.winehq.org/show_bug.cgi?id=21320
Summary: wine/list.h has namespace conflicts with sys/queue.h Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: jeremyhu@freedesktop.org
sys/queue.h on FreeBSD, darwin, etc provide LIST_ENTRY macros which conflict with those in wine/list.h ... this has led to problems such as:
http://trac.macports.org/ticket/22342
A workaround for this was pushed into wine a while back, but it is merely a hackish workaround. If you permute the order in which headers are included, or if system headers happen to add an include on sys/queue.h, you may end up not being able to build wine. This is what happened in the above external ticket.
If you simply add a '#include <sys/queue.h>' to /usr/include/dispatch/dispatch.h, wine stops building here on darwin. I'm sure it would be easy to find a similar case on FreeBSD.
One fix is to avoid conflicting with the sys/queue.h namespace and use something like WINE_LIST_ENTRY