Main: fix compilation on OS X using non-Apple compilers

Commit d42c0f1dc5 added an OS X-specific
method of calling mpd_main_after_fork(), which uses Grand Central
Dispatch. Since this uses a block literal, it breaks compilation on
compilers which don't support the block extension, e.g. non-Apple
compilers. This affects users on older OS X releases with GCD (which
depend on older Clang releases, or Apple GCCs, which don't support the
C++11 features MPD needs); or which don't support GCD at all (10.5 and
lower).

This patch changes the #ifdef so that the non-GCD code is used
as it was on OS X before this patch if blocks aren't available, via
checking __BLOCKS__ macro.
This commit is contained in:
Misty De Meo 2014-11-10 19:38:22 -08:00 committed by Max Kellermann
parent 8d036c4b7c
commit 134cb6a017
2 changed files with 3 additions and 2 deletions

1
NEWS
View File

@ -10,6 +10,7 @@ ver 0.19.3 (not yet released)
- audiofile: fix bit rate calculation
- ffmpeg: support opus
* fix distorted audio with soxr resampler
* fix build failure on Mac OS X with non-Apple compilers
ver 0.19.2 (2014/11/02)
* input

View File

@ -114,7 +114,7 @@
#include <ws2tcpip.h>
#endif
#ifdef __APPLE__
#ifdef __BLOCKS__
#include <dispatch/dispatch.h>
#endif
@ -517,7 +517,7 @@ int mpd_main(int argc, char *argv[])
daemonize_begin(options.daemon);
#endif
#ifdef __APPLE__
#ifdef __BLOCKS__
/* Runs the OS X native event loop in the main thread, and runs
the rest of mpd_main on a new thread. This lets CoreAudio receive
route change notifications (e.g. plugging or unplugging headphones).