diff options
Diffstat (limited to 'include/tree.sh')
-rw-r--r-- | include/tree.sh | 38 |
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() |