build: fallback to __sync_synchronize()

If we're running on a GCC older than 4.9, then we won't have the
stdatomic.h available. We can just use a full barrier instead using
__sync_synchronize() to get the same effect, albeit slower.
This commit is contained in:
Christian Hergert
2020-02-20 10:38:35 -08:00
parent 2cd05c1bd8
commit cd8a99402f
3 changed files with 14 additions and 4 deletions

View File

@ -181,7 +181,7 @@ foreach link_arg: test_link_args
endforeach
add_project_link_arguments(global_link_args, language: 'c')
if not cc.links('''
if cc.links('''
#include <stdatomic.h>
int main(void) {
atomic_thread_fence(memory_order_acquire);
@ -189,7 +189,7 @@ int main(void) {
return 0;
}
''')
error('Sysprof requires a C compiler with stdatomic support such as GCC 4.9 or newer')
config_h.set10('HAVE_STDATOMIC_H', 1)
endif
subdir('src')