diff options
| -rwxr-xr-x | include/git.sh | 33 | 
1 files changed, 19 insertions, 14 deletions
| diff --git a/include/git.sh b/include/git.sh index a77314d6..9809f377 100755 --- a/include/git.sh +++ b/include/git.sh @@ -91,20 +91,17 @@ git_prep()  	git_am_patches "$tmpgit" "$_patchdir" || $err "!am $_loc $_patchdir"  	if [ "$project" != "coreboot" ] || [ $# -gt 2 ]; then -		[ ! -f "$tmpgit/.gitmodules" ] || git -C "$tmpgit" submodule \ -		    update --init --checkout || $err "git_prep $_loc: !submod" - -		patch_submodules - -		if [ "$project" = "coreboot" ] && [ -n "$xtree" ] && \ -		    [ "$xtree" != "$tree" ]; then -			( -			cd "$tmpgit/util" || $err "prep $_loc: !cd $tmpgit/util" -			rm -Rf crossgcc || $err "prep $_loc: !rm xgcc" -			ln -s "../../$xtree/util/crossgcc" crossgcc || \ -			    $err "prep $_loc: can't create xgcc symlink" -			) || $err "prep $_loc: can't create xgcc symlink" -		fi +		prep_submodules "$_loc" +	fi + +	if [ "$project" = "coreboot" ] && [ -n "$xtree" ] && \ +	    [ "$xtree" != "$tree" ] && [ $# -gt 2 ]; then +		( +		cd "$tmpgit/util" || $err "prep $1: !cd $tmpgit/util" +		rm -Rf crossgcc || $err "prep $1: !rm xgcc" +		ln -s "../../$xtree/util/crossgcc" crossgcc || \ +		    $err "prep $1: can't create xgcc symlink" +		) || $err "prep $1: can't create xgcc symlink"  	fi  	[ "$xbmk_release" = "y" ] && [ "$_loc" != "src/$project/$project" ] \ @@ -116,6 +113,14 @@ git_prep()  		x_ ./update trees -f coreboot "$xtree"; return 0  } +prep_submodules() +{ +	[ ! -f "$tmpgit/.gitmodules" ] || git -C "$tmpgit" submodule \ +	    update --init --checkout || $err "git_prep $1: !submod" + +	patch_submodules +} +  patch_submodules()  {  	mdir="${PWD}/config/submodule/$project" | 
