| From 7906bb93a6ddbb64310066e13d3356526a5616ff Mon Sep 17 00:00:00 2001 |
| From: Chun-Tse Shao <ctshao@google.com> |
| Date: Wed, 9 Feb 2022 18:42:50 +0000 |
| Subject: [PATCH] config: Using CROSS_COMPILE prefix for pkg-config |
| |
| In some parts, pkg-config does not use appropriate $BUILDROOT prefix. |
| The patch adds CROSS_COMPILE prefix for pkg-config to fix the issue. |
| |
| BUG=b:162525571 |
| TEST=emerge-betty chromeos-kernel-5_15 |
| |
| Cq-Depend: chromium:3456646 |
| Change-Id: I1ab1fad4d1b70003d96938798ffcacd22ee11036 |
| Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3450401 |
| Reviewed-by: Mike Frysinger <vapier@chromium.org> |
| Tested-by: Chun-Tse Shao <ctshao@google.com> |
| Commit-Queue: Chun-Tse Shao <ctshao@google.com> |
| Auto-Submit: Chun-Tse Shao <ctshao@google.com> |
| --- |
| Makefile | 3 ++- |
| scripts/Makefile | 4 ++-- |
| scripts/dtc/Makefile | 6 +++--- |
| tools/objtool/Makefile | 4 ++-- |
| 4 files changed, 9 insertions(+), 8 deletions(-) |
| |
| diff --git a/Makefile b/Makefile |
| index daeb5c88b50b..f6c5bef7e141 100644 |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -430,6 +430,7 @@ else |
| HOSTCC = gcc |
| HOSTCXX = g++ |
| endif |
| +HOSTPKG_CONFIG = pkg-config |
| |
| export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \ |
| -O2 -fomit-frame-pointer -std=gnu89 |
| @@ -525,7 +526,7 @@ KBUILD_LDFLAGS_MODULE := |
| KBUILD_LDFLAGS := |
| CLANG_FLAGS := |
| |
| -export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC |
| +export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC HOSTPKG_CONFIG |
| export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL |
| export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX |
| export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD |
| diff --git a/scripts/Makefile b/scripts/Makefile |
| index ce5aa9030b74..f084f08ed176 100644 |
| --- a/scripts/Makefile |
| +++ b/scripts/Makefile |
| @@ -14,8 +14,8 @@ hostprogs-always-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert |
| HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include |
| HOSTLDLIBS_sorttable = -lpthread |
| HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include |
| -HOSTCFLAGS_sign-file.o = $(shell pkg-config --cflags libcrypto 2> /dev/null) |
| -HOSTLDLIBS_sign-file = $(shell pkg-config --libs libcrypto 2> /dev/null || echo -lcrypto) |
| +HOSTCFLAGS_sign-file.o = $(shell $(HOSTPKG_CONFIG) --cflags libcrypto 2> /dev/null) |
| +HOSTLDLIBS_sign-file = $(shell $(HOSTPKG_CONFIG) --libs libcrypto 2> /dev/null || echo -lcrypto) |
| |
| ifdef CONFIG_UNWINDER_ORC |
| ifeq ($(ARCH),x86_64) |
| diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile |
| index 95aaf7431bff..743fc08827ea 100644 |
| --- a/scripts/dtc/Makefile |
| +++ b/scripts/dtc/Makefile |
| @@ -18,7 +18,7 @@ fdtoverlay-objs := $(libfdt) fdtoverlay.o util.o |
| # Source files need to get at the userspace version of libfdt_env.h to compile |
| HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt |
| |
| -ifeq ($(shell pkg-config --exists yaml-0.1 2>/dev/null && echo yes),) |
| +ifeq ($(shell $(HOSTPKG_CONFIG) --exists yaml-0.1 2>/dev/null && echo yes),) |
| ifneq ($(CHECK_DT_BINDING)$(CHECK_DTBS),) |
| $(error dtc needs libyaml for DT schema validation support. \ |
| Install the necessary libyaml development package.) |
| @@ -27,9 +27,9 @@ 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) |
| +HOSTCFLAGS_yamltree.o := $(shell $(HOSTPKG_CONFIG) --cflags yaml-0.1) |
| # To link libyaml installed in a non-default path |
| -HOSTLDLIBS_dtc := $(shell pkg-config yaml-0.1 --libs) |
| +HOSTLDLIBS_dtc := $(shell $(HOSTPKG_CONFIG) yaml-0.1 --libs) |
| endif |
| |
| # Generated files need one more search path to include headers in source tree |
| diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile |
| index 92ce4fce7bc7..549acc5859e9 100644 |
| --- a/tools/objtool/Makefile |
| +++ b/tools/objtool/Makefile |
| @@ -19,8 +19,8 @@ LIBSUBCMD = $(LIBSUBCMD_OUTPUT)libsubcmd.a |
| OBJTOOL := $(OUTPUT)objtool |
| OBJTOOL_IN := $(OBJTOOL)-in.o |
| |
| -LIBELF_FLAGS := $(shell pkg-config libelf --cflags 2>/dev/null) |
| -LIBELF_LIBS := $(shell pkg-config libelf --libs 2>/dev/null || echo -lelf) |
| +LIBELF_FLAGS := $(shell $(HOSTPKG_CONFIG) libelf --cflags 2>/dev/null) |
| +LIBELF_LIBS := $(shell $(HOSTPKG_CONFIG) libelf --libs 2>/dev/null || echo -lelf) |
| |
| all: $(OBJTOOL) |
| |
| -- |
| 2.35.1.574.g5d30c73bfb-goog |
| |