From: Simon McVittie Date: Tue, 28 Jun 2022 11:30:55 +0000 (+0100) Subject: meson: Replicate Autotools check for __sync_sub_and_fetch X-Git-Tag: dbus-1.15.0~32^2~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35eca11708e2c511f54c7bfb4bc9b4eb34fc2c8d;p=thirdparty%2Fdbus.git meson: Replicate Autotools check for __sync_sub_and_fetch The built-in atomic intrinsics are not exactly functions, so it's incorrect to use has_function to check for them. Signed-off-by: Simon McVittie --- diff --git a/meson.build b/meson.build index 2ae2050ce..16dcb67e2 100644 --- a/meson.build +++ b/meson.build @@ -615,8 +615,19 @@ endif config.set('DBUS_VA_COPY', va_copy) -#### Atomic integers -config.set10('DBUS_USE_SYNC', cc.has_function('__sync_sub_and_fetch') ? 1 : false) +# Can't use cc.has_function here because atomic operations are not +# exactly functions +config.set10( + 'DBUS_USE_SYNC', + cc.links(''' + int main(void) + { + int a = 4; + int b = __sync_sub_and_fetch (&a, 4); + return b; + } + ''') +) config.set10('HAVE_DECL_MSG_NOSIGNAL', cc.has_header_symbol('sys/socket.h', 'MSG_NOSIGNAL')