On Dienstag, 15. Februar 2022 13:06:24 CET Philippe Mathieu-Daudé via wrote: > The coreaudio library includes Objective-C declarations (using the > caret '^' symbol to declare block references [*]). When building > with a C compiler we get: > > [175/839] Compiling C object libcommon.fa.p/audio_coreaudio.c.o > In file included from > /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/System/Library/Framew > orks/CoreAudio.framework/Headers/CoreAudio.h:18, from > ../../audio/coreaudio.c:26: > > /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/System/Library/Framew > orks/CoreAudio.framework/Headers/AudioHardware.h:162:2: error: expected > identifier or '(' before '^' token 162 | > (^AudioObjectPropertyListenerBlock)( UInt32 > inNumberAddresses, > | ^ > > FAILED: libcommon.fa.p/audio_coreaudio.c.o > > Rename the file to use the Objective-C default extension (.m) so > meson calls the correct compiler. > > [*] > https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ > ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > ---
We already had a similar discussion before [1] whether to use .c and add required compiler flags or using .m. I find this solution more appropriate. Reviewed-by: Christian Schoenebeck <qemu_...@crudebyte.com> [1] https://lore.kernel.org/all/7053351.4JHWUSIRgT@silver/ Best regards, Christian Schoenebeck > audio/{coreaudio.c => coreaudio.m} | 0 > audio/meson.build | 2 +- > 2 files changed, 1 insertion(+), 1 deletion(-) > rename audio/{coreaudio.c => coreaudio.m} (100%) > > diff --git a/audio/coreaudio.c b/audio/coreaudio.m > similarity index 100% > rename from audio/coreaudio.c > rename to audio/coreaudio.m > diff --git a/audio/meson.build b/audio/meson.build > index d9b295514f..94dab16891 100644 > --- a/audio/meson.build > +++ b/audio/meson.build > @@ -7,7 +7,7 @@ softmmu_ss.add(files( > 'wavcapture.c', > )) > > -softmmu_ss.add(when: coreaudio, if_true: files('coreaudio.c')) > +softmmu_ss.add(when: coreaudio, if_true: files('coreaudio.m')) > softmmu_ss.add(when: dsound, if_true: files('dsoundaudio.c', > 'audio_win_int.c')) > > audio_modules = {}