From 5be2c3823065e40ee94be79deeeaa709eb006ef8 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 19 Nov 2019 19:34:18 +0000 Subject: extend bootstrap script for uncrustify --- bootstrap | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'bootstrap') diff --git a/bootstrap b/bootstrap index 61009b6..efeb261 100755 --- a/bootstrap +++ b/bootstrap @@ -1,3 +1,51 @@ #!/bin/sh -autoreconf -fi + +# This is more portable than `which' but comes with +# the caveat of not(?) properly working on busybox's ash: +existence() +{ + command -v "$1" >/dev/null 2>&1 +} + +check_uncrustify() +{ + if existence uncrustify; then + echo "Installing uncrustify hook and configuration" + ln -fs contrib/build-common/conf/uncrustify.cfg uncrustify.cfg 2> /dev/null + ln -fs contrib/build-common/conf/uncrustify_precommit .git/hooks/pre-commit 2> /dev/null + else + echo "Uncrustify not detected, hook not installed." + echo "Please install uncrustify if you plan on doing development" + fi +} + +submodules() +{ + # Try to update the submodule. Since bootstrap + # is also invoked by distributors, we must + # ignore any failing of this function as we + # could have no outgoing network connection + # in a restricted environment. + if ! git --version >/dev/null; then + echo "git not installed, skipping submodule update" + else + git submodule update --init || true + git submodule update --recursive --remote || true + git submodule sync || true + fi +} + +auto_reconf() +{ + autoreconf -fi +} + +main() +{ + submodules + check_uncrustify + auto_reconf +} + +main "$@" -- cgit v1.2.3