Mercurial > hg > octave-nkf
comparison HACKING @ 9946:55061c7c8d6e
start using gnulib
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 09 Dec 2009 01:36:50 -0500 |
parents | |
children | a6308dcad5ac |
comparison
equal
deleted
inserted
replaced
9945:b4661b498a7e | 9946:55061c7c8d6e |
---|---|
1 -*- outline -*- | |
2 | |
3 This file attempts to describe the rules to use when hacking Octave. | |
4 Don't put this file into the distribution. | |
5 | |
6 * Working from the repository | |
7 | |
8 These notes intend to help people working on the checked-out sources. | |
9 These requirements do not apply when building from a distribution | |
10 tarball. | |
11 | |
12 ** Requirements | |
13 | |
14 We've opted to keep only the highest-level sources in the repository. | |
15 This eases our maintenance burden, (fewer merges etc.), but imposes | |
16 more requirements on anyone wishing to build from the just-checked-out | |
17 sources. For example, you have to use the latest stable versions of | |
18 the maintainer tools we depend upon, including: | |
19 | |
20 - Autoconf <http://www.gnu.org/software/autoconf/> | |
21 - Automake <http://www.gnu.org/software/automake/> | |
22 - Bison <http://www.gnu.org/software/bison/> | |
23 - Flex <http://www.gnu.org/software/flex/> | |
24 - Git <http://git-scm.com/> | |
25 - Gnulib <http://www.gnu.org/software/gnulib/> | |
26 - GNU Make <http://www.gnu.org/software/make/> | |
27 - Gzip <http://www.gnu.org/software/gzip/> | |
28 - Libtool <http://www.gnu.org/software/libtool/> | |
29 - Mercurial <http://mercurial.selenic.com/> | |
30 - Perl <http://www.cpan.org/> | |
31 - Rsync <http://samba.anu.edu.au/rsync/> | |
32 - Tar <http://www.gnu.org/software/tar/> | |
33 | |
34 Only building the initial full source tree will be a bit painful. | |
35 Later, after synchronizing from the repository a plain `make' should | |
36 be sufficient. | |
37 | |
38 ** First checkout | |
39 | |
40 Obviously, if you are reading these notes, you did manage to check out | |
41 this package from the repository. For the record, you will find all the | |
42 relevant information on: | |
43 | |
44 http://savannah.gnu.org/hg/?group=octave | |
45 | |
46 After checking out Octave, you will need to run the autogen.sh | |
47 script: | |
48 | |
49 $ ./autogen.sh | |
50 | |
51 This script will examine the source tree and generate some Makefile | |
52 fragments and then runs the bootstrap script. The bootstrap script comes | |
53 from gnulib but is kept in the Octave source archive. It should be | |
54 updated from the gnulib source as necssary. The bootstrap script takes | |
55 care of checking out a copy of gnulib, running the autotools, and | |
56 generating the configure script. Once the autogen.sh and bootstrap | |
57 scripts complete successfully, you may run | |
58 | |
59 $ ./configure | |
60 $ make | |
61 $ make check | |
62 | |
63 At this point, there should be no difference between your local copy, | |
64 and the master copy: | |
65 | |
66 $ hg diff | |
67 | |
68 should output no difference. | |
69 | |
70 Additional information about coding style | |
71 | |
72 This file will eventually be extended to explain more about updating | |
73 Octave, preparing patches, and making releases. | |
74 | |
75 Enjoy! | |
76 | |
77 ----- | |
78 | |
79 Copyright (C) 2009 John W. Eaton | |
80 | |
81 This file is part of Octave. | |
82 | |
83 Octave is free software; you can redistribute it and/or modify it | |
84 under the terms of the GNU General Public License as published by the | |
85 Free Software Foundation; either version 3 of the License, or (at | |
86 your option) any later version. | |
87 | |
88 Octave is distributed in the hope that it will be useful, but WITHOUT | |
89 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
90 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
91 for more details. | |
92 | |
93 You should have received a copy of the GNU General Public License | |
94 along with Octave; see the file COPYING. If not, see | |
95 <http://www.gnu.org/licenses/>. | |
96 | |
97 | |
98 This file was adapted for Octave from the HACKING file that is part of | |
99 GNU Bison, which contained the following Copyright notice: | |
100 | |
101 Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 | |
102 Free Software Foundation, Inc. | |
103 | |
104 This file is part of GNU Bison. | |
105 | |
106 This program is free software: you can redistribute it and/or modify | |
107 it under the terms of the GNU General Public License as published by | |
108 the Free Software Foundation, either version 3 of the License, or | |
109 (at your option) any later version. | |
110 | |
111 This program is distributed in the hope that it will be useful, | |
112 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
113 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
114 GNU General Public License for more details. | |
115 | |
116 You should have received a copy of the GNU General Public License | |
117 along with this program. If not, see <http://www.gnu.org/licenses/>. |