scripts/dtc: use pkg-config to include <yaml.h> in non-standard path
Commit 067c650c456e ("dtc: Use pkg-config to locate libyaml") added 'pkg-config --libs' to link libyaml installed in a non-standard location. yamltree.c includes <yaml.h>, but that commit did not add the search path for <yaml.h>. If /usr/include/yaml.h does not exist, it fails to build. A user can explicitly pass HOSTCFLAGS to work around it, but the policy is not consistent. There are two ways to deal with libraries in a non-default location. [1] Use HOSTCFLAGS and HOSTLDFLAGS for additional search paths for headers and libraries. They are documented in Documentation/kbuild/kbuild.rst $ make HOSTCFLAGS='-I <prefix>/include' HOSTLDFLAGS='-L <prefix>/lib' [2] Use pkg-config 'pkg-config --cflags' for querying the header search path 'pkg-config --libs' for querying the lib and its path If we go with pkg-config, use [2] consistently. Do not mix up [1] and [2]. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
8211d1e83a
commit
f8d8b46cd2
@ -20,6 +20,9 @@ endif
|
||||
HOST_EXTRACFLAGS += -DNO_YAML
|
||||
else
|
||||
dtc-objs += yamltree.o
|
||||
# To include <yaml.h> installed in a non-default path
|
||||
HOSTCFLAGS_yamltree.o := $(shell pkg-config --cflags yaml-0.1)
|
||||
# To link libyaml installed in a non-default path
|
||||
HOSTLDLIBS_dtc := $(shell pkg-config yaml-0.1 --libs)
|
||||
endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user