1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 23:22:37 +02:00

Makefile: Revise utsname and clock_gettime test

Clean up the feature target by outsourcing the test to an own variable.
Change the print output and don't write to the build-details file.
HAS_CLOCK_GETTIME=no replaces DISABLE_CLOCK_GETTIME=yes

This is in preparation for further changes.

Change-Id: Ie1f43b3d5a8ad79bff3f9bbc21f359ec35abc42a
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58618
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
Thomas Heijligen 2021-10-26 12:44:36 +02:00 committed by Nico Huber
parent 47caa9ceb1
commit 2dae0b764f
4 changed files with 31 additions and 47 deletions

View File

@ -168,6 +168,9 @@ override TARGET_OS := $(call c_macro_test, Makefile.d/os_test.h)
override ARCH := $(call c_macro_test, Makefile.d/arch_test.h)
override ENDIAN := $(call c_macro_test, Makefile.d/endian_test.h)
HAS_UTSNAME := $(call c_compile_test, Makefile.d/utsname_test.c)
HAS_CLOCK_GETTIME := $(call c_compile_test, Makefile.d/clock_gettime_test.c)
ifeq ($(TARGET_OS), $(filter $(TARGET_OS), FreeBSD OpenBSD DragonFlyBSD))
override CPPFLAGS += -I/usr/local/include
override LDFLAGS += -L/usr/local/lib
@ -841,13 +844,17 @@ FEATURE_CFLAGS += -D'CONFIG_PRINT_WIKI=1'
CLI_OBJS += print_wiki.o
endif
FEATURE_CFLAGS += $(call debug_shell,grep -q "UTSNAME := yes" .features && printf "%s" "-D'HAVE_UTSNAME=1'")
# We could use PULLED_IN_LIBS, but that would be ugly.
FEATURE_LIBS += $(call debug_shell,grep -q "NEEDLIBZ := yes" .libdeps && printf "%s" "-lz")
FEATURE_CFLAGS += $(call debug_shell,grep -q "CLOCK_GETTIME := yes" .features && printf "%s" "-D'HAVE_CLOCK_GETTIME=1'")
FEATURE_LIBS += $(call debug_shell,grep -q "CLOCK_GETTIME := yes" .features && printf "%s" "-lrt")
ifeq ($(HAS_UTSNAME), yes)
FEATURE_CFLAGS += -D'HAVE_UTSNAME=1'
endif
ifeq ($(HAS_CLOCK_GETTIME), yes)
FEATURE_CFLAGS += -D'HAVE_CLOCK_GETTIME=1'
FEATURE_LIBS += -lrt
endif
LIBFLASHROM_OBJS = $(CHIP_OBJS) $(PROGRAMMER_OBJS) $(LIB_OBJS)
OBJS = $(CLI_OBJS) $(LIBFLASHROM_OBJS)
@ -1059,24 +1066,8 @@ ifeq ($(CONFIG_NI845X_SPI), yes)
exit 1; }; } \
2>>$(BUILD_DETAILS_FILE); echo $? >&3 ; } | tee -a $(BUILD_DETAILS_FILE) >&4; } 3>&1;} | { read rc ; exit ${rc}; } } 4>&1
endif
@printf "Checking for utsname support... " | tee -a $(BUILD_DETAILS_FILE)
@echo "$$UTSNAME_TEST" > .featuretest.c
@printf "\nexec: %s\n" "$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX)" >>$(BUILD_DETAILS_FILE)
@ { $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) >&2 && \
( echo "found."; echo "UTSNAME := yes" >> .features.tmp ) || \
( echo "not found."; echo "UTSNAME := no" >> .features.tmp ) } 2>>$(BUILD_DETAILS_FILE) | tee -a $(BUILD_DETAILS_FILE)
@printf "Checking for clock_gettime support... " | tee -a $(BUILD_DETAILS_FILE)
ifeq ($(DISABLE_CLOCK_GETTIME), yes)
@ { ( echo "disabled."; echo "CLOCK_GETTIME := no" >>.features.tmp ) } \
2>>$(BUILD_DETAILS_FILE) | tee -a $(BUILD_DETAILS_FILE)
else
@echo "$$CLOCK_GETTIME_TEST" >.featuretest.c
@printf "\nexec: %s\n" "$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -lrt .featuretest.c -o .featuretest$(EXEC_SUFFIX)" >>$(BUILD_DETAILS_FILE)
@ { $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -lrt .featuretest.c -o .featuretest$(EXEC_SUFFIX) >&2 && \
( echo "found."; echo "CLOCK_GETTIME := yes" >>.features.tmp ) || \
( echo "not found."; echo "CLOCK_GETTIME := no" >>.features.tmp ) } \
2>>$(BUILD_DETAILS_FILE) | tee -a $(BUILD_DETAILS_FILE)
endif
@echo "Checking for header \"sys/utsname.h\": $(HAS_UTSNAME)"
@echo "Checking for function \"clock_gettime\": $(HAS_CLOCK_GETTIME)"
@$(DIFF) -q .features.tmp .features >/dev/null 2>&1 && rm .features.tmp || mv .features.tmp .features
@rm -f .featuretest.c .featuretest$(EXEC_SUFFIX)

View File

@ -0,0 +1,9 @@
#include <time.h>
int main(int argc, char **argv)
{
(void)argc;
(void)argv;
struct timespec res;
clock_gettime(CLOCK_REALTIME, &res);
return 0;
}

View File

@ -0,0 +1,9 @@
#include <sys/utsname.h>
struct utsname osinfo;
int main(int argc, char **argv)
{
(void)argc;
(void)argv;
uname(&osinfo);
return 0;
}

View File

@ -130,19 +130,6 @@ enum ftdi_chip_type type = TYPE_232H;
endef
export FTDI_232H_TEST
define UTSNAME_TEST
#include <sys/utsname.h>
struct utsname osinfo;
int main(int argc, char **argv)
{
(void) argc;
(void) argv;
uname (&osinfo);
return 0;
}
endef
export UTSNAME_TEST
define LINUX_MTD_TEST
#include <mtd/mtd-user.h>
@ -181,18 +168,6 @@ int main(int argc, char **argv)
endef
export LINUX_I2C_TEST
define CLOCK_GETTIME_TEST
#include <time.h>
int main(int argc, char **argv)
{
struct timespec res;
clock_gettime(CLOCK_REALTIME, &res);
return 0;
}
endef
export CLOCK_GETTIME_TEST
define NI845X_TEST
#include <ni845x.h>