aboutsummaryrefslogtreecommitdiff
path: root/buildroot/bin/opt_disable
diff options
context:
space:
mode:
Diffstat (limited to 'buildroot/bin/opt_disable')
-rw-r--r--buildroot/bin/opt_disable13
1 files changed, 13 insertions, 0 deletions
diff --git a/buildroot/bin/opt_disable b/buildroot/bin/opt_disable
new file mode 100644
index 0000000..1152613
--- /dev/null
+++ b/buildroot/bin/opt_disable
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+
+# exit on first failure
+set -e
+
+SED=$(which gsed || which sed)
+
+for opt in "$@" ; do
+ # Logic for returning nonzero based on answer here: https://stackoverflow.com/a/15966279/104648
+ eval "${SED} -i '/\([[:blank:]]*\)\(\/\/\)*\([[:blank:]]*\)\(#define \b${opt}\b\)/{s//\1\3\/\/\4/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration.h" ||
+ eval "${SED} -i '/\([[:blank:]]*\)\(\/\/\)*\([[:blank:]]*\)\(#define \b${opt}\b\)/{s//\1\3\/\/\4/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration_adv.h" ||
+ (echo "ERROR: opt_disable Can't find ${opt}" >&2 && exit 9)
+done