-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathHACKING
95 lines (67 loc) · 2.62 KB
/
HACKING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
All you need to know when hacking (modifying) GNU clisp or when building
it off the git repository.
Requirements
============
You will need reasonably recent versions of the build tools:
* A C compiler; for the 'debug_gcsafety' build also a C++ compiler.
Such as GNU GCC.
+ Homepage:
http://gcc.gnu.org/
* GNU automake
+ Homepage:
http://www.gnu.org/software/automake/
* GNU autoconf
+ Homepage:
http://www.gnu.org/software/autoconf/
* GNU m4
+ Homepage:
http://www.gnu.org/software/m4/
* Either an internet connection or a recent copy of GNU gnulib.
+ Homepage:
http://www.gnu.org/software/gnulib/
* GNU tar (for creating distributable tarballs)
+ Homepage:
http://www.gnu.org/software/tar/
* GNU Wget
+ Homepage:
https://www.gnu.org/software/wget/
And, of course, the packages listed in the DEPENDENCIES file.
Building off the git repository
===============================
Checkout for users of GNU clisp
-------------------------------
If you don't intend to contribute to GNU clisp, only to grab the source and
build it, start with
$ git clone https://gitlab.com/gnu-clisp/clisp.git
Checkout for contributors of GNU clisp
--------------------------------------
If you intend to contribute to GNU clisp, you need to (once)
1. create a user account on gitlab.com,
2. upload an SSH key of yours (see <https://gitlab.com/help/ssh/README>).
Then start with
$ git clone [email protected]:gnu-clisp/clisp.git
I also recommend
$ git config user.name ...
$ git config user.email ...
(see <https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup>)
and, since we don't want merge commits on the 'master' branch:
$ git config pull.rebase true
For rebasing the ChangeLog file automatically, I invite you to install
git-merge-changelog
<http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/git-merge-changelog.c>
and configure it by adding lines such as these to clisp/.git/config:
[merge "merge-changelog"]
name = GNU-style ChangeLog merge driver
driver = /home/me/bin/git-merge-changelog %O %A %B
After the checkout
------------------
The repository contains a pre-built 'configure' script, therefore
you can proceed with the usual "./configure" immediately.
Submitting patches
==================
Patches should be submitted at https://sourceforge.net/p/clisp/patches/ .
To produce a sequence of patch files, you can use a shell command like
$ git format-patch -3
For the style of a ChangeLog entry, see the "Change Logs" section of
the GNU coding standards:
http://www.gnu.org/prep/standards/html_node/Change-Logs.html