Hi Nikolaos, Nikolaos Chatzikonstantinou <nchatz...@gmail.com> writes:
> On Thu, Sep 11, 2025 at 8:55 PM Maxim Cournoyer <ma...@guixotic.coop> wrote: >> Nikolaos Chatzikonstantinou <nchatz...@gmail.com> writes: >> > I've compiled a list of Guile skeleton projects with Autotools >> > (autoconf, automake) here: >> > <https://codeberg.org/annoyingusername/guile-project-skeletons-autotools>. >> > Hopefully this will be useful to others. I tried to cover all the >> > cases that I could come up with. >> >> Are you aware of Hall [0]? It aims to automate the creation of an >> Autotools-based >> build system for Guile projects. >> >> I've used it too bootstrap the build system of this small piece of >> software for example: https://gitlab.com/apteryks/x-resize >> >> [0] https://gitlab.com/a-sassmannshausen/guile-hall > > Hall does not work with some of the cases that my examples deal with, > namely Guile programs with C extensions or C programs with embedded > Guile. Furthermore, Hall achieves the opposite of the intended effect, > which was to make it easier for people to come into the language: the > moment you stray away from the indicated path, you are forever lost. > Ultimately, it is a bad idea to layer on top of Autotools because > you're bound to reinvent its complexity. It's true it won't work for every project (even the x-resize one above I needed to add some fragment of autoconf in there manually I think), but even for these more complex projects, it gives you a reasonable Autoconf/Automake base to build on top, instead of having to come up with everything from scratch. I think this is still valuable. > Generally, the build system aspect of Guile is somewhat ignored. See > e.g. <https://lists.gnu.org/archive/html/guile-devel/2018-12/msg00002.html> > from 2018 mentioned in Hall's source code > <https://gitlab.com/a-sassmannshausen/guile-hall/-/blob/master/hall/workarounds.scm#L41-43>. > There needs to be more work to fix Guile's documentation to ensure > that others can find both the examples and the good practices (at > least one set of advice that is functional) of using Guile. I do want > to undertake it; I am hoping to at least grab the attention of people > to discuss its aspects before I spend time on it. More documentation would be useful, of course. I think people might have adapted Meson to build Guile projects too, though I don't have an example. -- Thanks, Maxim