racket/makefiles
Matthew Flatt f78dc5724e add pb (portable bytecode) backend
This commit does four things:

 * Adds "pb.ss" and "pb.c", which implement a portable bytecode
   backend and interpreter that is intended for bootstrapping. A
   single set of pb bootfiles can support bootstrapping on all
   platforms --- as long as the C compiler supports a 64-bit integer
   type. The pb machine supports foreign calls for only a small set of
   recognized prototypes, and it does not support foriegn callables.
   Use `./configure --pb` to build the pb variant.

 * Changes the kernel's casts between `ptr` and `void*` types. In a pb
   build, the `ptr` type can be a 64-bit integer type while `void*` is
   a 32-bit pointer type, so casts must go through an intermediate
   integer type.

 * Adjusts the compiler to accomodate run-time-determined endianness.
   Making the compiler agnostic to word size is not practical, but
   only a few pieces depend on the target machine's endianness, and
   those can generally be deferred to a run-time choice of byte-based
   operations. The one exception is that ftype bit fields are not
   allowed unless accompanied by an explicit endianness declaration.

 * Start reducing duplication among platform-specific makefiles. For
   example, `Mf-ta6osx` chains to `Mf-a6osx` to avoid repeating most
   of it. A lot more can be done here.

original commit: 97533fa9d8b8400b0dc1a890768c7d30c91257e0
2020-07-24 13:13:46 -06:00
..
installsh Bash test(1) does not allow bare numbers with ==, so use -eq 2016-05-22 17:41:40 -04:00
Makefile-csug.in Makefile-csug.in install target is now consistent with the project 2018-03-28 09:25:20 -07:00
Makefile-release_notes.in - Updated CSUG to replace \INSERTREVISIONMONTHSPACEYEAR with the current 2017-10-13 23:50:20 -04:00
Makefile-workarea.in add pb (portable bytecode) backend 2020-07-24 13:13:46 -06:00
Makefile.in add pb (portable bytecode) backend 2020-07-24 13:13:46 -06:00
Mf-boot.in add pb (portable bytecode) backend 2020-07-24 13:13:46 -06:00
Mf-install.in add pb (portable bytecode) backend 2020-07-24 13:13:46 -06:00