On Fri, 1 Feb 2013 08:34:03 +0000, David Chisnall wrote:
> On 1 Feb 2013, at 07:36, Sebastian Reitenbach wrote:
>
>> # ifdef __BLOCKS__
>> # include <dispatch/dispatch.h>
>> # endif /* __BLOCKS__ */
>
> This is definitely a cups problem. They are assuming that blocks
> support (a compiler feature) implies the presence of libdispatch (a
> library). I don't know if libdispatch has been ported to OpenBSD.
>
> I think the -base configure checks for the presence of libdispatch
> because we use it for parallel array operations, so the best thing to
> do is use that macro to conditionally #undef __BLOCKS__ before
> including cups.h
>
> David
>
Yep, I hit the same problem on Linux. I simply edit the CUPS header
file and remove the include... Apple, which runs the CUPS development
now, apparently assumes that blocks support is OS X-only.
Reminds me of a similar issue with unistd.h from glibc that uses
"__block" for an argument name. And they reject changing the
(irrelevant) name to something else.
--
Luboš Doležel