head	1.1;
access;
symbols
	pkgsrc-2026Q1:1.1.0.34
	pkgsrc-2026Q1-base:1.1
	pkgsrc-2025Q4:1.1.0.32
	pkgsrc-2025Q4-base:1.1
	pkgsrc-2025Q3:1.1.0.30
	pkgsrc-2025Q3-base:1.1
	pkgsrc-2025Q2:1.1.0.28
	pkgsrc-2025Q2-base:1.1
	pkgsrc-2025Q1:1.1.0.26
	pkgsrc-2025Q1-base:1.1
	pkgsrc-2024Q4:1.1.0.24
	pkgsrc-2024Q4-base:1.1
	pkgsrc-2024Q3:1.1.0.22
	pkgsrc-2024Q3-base:1.1
	pkgsrc-2024Q2:1.1.0.20
	pkgsrc-2024Q2-base:1.1
	pkgsrc-2024Q1:1.1.0.18
	pkgsrc-2024Q1-base:1.1
	pkgsrc-2023Q4:1.1.0.16
	pkgsrc-2023Q4-base:1.1
	pkgsrc-2023Q3:1.1.0.14
	pkgsrc-2023Q3-base:1.1
	pkgsrc-2023Q2:1.1.0.12
	pkgsrc-2023Q2-base:1.1
	pkgsrc-2023Q1:1.1.0.10
	pkgsrc-2023Q1-base:1.1
	pkgsrc-2022Q4:1.1.0.8
	pkgsrc-2022Q4-base:1.1
	pkgsrc-2022Q3:1.1.0.6
	pkgsrc-2022Q3-base:1.1
	pkgsrc-2022Q2:1.1.0.4
	pkgsrc-2022Q2-base:1.1
	pkgsrc-2022Q1:1.1.0.2
	pkgsrc-2022Q1-base:1.1;
locks; strict;
comment	@# @;


1.1
date	2022.02.06.05.36.15;	author pho;	state Exp;
branches;
next	;
commitid	eO7cUAFs1pZscwrD;


desc
@@


1.1
log
@Import GHC 9.2.1

The compiler now has a native codegen on aarch64. LLVM backend is now
optional, and is disabled by default.

The full release note is too long to paste here. See:
https://downloads.haskell.org/~ghc/9.2.1/docs/html/users_guide/9.2.1-notes.html
@
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/ghc88; 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.
@
