2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-31 06:15:24 +00:00

tools.mk: support override CC/LD command line

due to Android NDK's clang is x86_64-linux-android28-clang --sysroot ${SYSROOT_PATH}
and it's ld is x86_64-linux-android-ld,
it's not able to use a single pattern to discript clang and ld.

and there is a error for x86_64-linux-android-ld.
x86_64-linux-android-ld  -L/home/ning/source/criu/protobuf-c/../target/lib -lprotobuf-c -r -z noexecstack -T ./compel/arch/x86/scripts/compel-pack.lds.S  -o criu/pie/parasite.built-in.o  criu/pie/parasite.o criu/pie/pie.lib.a ./compel/plugins/std.lib.a
./compel/compel-host hgen -f criu/pie/parasite.built-in.o -o criu/pie/parasite-blob.h
Error (compel/src/lib/handle-elf-host.c:335): Unexpected undefined symbol: `'. External symbol in PIE?
criu/pie/Makefile:49: recipe for target 'criu/pie/parasite-blob.h' failed

rebuild with host ld, can pass build.

so support override CC/LD from command line can pass build.

Cc: Chen Hu <hu1.chen@intel.com>
Signed-off-by: Zhang Ning <ning.a.zhang@intel.com>
Reviewed-by: Dmitry Safonov <0x7f454c46@gmail.com>
Signed-off-by: Andrei Vagin <avagin@gmail.com>
This commit is contained in:
Zhang Ning
2019-04-09 09:21:00 +08:00
committed by Andrei Vagin
parent f4fa53cf9b
commit e7aba32efe

View File

@@ -4,9 +4,9 @@ ifndef ____nmk_defined__tools
# System tools shorthands
RM := rm -f
HOSTLD ?= ld
LD := $(CROSS_COMPILE)$(HOSTLD)
LD ?= $(CROSS_COMPILE)$(HOSTLD)
HOSTCC ?= gcc
CC := $(CROSS_COMPILE)$(HOSTCC)
CC ?= $(CROSS_COMPILE)$(HOSTCC)
CPP := $(CC) -E
AS := $(CROSS_COMPILE)as
AR := $(CROSS_COMPILE)ar