mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
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>
This commit is contained in:
parent
49f24d2bf5
commit
0933791c49
1 changed files with 36 additions and 2 deletions
38
HACKING
38
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue