6.14API for Cross-Platform Configuration

The setup/cross-system
library provides functions for querying the system properties of a
destination platform, which can be different than the current platform
in cross-installation modes.

A Racket installation includes a "system.rktd" file in the
directory reported by (find-lib-dir). When the information in that file
does not match the running Racket’s information, then the
setup/cross-system module infers that Racket is being
run in cross-installation mode.

For example, if an in-place Racket installation for a different
platform resides at ‹cross-dir›, then

racket -C -G ‹cross-dir›/etc -X ‹cross-dir›/collects -l- raco pkg

runs raco pkg using the current platform’s racket
executable, but using the collections and other configuration
information of ‹cross-dir›, as well as modifying the packages
of ‹cross-dir›. That can work as long as no platform-specific
libraries need to run to perform the requested raco pkg action
(e.g., when installing built packages), or as long as the current
platform’s installation already includes those libraries.