aboutsummaryrefslogtreecommitdiff
path: root/buildroot/bin/opt_set
diff options
context:
space:
mode:
authorGeorgiy Bondarenko <69736697+nehilo@users.noreply.github.com>2021-03-04 20:54:23 +0300
committerGeorgiy Bondarenko <69736697+nehilo@users.noreply.github.com>2021-03-04 20:54:23 +0300
commite8701195e66f2d27ffe17fb514eae8173795aaf7 (patch)
tree9f519c4abf6556b9ae7190a6210d87ead1dfadde /buildroot/bin/opt_set
downloadkp3s-lgvl-e8701195e66f2d27ffe17fb514eae8173795aaf7.tar.xz
kp3s-lgvl-e8701195e66f2d27ffe17fb514eae8173795aaf7.zip
Initial commit
Diffstat (limited to 'buildroot/bin/opt_set')
-rw-r--r--buildroot/bin/opt_set12
1 files changed, 12 insertions, 0 deletions
diff --git a/buildroot/bin/opt_set b/buildroot/bin/opt_set
new file mode 100644
index 0000000..a646e09
--- /dev/null
+++ b/buildroot/bin/opt_set
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+# exit on first failure
+set -e
+
+SED=$(which gsed || which sed)
+
+# Logic for returning nonzero based on answer here: https://stackoverflow.com/a/15966279/104648
+eval "${SED} -i '/\(\/\/\)*\([[:blank:]]*\)\(#define\s\+\b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration.h" ||
+eval "${SED} -i '/\(\/\/\)*\([[:blank:]]*\)\(#define\s\+\b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration_adv.h" ||
+eval "echo '#define ${@}' >>Marlin/Configuration_adv.h" ||
+(echo "ERROR: opt_set Can't set or add ${1}" >&2 && exit 9)