Recent versions of Meson report
WARNING: pkgconfig variable 'cflags' not defined for dependency yajl.
which makes sense, because "cflags" is not one of the variables
reported by
$ pkg-config --print-variables yajl
and
$ pkg-config --variable=cflags yajl
doesn't work either.
Use "includedir", which is a proper pkg-config variable,
instead.
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
meson.build | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/meson.build b/meson.build
index ec7dcffac4..214a3f05eb 100644
--- a/meson.build
+++ b/meson.build
@@ -1356,17 +1356,18 @@ if yajl_dep.found()
#
# [1] https://github.com/Homebrew/homebrew-core/pull/74516
if host_machine.system() != 'linux'
- cflags = yajl_dep.get_pkgconfig_variable('cflags')
- if cflags.contains('include/yajl')
+ includedir = yajl_dep.get_pkgconfig_variable('includedir')
+ if includedir.contains('include/yajl')
rc = run_command(
'python3', '-c',
'print("@0@".replace("@1@", "@2@"))'.format(
- cflags, 'include/yajl', 'include',
+ includedir, 'include/yajl', 'include',
),
check: true,
)
+ includedir = rc.stdout().strip()
yajl_dep = declare_dependency(
- compile_args: rc.stdout().strip().split(),
+ compile_args: [ '-I' + includedir ],
dependencies: [ yajl_dep ],
)
endif
--
2.31.1
On Sat, Jan 08, 2022 at 04:29:35PM +0100, Andrea Bolognani wrote: > Recent versions of Meson report > > WARNING: pkgconfig variable 'cflags' not defined for dependency yajl. > > which makes sense, because "cflags" is not one of the variables > reported by > > $ pkg-config --print-variables yajl > > and > > $ pkg-config --variable=cflags yajl > > doesn't work either. > > Use "includedir", which is a proper pkg-config variable, > instead. > Hi Andrea, The fix helps, thanks! Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com> Tested-by: Roman Bolshakov <r.bolshakov@yadro.com> FWIW, I've tried to figure out where it went broken and it turned out to be in c32c5ca29ae. Newer meson is not related to the issue. So you might want to add the tag: Fixes: c32c5ca29ae ("meson: Use get_pkgconfig_variable('cflags')") Regards, Roman > Signed-off-by: Andrea Bolognani <abologna@redhat.com> > --- > meson.build | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/meson.build b/meson.build > index ec7dcffac4..214a3f05eb 100644 > --- a/meson.build > +++ b/meson.build > @@ -1356,17 +1356,18 @@ if yajl_dep.found() > # > # [1] https://github.com/Homebrew/homebrew-core/pull/74516 > if host_machine.system() != 'linux' > - cflags = yajl_dep.get_pkgconfig_variable('cflags') > - if cflags.contains('include/yajl') > + includedir = yajl_dep.get_pkgconfig_variable('includedir') > + if includedir.contains('include/yajl') > rc = run_command( > 'python3', '-c', > 'print("@0@".replace("@1@", "@2@"))'.format( > - cflags, 'include/yajl', 'include', > + includedir, 'include/yajl', 'include', > ), > check: true, > ) > + includedir = rc.stdout().strip() > yajl_dep = declare_dependency( > - compile_args: rc.stdout().strip().split(), > + compile_args: [ '-I' + includedir ], > dependencies: [ yajl_dep ], > ) > endif > -- > 2.31.1 >
On Mon, Jan 10, 2022 at 08:06:25AM +0300, Roman Bolshakov wrote: > The fix helps, thanks! > > Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com> > Tested-by: Roman Bolshakov <r.bolshakov@yadro.com> > > FWIW, I've tried to figure out where it went broken and it turned out to > be in c32c5ca29ae. Newer meson is not related to the issue. > > So you might want to add the tag: > > Fixes: c32c5ca29ae ("meson: Use get_pkgconfig_variable('cflags')") Great detective work! Seeing how I'm the one who broke it, it only make sense that I would have to fix it :) I've tweaked the commit message in light of your discovery and pushed the fix. I'm still utterly confused about how the CI job for macOS managed to pass every single time even while yajl detection on the platform was completely broken... -- Andrea Bolognani / Red Hat / Virtualization
© 2016 - 2024 Red Hat, Inc.