mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 15:12:36 +02:00
Makefile: Revise C compiler check
Clean up the compiler target by outsourcing the test to an own variable. Change the print output and don't write to the build-details file. This is in preparation for further changes. Change-Id: I3d6f08ef030744c772b4ec0dc2c9e614fb90461d Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/58616 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
parent
fac2bfe54c
commit
36fa20d176
13
Makefile
13
Makefile
@ -158,6 +158,8 @@ ifeq ($(findstring MINGW, $(HOST_OS)), MINGW)
|
||||
CC = gcc
|
||||
endif
|
||||
|
||||
CC_WORKING := $(call c_compile_test, Makefile.d/cc_test.c)
|
||||
|
||||
# Determine the destination OS, architecture and endian
|
||||
# IMPORTANT: The following lines must be placed before TARGET_OS, ARCH or ENDIAN
|
||||
# is ever used (of course), but should come after any lines setting CC because
|
||||
@ -887,13 +889,10 @@ strip: $(PROGRAM)$(EXEC_SUFFIX)
|
||||
# to environment variables and are referenced with $$<varname> later
|
||||
|
||||
compiler: featuresavailable
|
||||
@printf "Checking for a C compiler... " | tee -a $(BUILD_DETAILS_FILE)
|
||||
@echo "$$COMPILER_TEST" > .test.c
|
||||
@printf "\nexec: %s\n" "$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .test.c -o .test$(EXEC_SUFFIX)" >>$(BUILD_DETAILS_FILE)
|
||||
@{ { { { { $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .test.c -o .test$(EXEC_SUFFIX) >&2 && \
|
||||
echo "found." || { echo "not found."; \
|
||||
rm -f .test.c .test$(EXEC_SUFFIX); exit 1; }; } 2>>$(BUILD_DETAILS_FILE); echo $? >&3 ; } | tee -a $(BUILD_DETAILS_FILE) >&4; } 3>&1;} | { read rc ; exit ${rc}; } } 4>&1
|
||||
@rm -f .test.c .test$(EXEC_SUFFIX)
|
||||
@echo -n "C compiler found: "
|
||||
@if [ $(CC_WORKING) = yes ]; \
|
||||
then $(CC) --version 2>/dev/null | head -1; \
|
||||
else echo no; echo Aborting.; exit 1; fi
|
||||
@echo Target arch is $(ARCH)
|
||||
@if [ $(ARCH) = unknown ]; then echo Aborting.; exit 1; fi
|
||||
@echo Target OS is $(TARGET_OS)
|
||||
|
6
Makefile.d/cc_test.c
Normal file
6
Makefile.d/cc_test.c
Normal file
@ -0,0 +1,6 @@
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
return 0;
|
||||
}
|
@ -36,15 +36,9 @@ define c_macro_test
|
||||
$(strip $(shell $(CC) -E $1 2>/dev/null | tail -1 | tr -d '"'))
|
||||
endef
|
||||
|
||||
define COMPILER_TEST
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
(void) argc;
|
||||
(void) argv;
|
||||
return 0;
|
||||
}
|
||||
define c_compile_test
|
||||
$(shell $(CC) -c -Wall -Werror -o /dev/null $1 2>/dev/null && echo yes || echo no)
|
||||
endef
|
||||
export COMPILER_TEST
|
||||
|
||||
define LIBPCI_TEST
|
||||
/* Avoid a failing test due to libpci header symbol shadowing breakage */
|
||||
|
Loading…
x
Reference in New Issue
Block a user