+Masahiro On Fri, Jul 12, 2019 at 6:59 AM Pavel Modilaynen <pavel.modilaynen@xxxxxxxx> wrote: > > From: Pavel Modilaynen <pavel.modilaynen@xxxxxxxx> Sorry for missing this. > Using Makefile's wildcard with absolute path to detect > the presence of libyaml results in false-positive > detection when cross-compiling e.g. in yocto environment. As this is a host tool, it's not really about cross-compiling, but sandboxing the host env? IOW, I cross-compile all the time and don't have an issue. > The latter results in build error: > | scripts/dtc/yamltree.o: In function `yaml_propval_int': > | yamltree.c: undefined reference to `yaml_sequence_start_event_initialize' > | yamltree.c: undefined reference to `yaml_emitter_emit' > | yamltree.c: undefined reference to `yaml_scalar_event_initialize' > ... > Use pkg-config to locate libyaml to address this scenario. The reason I didn't use pkg-config in the first place is it adds another dependency. AIUI, it's only needed for gconfig/xconfig which are probably not widely used especially for CI. Looks like objtool needs it too, but that's x86 only though arm64 support is being worked on. So I guess it is pretty much becoming a requirement. So I've applied it. I added suppressing stderr in case pkg-config isn't present. Rob > > Signed-off-by: Pavel Modilaynen <pavel.modilaynen@xxxxxxxx> > --- > scripts/dtc/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile > index 82160808765c..99d51b665432 100644 > --- a/scripts/dtc/Makefile > +++ b/scripts/dtc/Makefile > @@ -11,7 +11,7 @@ dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o > # Source files need to get at the userspace version of libfdt_env.h to compile > HOST_EXTRACFLAGS := -I $(srctree)/$(src)/libfdt > > -ifeq ($(wildcard /usr/include/yaml.h),) > +ifeq ($(shell pkg-config --exists yaml-0.1 && echo yes),) > ifneq ($(CHECK_DTBS),) > $(error dtc needs libyaml for DT schema validation support. \ > Install the necessary libyaml development package.) > @@ -19,7 +19,7 @@ endif > HOST_EXTRACFLAGS += -DNO_YAML > else > dtc-objs += yamltree.o > -HOSTLDLIBS_dtc := -lyaml > +HOSTLDLIBS_dtc := $(shell pkg-config yaml-0.1 --libs) > endif > > # Generated files need one more search path to include headers in source tree > -- > 2.11.0 >