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 git@gitlab.com: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
|