Actually place static functions first in immobile space.
[sbcl.git] / make-target-1.sh
blob3310699821ff19cf8d28a20451cb57c871acfbc6
1 #!/bin/sh
2 set -em
4 # This is a script to be run as part of make.sh. The only time you'd
5 # want to run it by itself is if you're trying to cross-compile the
6 # system or if you're doing some kind of troubleshooting.
8 # This software is part of the SBCL system. See the README file for
9 # more information.
11 # This software is derived from the CMU CL system, which was
12 # written at Carnegie Mellon University and released into the
13 # public domain. The software is in the public domain and is
14 # provided with absolutely no warranty. See the COPYING and CREDITS
15 # files for more information.
17 echo //entering make-target-1.sh
19 LANG=C
20 LC_ALL=C
21 export LANG LC_ALL
23 # Load our build configuration
24 . output/build-config
26 if [ -n "$SBCL_HOST_LOCATION" ]; then
27 echo //copying host-1 output files to target
28 rsync -a "$SBCL_HOST_LOCATION/output/" output/
29 rsync -a "$SBCL_HOST_LOCATION/src/runtime/genesis" src/runtime
30 rsync -a "$SBCL_HOST_LOCATION/src/runtime/ldso-stubs.S" src/runtime/
33 # Build the runtime system and symbol table (.nm) file.
35 # (This C build has to come after the first genesis in order to get
36 # the sbcl.h the C build needs, and come before the second genesis in
37 # order to produce the symbol table file that second genesis needs. It
38 # could come either before or after running the cross compiler; that
39 # doesn't matter.)
41 # Note that the latter requirement does not apply to sb-dynamic-core
42 # builds, since the cross compiler does not depend on symbol tables in
43 # that case. Only because sbcl.nm is convenient for debugging purposes
44 # is its generation left enabled even for those builds.
45 echo //building runtime system and symbol table file
47 # The clean is needed for Darwin's readonlyspace hack.
48 $GNUMAKE -C src/runtime clean
49 # $GNUMAKE -C src/runtime depend
50 $GNUMAKE $SBCL_MAKE_JOBS -C src/runtime all
52 # Use a little C program to grab stuff from the C header files and
53 # smash it into Lisp source code.
54 $GNUMAKE -C tools-for-build -I../src/runtime grovel-headers
55 tools-for-build/grovel-headers > output/stuff-groveled-from-headers.lisp
57 $GNUMAKE -C src/runtime after-grovel-headers
59 if [ -n "$SBCL_HOST_LOCATION" ]; then
60 echo //copying target-1 output files to host
61 rsync -a src/runtime/sbcl.nm "$SBCL_HOST_LOCATION/src/runtime/"
62 rsync -a output/stuff-groveled-from-headers.lisp "$SBCL_HOST_LOCATION/output"