[PATCH libdrm] meson: use pkg-config to detect libatomic_ops
Emil Velikov
emil.l.velikov at gmail.com
Thu Mar 8 18:10:03 UTC 2018
On 5 March 2018 at 12:03, Eric Engestrom <eric.engestrom at imgtec.com> wrote:
> Ping? :)
> Both for this patch and the equivalent autotools patch it replies to.
>
The autotools one needs the CFLAGS added - meson does it automatically for us.
> On Wednesday, 2018-02-07 14:24:33 +0000, Eric Engestrom wrote:
>> Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
>> ---
>> amdgpu/meson.build | 2 +-
>> etnaviv/meson.build | 2 +-
>> freedreno/meson.build | 2 +-
>> intel/meson.build | 2 +-
>> meson.build | 3 ++-
>> nouveau/meson.build | 2 +-
>> omap/meson.build | 2 +-
>> radeon/meson.build | 2 +-
>> tegra/meson.build | 2 +-
>> 9 files changed, 10 insertions(+), 9 deletions(-)
>>
>> diff --git a/amdgpu/meson.build b/amdgpu/meson.build
>> index 8b0452056e2513892c2c..7040ebab86e271022323 100644
>> --- a/amdgpu/meson.build
>> +++ b/amdgpu/meson.build
>> @@ -37,7 +37,7 @@ libdrm_amdgpu = shared_library(
>> ],
>> include_directories : [inc_root, inc_drm],
>> link_with : libdrm,
>> - dependencies : dep_pthread_stubs,
>> + dependencies : [dep_pthread_stubs, dep_atomic_ops],
>> version : '1.0.0',
>> install : true,
>> )
>> diff --git a/etnaviv/meson.build b/etnaviv/meson.build
>> index 1767733bd510efdaad86..ca2aa544c58924a15d8b 100644
>> --- a/etnaviv/meson.build
>> +++ b/etnaviv/meson.build
>> @@ -31,7 +31,7 @@ libdrm_etnaviv = shared_library(
>> include_directories : [inc_root, inc_drm],
>> link_with : libdrm,
>> c_args : warn_c_args,
>> - dependencies : [dep_pthread_stubs, dep_rt],
>> + dependencies : [dep_pthread_stubs, dep_rt, dep_atomic_ops],
>> version : '1.0.0',
>> install : true,
>> )
>> diff --git a/freedreno/meson.build b/freedreno/meson.build
>> index de6a413fa93e63c0ad4a..da993c10355578838f29 100644
>> --- a/freedreno/meson.build
>> +++ b/freedreno/meson.build
>> @@ -44,7 +44,7 @@ libdrm_freedreno = shared_library(
>> [files_freedreno, config_file],
>> c_args : warn_c_args,
>> include_directories : [inc_root, inc_drm],
>> - dependencies : [dep_valgrind, dep_pthread_stubs, dep_rt],
>> + dependencies : [dep_valgrind, dep_pthread_stubs, dep_rt, dep_atomic_ops],
>> link_with : libdrm,
>> version : '1.0.0',
>> install : true,
>> diff --git a/intel/meson.build b/intel/meson.build
>> index ad877274f8d488a80d54..42402f60e38cd5e7359f 100644
>> --- a/intel/meson.build
>> +++ b/intel/meson.build
>> @@ -29,7 +29,7 @@ libdrm_intel = shared_library(
>> ],
>> include_directories : [inc_root, inc_drm],
>> link_with : libdrm,
>> - dependencies : [dep_pciaccess, dep_pthread_stubs, dep_rt, dep_valgrind],
>> + dependencies : [dep_pciaccess, dep_pthread_stubs, dep_rt, dep_valgrind, dep_atomic_ops],
>> c_args : warn_c_args,
>> version : '1.0.0',
>> install : true,
>> diff --git a/meson.build b/meson.build
>> index a19e600c7475b2578e2d..f45c14a70baa2456582d 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -51,6 +51,7 @@ cc = meson.get_compiler('c')
>> intel_atomics = false
>> lib_atomics = false
>>
>> +dep_atomic_ops = dependency('atomic_ops', required : false)
>> if cc.compiles('''
>> int atomic_add(int *i) { return __sync_add_and_fetch (i, 1); }
>> int atomic_cmpxchg(int *i, int j, int k) { return __sync_val_compare_and_swap (i, j, k); }
>> @@ -58,7 +59,7 @@ if cc.compiles('''
>> name : 'Intel Atomics')
>> intel_atomics = true
>> with_atomics = true
>
> Change added here locally; there's no need to link again `dep_atomic_ops`
> in this branch, although it doesn't hurt:
>
> + dep_atomic_ops = []
>
The dummy dep_atomic_ops is needed for almost all cases in the if/else
ladder. The exception being the .found() case.
With that
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
-Emil
More information about the dri-devel
mailing list