summaryrefslogtreecommitdiff
path: root/include/tree.sh
diff options
context:
space:
mode:
Diffstat (limited to 'include/tree.sh')
-rw-r--r--include/tree.sh38
1 files changed, 23 insertions, 15 deletions
diff --git a/include/tree.sh b/include/tree.sh
index 19060110..cb406233 100644
--- a/include/tree.sh
+++ b/include/tree.sh
@@ -35,6 +35,7 @@ cmakedir=""
defconfig=""
postmake=""
mkhelpercfg=""
+if_dry_build=":"
if_not_dry_build=""
dest_dir=""
mdir=""
@@ -73,6 +74,7 @@ trees()
# and $if_not_dry_build is prefixed to skipped commands
if_not_dry_build=":"
+ if_dry_build=""
;;
-b) : ;;
-u) mode="oldconfig" ;;
@@ -82,10 +84,12 @@ trees()
-f) # download source code for a project
do_make="n" # lets us know not to build anything
if_not_dry_build=":"
+ if_dry_build=""
;;
-F) # same as -F, but don't skip git fetch/pull on cache
do_make="n" # lets us know not to build anything
if_not_dry_build=":"
+ if_dry_build=""
forcepull="y"
;;
-s) mode="savedefconfig" ;;
@@ -236,9 +240,10 @@ handle_defconfig()
if [ -z "$mode" ]; then
for _xarch in $xarch; do
+ $if_dry_build \
+ break
if [ -n "$_xarch" ]; then
- $if_not_dry_build \
- check_cross_compiler "$_xarch"
+ check_cross_compiler "$_xarch"
fi
done; :
fi
@@ -625,7 +630,9 @@ check_defconfig()
# skip build if a previous one exists:
- if ! $if_not_dry_build elfcheck; then
+ $if_dry_build \
+ return 0
+ if ! elfcheck; then
return 1
fi
}
@@ -697,25 +704,26 @@ run_make_command()
fi
if [ "$mode" = "clean" ]; then
- $if_not_dry_build \
- make -C "$srcdir" $cleanargs distclean || \
- $if_not_dry_build \
- x_ make -C "$srcdir" $cleanargs clean; :
+ $if_dry_build \
+ return 0
+ if ! make -C "$srcdir" $cleanargs distclean; then
+ x_ make -C "$srcdir" $cleanargs clean
+ fi
fi
}
check_cmake()
{
- if [ -n "$cmakedir" ]; then
- if ! $if_not_dry_build check_makefile "$1"; then
- if ! cmake -B "$1" "$1/$cmakedir"; then
- $if_not_dry_build \
- x_ check_makefile "$1"
- fi
+ $if_dry_build \
+ return 0
+ if [ ! -n "$cmakedir" ]; then
+ return 0
+ elif ! check_makefile "$1"; then
+ if ! cmake -B "$1" "$1/$cmakedir"; then
+ x_ check_makefile "$1"
fi
- $if_not_dry_build \
- x_ check_makefile "$1"; :
fi
+ x_ check_makefile "$1"; :
}
check_autoconf()