* Ludovic Courtès <l...@gnu.org> [2021-03-02 09:23:33 +0100]: > Hi Andrew, > > Andrew Burgess <andrew.burg...@embecosm.com> skribis: > > > My concerns are based on this page of the guile manual: > > > > > > https://www.gnu.org/software/guile/manual/html_node/Compilation.html#Compilation > > > > specifically this: > > > > "... Guile does not yet do proper dependency tracking, so that if > > file a.scm uses macros from b.scm, and b.scm changes, a.scm would > > not be automatically recompiled." > > Yes. Concretely, that means you can either use Makefiles or similar > (like with most other languages) or turn off auto-compilation (with > ‘--no-auto-compile’ or with ‘GUILE_AUTO_COMPILE=0’). > > > So, my current thinking is to wrap the invocation of the guile script > > in a shell script, which _always_ forces recompilation. But, if I'm > > doing that, I may as well just disable compilation completely. But > > this doesn't seem right. > > > > So, I'm sure I must be missing something here. How do others deal > > with this situation? > > Common practice is to have makefiles or similar as part of your > software. When you run “make”, it runs ‘guild compile’ to compile all > your Scheme source; upon “make install”, both .scm and .go files are > installed. > > Here’s an example that does that using the GNU autotools: > > https://notabug.org/cwebber/guile-gcrypt > > For a pure Guile project, Guile Hall helps get started: > > https://gitlab.com/a-sassmannshausen/guile-hall >
Many thanks. I knew I must be missing something. It never occurred to me that I should be pre-compiling the project. I'll investigate the two solutions you've proposed. Thanks again, Andrew