From d003a22443cd8325a87817e29c9caf933488975d Mon Sep 17 00:00:00 2001
From: Raymond Toy <toy.raymond@gmail.com>
Date: Sat, 14 May 2016 07:56:19 -0700
Subject: [PATCH] Add -X flag

When -X is given (break) just before quiting the cross-compilation.
This allows for some debugging of the cross-compiled result.
---
 bin/cross-build-world.sh | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/bin/cross-build-world.sh b/bin/cross-build-world.sh
index 7623e6759..8a6f6181b 100755
--- a/bin/cross-build-world.sh
+++ b/bin/cross-build-world.sh
@@ -1,16 +1,19 @@
 #!/bin/sh
 
 usage() {
-    echo "cross-build-world.sh [-crl] [-B file] [-G Gnumake] target-dir cross-dir cross-compiler-script [build-binary [flags]]"
+    echo "cross-build-world.sh [-crlX] [-B file] [-G Gnumake] target-dir cross-dir cross-compiler-script [build-binary [flags]]"
     echo "  -c      Clean target and cross directories before compiling"
     echo "  -r      Recompile lisp runtime"
     echo "  -l      Load cross-compiled kernel to make a new lisp kernel"
     echo "  -B file Use this as the cross bootstrap file." 
     echo "  -G make Specifies the name of GNU make"
+    echo "  -X      (break) before quitting the cross compilation (for debugging)"
 }
 
 MAKE=make
-while getopts "crlB:G:" arg
+BREAK=""
+
+while getopts "crlXB:G:" arg
 do
     case $arg in
       c) CLEAN_DIR=yes ;;
@@ -18,6 +21,7 @@ do
       l) LOAD_KERNEL=yes ;;
       B) BOOTSTRAP=$OPTARG ;;
       G) MAKE=$OPTARG ;;
+      X) BREAK="(break)" ;;
       h | \?) usage; exit 1 ;;
     esac
 done
@@ -122,6 +126,7 @@ $LISP "$@" -noinit -nositeinit <<EOF
 (setq *gc-verbose* t *interactive* t)
 
 (load "target:tools/worldbuild")
+$BREAK
 (ext:quit)
 EOF
 
-- 
GitLab