9946
|
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/>. |