Mercurial > hg > octave-nkf
diff 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 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/HACKING @@ -0,0 +1,117 @@ +-*- outline -*- + +This file attempts to describe the rules to use when hacking Octave. +Don't put this file into the distribution. + +* Working from the repository + +These notes intend to help people working on the checked-out sources. +These requirements do not apply when building from a distribution +tarball. + +** Requirements + +We've opted to keep only the highest-level sources in the repository. +This eases our maintenance burden, (fewer merges etc.), but imposes +more requirements on anyone wishing to build from the just-checked-out +sources. For example, you have to use the latest stable versions of +the maintainer tools we depend upon, including: + + - Autoconf <http://www.gnu.org/software/autoconf/> + - Automake <http://www.gnu.org/software/automake/> + - Bison <http://www.gnu.org/software/bison/> + - Flex <http://www.gnu.org/software/flex/> + - Git <http://git-scm.com/> + - Gnulib <http://www.gnu.org/software/gnulib/> + - GNU Make <http://www.gnu.org/software/make/> + - Gzip <http://www.gnu.org/software/gzip/> + - Libtool <http://www.gnu.org/software/libtool/> + - Mercurial <http://mercurial.selenic.com/> + - Perl <http://www.cpan.org/> + - Rsync <http://samba.anu.edu.au/rsync/> + - Tar <http://www.gnu.org/software/tar/> + +Only building the initial full source tree will be a bit painful. +Later, after synchronizing from the repository a plain `make' should +be sufficient. + +** First checkout + +Obviously, if you are reading these notes, you did manage to check out +this package from the repository. For the record, you will find all the +relevant information on: + + http://savannah.gnu.org/hg/?group=octave + +After checking out Octave, you will need to run the autogen.sh +script: + + $ ./autogen.sh + +This script will examine the source tree and generate some Makefile +fragments and then runs the bootstrap script. The bootstrap script comes +from gnulib but is kept in the Octave source archive. It should be +updated from the gnulib source as necssary. The bootstrap script takes +care of checking out a copy of gnulib, running the autotools, and +generating the configure script. Once the autogen.sh and bootstrap +scripts complete successfully, you may run + + $ ./configure + $ make + $ make check + +At this point, there should be no difference between your local copy, +and the master copy: + + $ hg diff + +should output no difference. + +Additional information about coding style + +This file will eventually be extended to explain more about updating +Octave, preparing patches, and making releases. + +Enjoy! + +----- + +Copyright (C) 2009 John W. Eaton + +This file is part of Octave. + +Octave is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3 of the License, or (at +your option) any later version. + +Octave is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Octave; see the file COPYING. If not, see +<http://www.gnu.org/licenses/>. + + +This file was adapted for Octave from the HACKING file that is part of +GNU Bison, which contained the following Copyright notice: + + Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 + Free Software Foundation, Inc. + + This file is part of GNU Bison. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>.