> 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
