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