On Fri, Sep 5, 2025 at 6:22 PM Tomas Volf <~@wolfsden.cz> wrote: > > Hello, > > Nikolaos Chatzikonstantinou <nchatz...@gmail.com> writes: > > > Hello list, > > > > I am trying to "fix" the support of GNU Guile in Autotools. Guile > > ships its guile/meta/guile.m4 macros, that among other things, set > > GUILE_SITE to /usr/share/guile/site/3.0/ (on Debian 12) or similar. > > > > Since automake does not understand bin_PROGRAMS, etc, for Guile, > > programmers are forced to use _DATA to ship scheme files: > > > > foo_DATA = foo.scm > > foodir = $(GUILE_SITE)/foo > > I do not think this is necessary. Short snippet extracted from my > "blueprint" repository for GNU Guile projects: > > moddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION) > ccachedir = $(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
That's an almost perfect solution. It did not occur to me to use only the effective version and manually write down the guile/site part relative to datadir (I was mainly thinking along the lines of hacking the guile.m4 macros or autoconf/automake itself). It's a bit annoying that the ccache dir is guile/3.0/site-ccache while the datadir is guile/site/3.0. I don't understand why, it might just be a mistake. I wish there were variables that included this part so that one can simply do $(GUILE_DATA), $(GUILE_CCACHE) or so. > It seems to me that everything works fine (tested on GNU Guix and on > macOS). Maybe I am just missing some edge-case or something > Debian-specific? No, it works great. I will move the rest of this to the Guile list. I do not understand why Guile provides GUILE_SITE, since it cannot be effectively used, it's a hardcoded path (breaks distcheck, etc). >From the Guile ML I hope for the following to be discussed: 1) Do we want macros in guile.m4 that provide the entire GUILE_DATA, GUILE_CCACHE and so on directories? Or will the present guile.m4 suffice? 2) Whichever answer in 1), the manual should be rewritten to show better examples. I can provide both the guile.m4 hacking and the additions (examples, etc) to the manual. Regards, Nikolaos Chatzikonstantinou