summaryrefslogtreecommitdiff
path: root/make-target-1.sh
diff options
context:
space:
mode:
authorChristophe Rhodes <csr21@cantab.net>2014-05-08 14:14:48 +0100
committerChristophe Rhodes <csr21@cantab.net>2014-05-11 07:59:01 +0100
commiteccba2ae33ebba6a68cfe297996e1785d6dbff92 (patch)
tree0418b748cf54bc6dc0058faf3dc12fe5c041dab8 /make-target-1.sh
parent4a00da51a9295e78cde58d31250ecf216dc72d09 (diff)
support target-driven cross-compilation
Running ./make-config.sh --host-location="host:path/to/sbcl" on the target causes the make-target-N.sh scripts to do all the copying of files to and from the host using rsync on the target to the specified host location. Because this is rsync, managing the reverse ssh to do this on heavily-firewalled targets is not straightforward; we might have to extend the syntax, or have an extra --host-port argument. But this should I think make the port to arm64 more straightforward.
Diffstat (limited to 'make-target-1.sh')
-rw-r--r--make-target-1.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/make-target-1.sh b/make-target-1.sh
index 423f967b0..b7372f376 100644
--- a/make-target-1.sh
+++ b/make-target-1.sh
@@ -23,6 +23,13 @@ export LANG LC_ALL
# Load our build configuration
. output/build-config
+if [ -n "$SBCL_HOST_LOCATION" ]; then
+ echo //copying host-1 output files to target
+ rsync -a "$SBCL_HOST_LOCATION/output/" output/
+ rsync -a "$SBCL_HOST_LOCATION/src/runtime/genesis" src/runtime
+ rsync -a "$SBCL_HOST_LOCATION/src/runtime/ldso-stubs.S" src/runtime/
+fi
+
# Build the runtime system and symbol table (.nm) file.
#
# (This C build has to come after the first genesis in order to get
@@ -48,3 +55,9 @@ $GNUMAKE -C tools-for-build -I../src/runtime grovel-headers
tools-for-build/grovel-headers > output/stuff-groveled-from-headers.lisp
$GNUMAKE -C src/runtime after-grovel-headers
+
+if [ -n "$SBCL_HOST_LOCATION" ]; then
+ echo //copying target-1 output files to host
+ rsync -a src/runtime/sbcl.nm "$SBCL_HOST_LOCATION/src/runtime/"
+ rsync -a output/stuff-groveled-from-headers.lisp "$SBCL_HOST_LOCATION/output"
+fi