| Index: crup-runner.sh
|
| diff --git a/crup-runner.sh b/crup-runner.sh
|
| index 7c7947c13496587352a8e44e658c8f4f31c71936..4765a2f519ed83a0a7b740a289887f34463263c6 100755
|
| --- a/crup-runner.sh
|
| +++ b/crup-runner.sh
|
| @@ -18,7 +18,7 @@ update_toplevel () {
|
|
|
| set_target_os () {
|
| # Get the os we're building for. On first run, this will be unset.
|
| - target_os=$(git config target.os 2>/dev/null)
|
| + target_os=$(git config --get-all target.os 2>/dev/null)
|
| if [ -z "$target_os" ]; then
|
| case $(uname -s) in
|
| Linux) target_os=unix ;;
|
| @@ -55,14 +55,19 @@ process_submodule () {
|
| update_policy=$(git config --get "submodule.$1.update")
|
| if [ -z "$update_policy" ]; then
|
| submod_os=$(git config -f .gitmodules --get "submodule.$1.os")
|
| - if [ -n "$submod_os" -a \
|
| - "$submod_os" != "all" -a \
|
| - "${submod_os/${target_os}/}" = "${submod_os}" ]; then
|
| + if [ -n "$submod_os" -a "$submod_os" != "all" ]; then
|
| update_policy=none
|
| + for os in $target_os; do
|
| + if [ "${submod_os/${os}/}" != "${submod_os}" ]; then
|
| + update_policy=checkout
|
| + fi
|
| + done
|
| else
|
| - git submodule --quiet init "$1"
|
| update_policy=checkout
|
| fi
|
| + if [ "$update_policy" != "none" ]; then
|
| + git submodule --quiet init "$1"
|
| + fi
|
| git config "submodule.$1.update" $update_policy
|
| fi
|
| ignore_policy=$(git config --get "submodule.$1.ignore")
|
|
|