Re: Porting ECL to a new platform

Daniel KochmaƄski <[email protected]> Wed, 17 Sep 2025 20:42:46 +0000
Newsgroups gmane.lisp.ecl.general
Message-ID <LS5c9BOfPwDq7SXuKb9PfW8Ppsyn-Ntr_6_WKpmfr_BJJNRXsRPfSBAFnrPjigBc58hrXZWs0yx8SYYkdgUmif9jttBfdDv6tmtIpDogceI=@turtleware.eu>
Hello David,

there isn't such guide. I'm refactoring some low-level blocks in ECL in a b=
ranch nucleus and already merged a few things from there, but it requires m=
ore work before it will make porting easier.

As things stand currently, the main hurdle when you port ECL to a new platf=
orm is porting Boehm GC (libgc) if that platform is not yet supported. Then=
 you may encounter some nuisances with GMP, although it has an option to us=
e portable C and that in my experience works fairly well even for platforms=
 that were not tested by GMP devs.

Given that both bdwgc and gmp compile fine for your embedded platform, then=
 you should add a stub for your platform in aclocal.m4. There you can tweak=
 build flags for it. After tweaking it run autoreconf -ivf to regenerate co=
nfigure file. ECL also relies on libc.

Recently Marius Gerbershagen landed support for cross compiling ECL from di=
fferent architectures, so that should prove useful. That said I'd first try=
 to cross-compile ecl_min as it is low-level runtime for ECL -- if it build=
s then the rest should go rather smoothly.

Missing features in the embedded's platform libc should be detected by the =
configure script. Generally I'd go over issues mentioned by the C compiler =
and fix them one by one as they come up.

I hope that it helps,
Daniel



--
Daniel Kochma=C5=84ski ;; aka jackdaniel | Przemy=C5=9Bl, Poland
TurtleWare - Daniel Kochma=C5=84ski=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | www.tur=
tleware.eu

"Be the change that you wish to see in the world." - Mahatma Gandhi



On Wednesday, September 17th, 2025 at 9:46 PM, [email protected] <dave@syner=
gy.org> wrote:

> Hello,
> Is there a document that discusses how to port ECL to a new
> platform? I am targeting a non-POSIX ANSI C embedded platform. I am looki=
ng
> for guidance on how to approach the work.
> Thanks,
> David