I've not bothered to write an explanation for --disable-crypt because it
will likely be the default of Glibc-2.38, then we may drop it from the
command lines.
It does not make too much sense to list GNAT but not GDC. They are for
same purpose (building optional languages with bootstrap from binary
requirement).
There are many packages using pkg-config (pkgconf actually) or systemd
(systemd revision only) in the configure stage but we've not documented
them yet.
- D-Bus uses pkgconf to detect systemd.
- E2fsprogs uses pkgconf to detect libblkid (in util-linux).
eudev (in sysv revision) and systemd (in systemd revision).
- IProute2 uses pkgconf to detect libcap and libelf.
- Man-DB uses pkgconf to detect libpipeline and systemd.
- Procps-ng uses pkgconf to detect ncurses and systemd (or elogind,
but it's an external dependency).
- Python uses pkgconf to detect libuuid (in util-linux from Ch 07),
zlib, bzip2, xz, and openssl (and some external dependencies).
- Systemd uses pkgconf to detect Zlib, Xz, etc.
- Util-linux uses ncurses and systemd (and some external dependencies)
Add all of them.
There are also several packages finding for pkg-config but only uses it
for external dependencies, for eg grep and vim. I've not added them here.
Without this, the package FTBFS. It wasn't detected in my manual build
because of my custom CFLAGS.
Need to investigate it later: it may be a systemd bug or GCC bug on
LoongArch.
Patching GRUB-2.06 to support LoongArch is extremely difficult because
the "bootstrap" script in grub.git performs many complicated jobs. So
just provide our own dist tarball here.
The guess is "linux-generic32", which is too conservative for 64-bit
LoongArch CPUs. We may need to revise it when we add LA32 support.
There is also "linux64-loongarch64" but it depends on Binutils LSX
support which is not submitted for review yet.
Binutils 2.38 is the first release supporting LoongArch. Maybe we
should make it 2.40 (when the stupid "stack-based relocs" are gone) but
with our cross-compile method it should not make a significant
difference.
GCC 12.1 is the first release supporting LoongArch but it suffers a
severe bug [1] and it may miscompile GCC pass 1, so require 12.2 here.
[1]:https://gcc.gnu.org/PR106096