[openwrt/openwrt] include/prereq.mk: add RequireCHeader helper

LEDE Commits lede-commits at lists.infradead.org
Mon Jan 9 12:25:10 PST 2023


ansuel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/35135842ca8b633c0f8ee32b70eee92d918345d6

commit 35135842ca8b633c0f8ee32b70eee92d918345d6
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Mon Jan 9 14:23:23 2023 +0100

    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 <ansuelsmth at gmail.com>
---
 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" ] && \




More information about the lede-commits mailing list