[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 01/07: Add more detailed instructions into the HACKING f
From: |
Ludovic Courtès |
Subject: |
[Guile-commits] 01/07: Add more detailed instructions into the HACKING file. |
Date: |
Mon, 29 Jan 2024 08:47:39 -0500 (EST) |
civodul pushed a commit to branch main
in repository guile.
commit 0933791c49e7ede0f2d9bcf5e27acb573f7e04e7
Author: Tomas Volf <~@wolfsden.cz>
AuthorDate: Wed Jan 24 17:48:04 2024 +0100
Add more detailed instructions into the HACKING file.
Until now, the ./meta/guile was not mentioned anywhere, and therefore it
was not obvious how to run the locally compiled Guile without installing
it.
While modifying the file, I took the liberty to also mention a bit about
compiling Guile using Guix.
Finally, the header lines where cleaned up, ensuring all of them end at
70 and have a leading space.
* HACKING (Hacking It Yourself): Add Guix instructions. Add a note
about meta/guile script.
(Sample GDB Initialization File),
(Naming conventions): Clean up the header line.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
HACKING | 38 ++++++++++++++++++++++++++++++++++++--
1 file changed, 36 insertions(+), 2 deletions(-)
diff --git a/HACKING b/HACKING
index 387643bf7..94fba199c 100644
--- a/HACKING
+++ b/HACKING
@@ -26,6 +26,40 @@ http://www.gnu.org/software/guile/mail/mail.html for more
info.
Hacking It Yourself ==================================================
+You can spawn a shell with all the required dependencies using GNU Guix
+by running the following command:
+
+ guix shell -D -f guix.scm --pure
+
+In this way, you can effortlessly compile Guile from the Git checkout
+with just these three lines:
+
+ guix shell -CP -D -f guix.scm -- ./autogen.sh
+ guix shell -CP -D -f guix.scm -- ./configure \
+ --enable-mini-gmp --disable-static
+ guix shell -CP -D -f guix.scm -- make
+
+Disabling of the static libraries is optional, but it does speed up the
+builds, and you are unlikely to need them for local development.
+
+ Note: Currently JIT causes Guile to crash in obscure ways on GNU Hurd,
+ so on that platform you want to also pass the --disable-jit flag
+ to the configure script.
+
+ Note: On any i*86 architecture, you also need to pass in the compiler
+ flag -fexcess-precision=standard in order to get the test suite
+ to pass. That can be done by passing an additional argument to
+ the configure script:
+ CFLAGS='-g -O2 -fexcess-precision=standard'
+
+Once that finishes, you can execute your newly compiled Guile using the
+./meta/guile script:
+
+ $ guix shell -CP -D -f guix.scm -- ./meta/guile -v | head -n1
+ guile (GNU Guile) 3.0.9.139-d7cf5-dirty
+
+For more manual approach, read on.
+
When Guile is obtained from Git, a few extra steps must be taken
before the usual configure, make, make install. You will need to have
up-to-date versions of the tools as listed below, correctly installed.
@@ -73,7 +107,7 @@ Here is the authoritative list of tool/version/platform
tuples that
have been known to cause problems, and a short description of the problem.
-Sample GDB Initialization File=========================================
+Sample GDB Initialization File =======================================
In GDB, you probably want to load the gdbinit file included with Guile,
which defines a number of GDB helpers to inspect Scheme values.
@@ -215,7 +249,7 @@ The goal is to reduce (and over time, eliminate) spurious
diffs.
For Emacs users:
(add-hook 'before-save-hook 'delete-trailing-whitespace)
-Naming conventions =================================================
+Naming conventions ===================================================
We use certain naming conventions to structure the considerable number
of global identifiers. All identifiers should be either all lower
- [Guile-commits] branch main updated (49f24d2bf -> fb1f5e28b), Ludovic Courtès, 2024/01/29
- [Guile-commits] 06/07: Fix loading of custom-ports extension, Ludovic Courtès, 2024/01/29
- [Guile-commits] 02/07: ftw: Fix getuid-or-false, getgid-or-false macros., Ludovic Courtès, 2024/01/29
- [Guile-commits] 05/07: Ignore more generated files, Ludovic Courtès, 2024/01/29
- [Guile-commits] 03/07: Delete two config.rpath scripts, Ludovic Courtès, 2024/01/29
- [Guile-commits] 01/07: Add more detailed instructions into the HACKING file.,
Ludovic Courtès <=
- [Guile-commits] 07/07: Match on correct argument in make-custom-port, Ludovic Courtès, 2024/01/29
- [Guile-commits] 04/07: Deduplicate and sort .gitignore, Ludovic Courtès, 2024/01/29