From 35135842ca8b633c0f8ee32b70eee92d918345d6 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Mon, 9 Jan 2023 14:23:23 +0100 Subject: [PATCH] include/prereq.mk: add RequireCHeader helper Add RequireCHeader helper that will try to compile a fake c program with the requested header included. This is useful to check if a specific header is present in the system without checking for the specific path. This is a generilized version of the current ncurses test. Signed-off-by: Christian Marangi --- include/prereq.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/prereq.mk b/include/prereq.mk index 0033535e78..d34539ec30 100644 --- a/include/prereq.mk +++ b/include/prereq.mk @@ -63,6 +63,18 @@ define RequireHeader $$(eval $$(call Require,$(1),$(2))) endef +# 1: header to test +# 2: failure message +# 3: optional compile time test +# 4: optional link library test (example -lncurses) +define RequireCHeader + define Require/$(1) + echo 'int main(int argc, char **argv) { $(3); return 0; }' | gcc -include $(1) -x c -o $(TMP_DIR)/a.out - $(4) + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + define CleanupPython2 define Require/python2-cleanup if [ -f "$(STAGING_DIR_HOST)/bin/python" ] && \ -- 2.30.2