23ba2e9cf1
Changes from 7.6.3 are as follows: * https://www.haskell.org/ghc/docs/7.8.1/html/users_guide/release-7-8-1.html * https://www.haskell.org/ghc/docs/7.8.2/html/users_guide/release-7-8-2.html * https://www.haskell.org/ghc/docs/7.8.3/html/users_guide/release-7-8-3.html * https://www.haskell.org/ghc/docs/7.8.4/html/users_guide/release-7-8-4.html * https://www.haskell.org/ghc/docs/7.10.1/html/users_guide/release-7-10-1.html * https://downloads.haskell.org/~ghc/7.10.2/docs/html/users_guide/release-7-10-2.html * https://downloads.haskell.org/~ghc/7.10.3/docs/html/users_guide/release-7-10-3.html
20 lines
1,006 B
Text
20 lines
1,006 B
Text
GHC requires itself to build, and unfortunately the only way to get a
|
|
working GHC for a foreign target is to do a cross-compilation.
|
|
|
|
In order to build a bootkit for a new platform, you need to manually
|
|
set up a cross-building C compiler and binutils, libc, libterminfo,
|
|
and libiconv for the target. Then you can follow instructions in
|
|
https://gitlab.haskell.org/ghc/ghc/wikis/building/cross-compiling
|
|
|
|
Once you get a working GHC for the target platform, install it
|
|
somewhere in your PATH, run "cd lang/ghc7; make clean; make bootstrap"
|
|
on the target platform and you'll have a bootkit for the target.
|
|
|
|
--
|
|
|
|
GHC in fact has never supported bootstrapping only with a C compiler.
|
|
Prior to GHC 7, it had a thing called "HC source", which was a set of
|
|
C source files compiled from Haskell source, but it wasn't actually
|
|
cross-platform. It was because HC files were generated with many
|
|
assumptions about the platform, such as the layout of libc structs,
|
|
the size of off_t and time_t, byte-order, word size, etc.
|