aboutsummaryrefslogtreecommitdiff
path: root/builddefs/support.mk
diff options
context:
space:
mode:
Diffstat (limited to 'builddefs/support.mk')
-rw-r--r--builddefs/support.mk11
1 files changed, 11 insertions, 0 deletions
diff --git a/builddefs/support.mk b/builddefs/support.mk
new file mode 100644
index 0000000000..7ef7b9b041
--- /dev/null
+++ b/builddefs/support.mk
@@ -0,0 +1,11 @@
+# Helper to determine if a compiler option is supported
+# Args:
+# $(1) = option to test, if successful will be output
+# $(2) = option to use if $(1) is not supported
+# $(3) = additional arguments to pass to the compiler during the test, but aren't contained in the output
+cc-option = $(shell \
+ if { echo 'int main(){return 0;}' | $(CC) $(1) $(3) -o /dev/null -x c /dev/null >/dev/null 2>&1; }; \
+ then echo "$(1)"; else echo "$(2)"; fi)
+
+# Helper to pass comma character to make functions (use with `$(,)` to pass in `$(call ...)` arguments)
+, := ,