From b0354b6292b4b43a4743bb4b4432250d8bf64732 Mon Sep 17 00:00:00 2001 From: Adriano Date: Mon, 18 May 2020 17:44:15 +0200 Subject: [PATCH] added a reference to guile-hall in the manual --- doc/ref/scheme-using.texi | 65 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/doc/ref/scheme-using.texi b/doc/ref/scheme-using.texi index ac265fcca..e59616590 100644 --- a/doc/ref/scheme-using.texi +++ b/doc/ref/scheme-using.texi @@ -282,7 +282,7 @@ Run the optimizer on a piece of code and print the result. @deffn {REPL Command} disassemble exp Disassemble a compiled procedure. @end deffn - + @deffn {REPL Command} disassemble-file file Disassemble a file. @end deffn @@ -744,6 +744,69 @@ using a CPAN-like system. A complete list of guild scripts can be had by invoking @code{guild list}, or simply @code{guild}. +@menu +* guile-hall:: +@end menu + + +@node guile-hall +@subsection Bootstrapping projects and distributing them + +There's a tool that doesn't come bundled with Guile +and yet it can be very useful in the common experience of using Guile. + +It's @uref{https://gitlab.com/a-sassmannshausen/guile-hall, guile-hall} + +When you start a new project guile-hall creates a folder +containing a scaffold of your new project. + +In such scaffold the Autotools setup will be already instrumented, +you don't need to take care of it yourself. + +In this way you'll be able to call make to + +@itemize @bullet +@item +build your project +@item +run the unit tests +@item +create a distribution package (a .tar.gz file) +@end itemize + +This covers 2 different needs. + +On one side it assists you in working on your project +by allowing you to conveniently build it and run the unit tests +(with @code{make} and @code{make check}). + +On another side, when you're ready it will produce +a manufact that lends itself to be easily distributed +(with @code{make dist}). + +GNU/Linux distributions will be able to easily +distribute your project. + +But also people running a distribution that doesn't offer your project yet +will be able to build and run it, provided they are acquainted with the +usual process + +@example +./configure +make +make install +@end example + +Through this process, the configure script of your project will be able to +check, for example, if a certain Guile library is available or if Guile itself is available and +in which version. + +That's because under the hood guile-hall uses the Autoconf macros provided by Guile. + +@xref{Autoconf Macros} + +Also, in this way your project will be able to be conveniently installed on the destination system +in a way that makes it available to all the users of such system. @node Installing Site Packages @section Installing Site Packages -- 2.25.1