#1052557 fpc: Compiler bootstrap for more release architectures

#1052557#5
Date:
2023-09-24 17:38:49 UTC
From:
To:
According to the upstream platform documentation, fpc should be able to run on mips64el and riscv64.
I see that the buildd network does not build them because the package build depends on one of its own binary packages.
How is the bootstrap done and is it planned?

#1052557#10
Date:
2023-09-24 17:59:41 UTC
From:
To:
Hi,

I recall that bug 551400 and/or 784569 give quite some insight in what
needs to be done.

I don't have any plans of bootstrapping fpc ever again. If anything, I'd
like to see the glibc 'arch' of fpc actually working, then we could
support all Debian architectures *and* cross building would probably be
easier. But it all has been a while.

Paul

#1052557#15
Date:
2023-11-14 03:24:35 UTC
From:
To:
Hi!

I would like to add riscv64 and mips64el support for fpc here.

But there are some unknown field for me about glibc to support cross
build on fpc. Could you share some links where I should to start?

Just follow this one?
https://wiki.lazarus.freepascal.org/Cross_compiling


BR,
Bo

#1052557#20
Date:
2023-12-18 22:07:06 UTC
From:
To:
I also would like to add mips64el, and why not riscv64, but maybe we need to
wait for a new release (that was planned for last year already).
Let me check this after new Lazarus 3.0 is packaged.

#1052557#25
Date:
2023-12-30 10:17:31 UTC
From:
To:
I've checked support of both architecture by FPC and it seems they are only
supported in non released development branch.*
As Debian is shipping 3.2.2, there is no support for any of these architectures
there.
So we will need to wait until new FPC major release is out.

#1052557#30
Date:
2023-12-31 16:07:35 UTC
From:
To:
Hi,

Not claiming we should do that now, but in the past we supported arm64
in Debian well before we had an fpc version from upstream that supported it.

Paul

#1052557#35
Date:
2024-01-01 11:17:23 UTC
From:
To:
If someone is going to send patches for that, I'll help a bit, but for now my
first goal is to get GTK3 working for Lazarus and that is already taking all my
time.

#1052557#40
Date:
2025-03-24 07:41:09 UTC
From:
To:
Hi,

I have already bootstrapped fpc for multiple architectures in the past
and I would be happy to help with bringing fpc up on additional targets.

Since loong64 and riscv64 will only be available with the next upcoming
release, I would suggest packaging a git snapshot for experimental, so
that we can start with the bootstrap process.

I have documented the bootstrap process on the Debian Wiki [1] and it's
actually not that complicated, I have bootstrapped compilers such as
GHC or OpenJDK which are more difficult to bootstrap.

Thanks,
Adrian

#1052557#45
Date:
2025-03-25 14:56:31 UTC
From:
To:
Hi,

In the mean time, I have now bootstrapped fpc for both loong64 and riscv64.

See [1].

I have also updated the guide in [2] and fixed some typos and mistakes.

Adrian

#1052557#50
Date:
2025-03-27 09:53:49 UTC
From:
To:
Hi  John,

On Tue, Mar 25, 2025 at 10:56 PM John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote:

Thanks for your great work on it! Yeah, I am wondering how to
integrate into new architectures and I have noticed you have opened
this[0], I will learn this process continues and to see how I can help
here.

[0]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101421

BR,
Bo