Chez Scheme: add "auto.bootquick" makefile target

The "auto.bootquick" target maps to "<machine type.bootquick" for
whatever machine type would be inferred by `configure`.
This commit is contained in:
Matthew Flatt 2020-12-01 19:48:42 -07:00
parent 3ab6fd66ca
commit 08fc3b17c7
4 changed files with 40 additions and 16 deletions

View File

@ -46,26 +46,33 @@ VIA SHELL section later in this file. Otherwise, to get further
instructions, try running
./configure
make <machine type>
make
The output will either suggest using Racket as
racket rktboot/main.rkt --machine <machine type>
or using the pb boot files with
The output will either suggest using using the pb boot files with
./configure --pb
make <machine type>.bootquick
and then trying again with `./configure`.
or Racket as
If you plan to build on multiple different machines, then it may be a
good idea to generate pb boot files via Racket:
racket rktboot/main.rkt --machine <machine type>
and then trying again with `./configure`. In the former case, you can
use "auto.bootquick" instead of "<machine type>.bootquick".
If you plan to build on multiple different machines and you don't have
pbb bboot files, then it may be a good idea to generate pb boot files
via Racket:
racket rktboot/main.rkt --machine pb
Then, you can use the ob boot files on different machines instead of
having to install Racket on each machine.
Then, you can use the pb boot files on different machines instead of
having to install Racket on each machine. Alternatively, after you
have a Chez Scheme build on one machine, you can use use
make <machine type>.boot
to more quickly create boot files for any <machine type>.
CONFIGURING AND BUILDING

View File

@ -3,6 +3,16 @@ that language, with supporting tools and documentation.
This variant of Chez Scheme is extended to support the implementation
of [Racket](https://racket-lang.org/).
Supported platforms:
* Windows: x86, x86_64
* Mac OS: x86, x86_64, PowerPC32
* Linux: x86, x86_64, ARMv6, AArch64, PowerPC32
* FreeBSD: x86, x86_64
* OpenBSD: x86, x86_64
* NetBSD: x86, x86_64
* Solaris: x86, x86_64
As a superset of the language described in the
[Revised<sup>6</sup> Report on the Algorithmic Language Scheme](http://www.r6rs.org)
(R6RS), Chez Scheme supports all standard features of Scheme,

View File

@ -367,6 +367,12 @@ if [ "$threads" = "" ] ; then
threads=yes
fi
if [ $bits = 64 ] ; then
if [ $threads = yes ] ; then defaultm=$tm64 ; else defaultm=$m64 ; fi
else
if [ $threads = yes ] ; then defaultm=$tm32 ; else defaultm=$m32 ; fi
fi
if [ "$m" = "" ] ; then
machine_supplied=no
if [ $pb = yes ] ; then
@ -374,11 +380,7 @@ if [ "$m" = "" ] ; then
if [ $bits = 64 ] ; then mpbhost=$m64 ; else mpbhost=$m32 ; fi
flagsm=$mpbhost
else
if [ $bits = 64 ] ; then
if [ $threads = yes ] ; then m=$tm64 ; else m=$m64 ; fi
else
if [ $threads = yes ] ; then m=$tm32 ; else m=$m32 ; fi
fi
m=$defaultm
flagsm=$m
fi
elif [ $pb = yes ] ; then
@ -672,6 +674,7 @@ esac
"$srcdir"/workarea $m $w $mpbhost
sed -e 's/$(m)/'$m'/g'\
-e 's/$(defaultm)/'$defaultm'/g'\
-e 's/$(workarea)/'$w'/g'\
"$srcdir"/makefiles/Makefile.in > Makefile
@ -687,6 +690,7 @@ sed -e 's/$(m)/'$m'/g'\
cat "$srcdir"/makefiles/Makefile-workarea.in > $w/Makefile
sed -e 's/$(m)/'$m'/g'\
-e 's/$(m)/'$m'/g'\
-e 's/$(workarea)/'$w'/g'\
"$srcdir"/makefiles/Mf-boot.in > $w/Mf-boot

View File

@ -57,6 +57,9 @@ reset:
%.bootquick:
(cd $(workarea) && $(MAKE) $*.bootquick)
auto.bootquick:
(cd $(workarea) && $(MAKE) $(defaultm).bootquick)
# Supply ORIG=<dir> to build using existing at <dir>
.PHONY: from-orig
from-orig: