git subrepo pull --force deps/lightrec
[pcsx_rearmed.git] / deps / lightning / README-hacking
1 This README-hacking file describes the development environment.
2
3 Everything related to the development of GNU lightning is on Savannah:
4 https://savannah.gnu.org/projects/lightning/.
5
6
7 * Working from the Repository
8
9 ** Autotools
10
11 This distribution uses the latest stable versions of Automake, Autoconf.  If
12 you are getting the sources from git (or change configure.ac), you'll need
13 to have these tools installed to (re)build.  All
14 of these programs are available from ftp://ftp.gnu.org/gnu.
15
16 If you're using a GNU/Linux distribution, the easiest way to install these
17 packages depends on your system.  The following shell command should work
18 for Debian-based systems such as Ubuntu:
19
20     $ sudo apt-get install autoconf automake
21
22
23 ** Building
24
25 If you intend to do development work with lightning, it's useful to build
26 lightning with its disassembler feature enabled.  This optional feature
27 requires additional dependencies.  On Ubuntu, this command should work:
28
29     $ sudo apt-get install binutils-dev libiberty-dev zlib1g-dev
30
31 After getting the git sources, and installing the tools above, you can run
32
33     $ ./bootstrap
34     $ ./configure
35     $ make
36     $ make check
37
38 to do a fresh build.  At this point, there should be no difference between
39 your local copy, and the master copy:
40
41     $ git diff
42
43 should output no difference.
44
45 After that first time, running make should suffice.
46
47 To install lightning:
48
49     $ sudo make install
50
51 ** Gnulib
52
53 This distribution also uses Gnulib (https://www.gnu.org/software/gnulib) to
54 share common files, stored as a submodule in git.
55
56 ** Updating
57
58     $ git pull
59     $ git submodule update
60
61 ** Updating a submodule
62
63 To update a submodule, say gnulib, do as follows:
64
65 Get the most recent version of the master branch from git.
66
67     $ cd gnulib
68     $ git pull
69
70 Make sure GNU lightning can live with that version of gnulib.
71
72     $ cd ..
73     $ ./bootstrap
74     $ make distcheck
75
76 Register your changes.
77
78     $ git commit ...
79
80
81 ----
82
83
84 Copyright 2021 Free Software Foundation, Inc.
85
86 This file is part of GNU lightning.
87
88 GNU lightning is free software; you can redistribute it and/or modify
89 it under the terms of the GNU Lesser General Public License as
90 published by the Free Software Foundation; either version 3, or (at
91 your option) any later version.
92
93 GNU lightning is distributed in the hope that it will be useful, but
94 WITHOUT ANY WARRANTY; without even the implied warranty of
95 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
96 Lesser General Public License for more details.
97
98 You should have received a copy of the GNU Lesser General Public
99 License along with this program.  If not, see
100 <http://www.gnu.org/licenses/>.
101
102
103 Local Variables:
104 mode: outline
105 fill-column: 76
106 End: