8.12

5 Bootstrapping Racket🔗ℹ

Although Racket is implemented in Racket, you do not normally need an existing Racket installation to build Racket. Distribution archives include the needed bootstrapping artifacts in a portable form. The Racket Git repository similarly includes some of those artifacts checked in directly, and some are in a separate repository that is downloaded by make. Specifically:

If you modify certain pieces of Racket, you will need an existing build of Racket to bootstrap. That includes the Chez Scheme implementation (at least for some kinds of modifications), the Racket macro expander, and in the case of Racket CS, the "thread", "io", "regexp", and "schemify" layers.

For more information about modifying Chez Scheme, see "racket/src/cs/README.txt". As explained there, you can create new boot files in "racket/src/ChezScheme/boot/pb" or platform-specific boot files using even a relatively old version of Chez Scheme or Racket.

For information about modifying the macro expander for Racket CS and/or BC, see "racket/src/expander/README.txt". Building the expander may require a relatively new version of Racket, perhaps even the very latest version before the change.

Finally, for information about modifying the other layers for Racket CS, see "racket/src/cs/README.txt". Rebuilding these layers requires a relatively new version of Racket, too.