> Date: Fri, 3 Apr 2026 23:55:19 +0100
> From: Kevin Lyda <[email protected]>
> To: FPC-Pascal users discussions <[email protected]>
> Subject: [fpc-pascal] Cross-compiling
> Message-ID:
> <CADJ56BTpvnJKL0Og2iKCjCfpU2DgKc=nprx0ybg6dp2-bsq...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> tl;dr Is there a docker image(s) with an fpc compiler that supports a slew
> of platforms?
> 
> For April Fools Day this year I released a command.com shell for Unix[0].
> It included a version of the Turbo Pascal 3.0 "IDE" and it was released for
> a slew of platforms. This is rather easy to accomplish with the go tool -
> you just set some environment variables and it works.
> 
> I'm winding down my career and have a number of fun projects in mind. My
> goal this year was to release one written in Pascal - one that would be
> fun, but also hopefully useful. But I ran out of time so I did the simpler
> Go one. Now that I've slipped the release date a year I'd like to make sure
> I can release it just as polished as I did for the silly one I did this
> year. And part of that involves releasing for all the mainstream OS's:
> linux, freebsd, openbsd, netbsd, ilumos, aix and darwin.  And also all the
> mainstream architectures: riscv64, arm64, ppc, i386 and amd64. Now, fpc
> might not support all thes, but it likely supports many of them and I'd
> ideally like to build them all in one runner. I can install the forgejo
> runner on a slew of libvirt machines and configure them all, but that's a
> rather heavy solution.
> 
> I'm working on building an fpc cross compiler[2] for a number of
> architectures, but am I triodding well-trodden ground? Does something like
> this already exist? I can't find anything, but maybe I'm not looking in the
> right places. What I've built[3] supports:
> 
> fpc -Px86_64     -Tlinux
> fpc -Paarch64    -Tlinux
> fpc -Parm        -Tlinux
> fpc -Pi386       -Tlinux
> fpc -Ppowerpc64  -Tlinux
> fpc -Pmipsel     -Tlinux
> fpc -Px86_64     -Tfreebsd
> fpc -Px86_64     -Tnetbsd
> fpc -Px86_64     -Topenbsd
> 
> I think I'd need to do darwin on an actual Mac and not sure what other
> architectures are supported for the *BSDs.  It's a large container as it is.
> 
> As an aside, if there's someone out there wanting to collaborate on a TUI
> application that would have a filesystem focus, please reach out.  I'm not
> close to that part, but I might be later in the year and I've honestly
> never made one.  Alternatively, if folks could suggest good tview TUI
> applications to read, that would be great.
> 
> Thanks,
> 
> Kevin
> 
> [0]: https://codeberg.org/lyda/command-com/releases
> [1]:
> https://codeberg.org/lyda/command-com/src/branch/main/.forgejo/workflows/release.yml
> [2]: https://codeberg.org/lyda/fpc-docker
> [3]: https://codeberg.org/lyda/fpc-docker/packages
> 
> -- 
> Kevin Lyda
> Galway, Ireland

Slightly related: I maintain the package description for Freepascal for 
macports, a package manager for macOS. It also includes a couple of 
cross-compilers. I also did this with fink, a similar package manager, but 
stopped doing so in favor of macports.

You can find the macports package description file here:  
https://github.com/macports/macports-ports/blob/master/lang/fpc/Portfile

I do not really know docker, and you may not need cross compiling, But in case, 
have a look at this page about binutils and complete the table, if you figured 
out missing platforms: https://wiki.lazarus.freepascal.org/Binutils

Have fun - Michael.
_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to