On Thu, 2019-06-13 at 14:53 +0100, Guillaume Tucker wrote: > Add conditional dependency on libatomic in order to be able to use the > __atomic_* functions instead of the older __sync_* ones. The > libatomic library is only needed when there aren't any native support > on the current architecture, so a linker test is used for this > purpose. This enables atomic operations to be on a wider number of > architectures including MIPS. > > Signed-off-by: Guillaume Tucker <guillaume.tucker@xxxxxxxxxxxxx> > --- > meson.build | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/meson.build b/meson.build > index 6268c58d3634..da25a28f3268 100644 > --- a/meson.build > +++ b/meson.build > @@ -179,6 +179,19 @@ math = cc.find_library('m') > realtime = cc.find_library('rt') > dlsym = cc.find_library('dl') > zlib = cc.find_library('z') > +if cc.links(''' > +#include <stdint.h> > +int main(void) { > + uint32_t x32 = 0; > + uint64_t x64 = 0; > + __atomic_load_n(&x32, __ATOMIC_SEQ_CST); > + __atomic_load_n(&x64, __ATOMIC_SEQ_CST); Minor: maybe we could've used stdatomic.h's atomic_* functions (without the "__" prefix) for consistency with the actual IGT code? > + return 0; > +}''', name : 'built-in atomics') > + libatomic = [] We could use null_dep instead, to make it consistent with the other branch. > +else > + libatomic = cc.find_library('atomic') > +endif > > if cc.has_header('linux/kd.h') > config.set('HAVE_LINUX_KD_H', 1) _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx