The Racket repository
Go to file
Matthew Flatt a001b5b231 raco setup: multi-machine cross-compile support
Enable `raco {setup|make}` to build two sets of compiled files: one
set that is suitable for the current machine, and another set that is
suitable for a different machine or for all machines (i.e.,
machine-independent bytecode).

In the long run, this new `raco setup` mode support cross compilation
where the build machine and target machine have different bytecode
formats --- unlike the current cross-compliation mode, which relies on
there being a single bytecode format in traditional Racket for all
platforms.

In the short run, the new mode enables the faster creation of
Racket-on-Chez distribution builds. The build server can send out
machine-independent bytecode to client machines while using
machine-specific bytecode for itself to drive the build process.

The new compilation mode relies on a somewhat delicate balance of the
`current-compile-target-machine` and `current-compiled-file-roots`
parameters (as reflected by the `-M` and `-R` command-line flags for
Racket) as well as cross-compilation mode (as enabled by the `-C`
command-line flag).
2018-11-26 19:49:33 -07:00
pkgs raco setup: multi-machine cross-compile support 2018-11-26 19:49:33 -07:00
racket raco setup: multi-machine cross-compile support 2018-11-26 19:49:33 -07:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Additional files to ignore. 2018-11-21 12:39:56 -05:00
.mailmap mailmap updates & fixes. 2013-04-03 18:10:22 -04:00
.travis.yml Remove gcc osx matrix entry 2018-10-27 13:31:12 -06:00
appveyor.yml use VS 2013 on AppVeyor 2018-05-15 11:07:06 -06:00
azure-pipelines.yml Add mac tests on Azure. 2018-09-15 12:43:54 -04:00
INSTALL.txt raco setup: multi-machine cross-compile support 2018-11-26 19:49:33 -07:00
Makefile raco setup: multi-machine cross-compile support 2018-11-26 19:49:33 -07:00
README.md reorganize and update "README.txt"s about sources and builds 2018-11-16 07:49:53 -07:00

This is the source code for the core of Racket. See "INSTALL.txt" for full information on building Racket.

To build the full Racket distribution from this repository, run make in the top-level directory. To build minimal Racket, run make base.

The rest of the Racket distribution source code is in other repositories, mostly under the Racket GitHub organization.

Contribute to Racket by submitting a pull request, joining the development mailing list, or visiting the IRC channel.

License

Racket is distributed under the GNU Lesser General Public License (LGPL). This implies that you may link Racket into proprietary applications, provided you follow the rules stated in the LGPL. You can also modify Racket; if you distribute a modified version, you must distribute it under the terms of the LGPL, which in particular states that you must release the source code for the modified software.

See racket/src/COPYING_LESSER.txt for more information.