2014-02-16 11:37:09 -06:00
This file contains guidelines for using GnuCash from a git repository.
2001-05-02 19:49:39 -05:00
They have been adapted from the guidelines for gnome-libs by
Miguel de Icaza who adapted them from guidelines written by
Owen Taylor.
2014-02-16 11:37:09 -06:00
+ In order to build GnuCash from git, you need to run the autogen.sh
2005-11-09 14:51:03 -06:00
command to generate a configure script:
2002-11-21 15:40:33 -06:00
2005-11-09 14:51:03 -06:00
./autogen.sh
2002-11-21 15:40:33 -06:00
2005-11-09 14:51:03 -06:00
After the ./configure script has been created, you need to run it
with all the usual options. See ./configure --help for a
reminder. For example:
./configure --enable-ofx --enable-opt-style-install --prefix=/opt/gnucash
2002-11-21 15:40:33 -06:00
If in doubt, you can run autogen.sh, run ./configure --help,
2005-11-06 07:18:07 -06:00
then re-run ./configure with your options.
2002-11-21 15:40:33 -06:00
2005-11-09 14:51:03 -06:00
(Note: Previously, autogen.sh automatically called configure as
well. This behaviour was dropped in favor of two separate calls
2014-02-16 11:37:09 -06:00
because autogen should be an additional step taken by only by
developers using git sources. Configure is a step taken by
everyone compiling the sources, be it from git or a tarball.)
2005-11-09 14:51:03 -06:00
2002-12-08 12:01:25 -06:00
+ Some versions of gettextize don't deal well with re-running themselves.
You will see this as an error like:
2014-02-16 11:37:09 -06:00
configure.ac:1141: error: `intl/Makefile' is already registered with
2002-12-08 12:01:25 -06:00
AC_CONFIG_FILES. autoconf/status.m4:844: AC_CONFIG_FILES is expanded
2014-02-16 11:37:09 -06:00
from... configure.ac:1141: the top level
2002-12-08 12:01:25 -06:00
autom4te: /usr/bin/m4 failed with exit status: 1
autoheader: /usr/bin/autom4te failed with exit status: 1
**Error**: autoheader failed.
2014-02-16 11:37:09 -06:00
If you see this error, it most likely means that you've made some
local changes to configure.ac or one or more Makefile.am. You can
reset changes on a file-by-file basis with git checkout, e.g.
git checkout configure.ac Makefile.am
2002-12-08 12:01:25 -06:00
2002-11-21 15:40:33 -06:00
When making changes to GnuCash and trying to commit to the repository:
2001-05-02 19:49:39 -05:00
+ Ask first. If your changes are major, or could possibly break existing
code, you should always ask. If your change is minor and you have
been working on gnucash for a while it is probably not necessary
to ask. But when in doubt, ask. Even if your change is correct,
somebody may know a better way to do things.
2005-12-27 13:14:07 -06:00
Since you want other people to review your code before it goes in,
you can submit your changes as a patch to gnucash-devel@gnucash.org.
2008-03-08 14:04:46 -06:00
See README for details.
2001-05-02 19:49:39 -05:00
2005-11-02 15:17:03 -06:00
If you are making changes to gnucash SVN, you should be subscribed
2005-12-27 13:14:07 -06:00
to gnucash-devel@gnucash.org and to gnucash-changes@gnucash.org.
2001-05-02 19:49:39 -05:00
(Subscription address: http://www.gnucash.org/en/lists.phtml)
gnucash-devel@gnucash.org is a good place to ask about intended
changes.
+ You must not break the build! Never check in changes that do not
2001-05-03 04:27:09 -05:00
compile, install or run. Just because your local tree compiles
doesn't mean you are done. The most common way to break the build
2014-02-16 11:37:09 -06:00
is to forget to add new files or directories to git. But it is easy
to fix this problem: Clone your local repo, but never make changes
in it. After you have committed a set of changes, cd to the clone,
run git pull, build and make distcheck. If that passes, it's safe
to push.
+ It's wise to do major work in a branch. That allows you to keep the rest of your repo up to date. It's also better to commit small changes often rather than to make a single large change. Run make check often so that you can quickly find errors.
2001-05-02 19:49:39 -05:00
2002-06-21 17:07:03 -05:00
+ When code is added from new developers, add them to AUTHORS and
to doc/sgml/C/xacc-about.sgml.
2001-05-02 19:49:39 -05:00
Dave Peticolas
2002-06-21 17:07:03 -05:00
June 21, 2002
2002-11-21 15:40:33 -06:00
Derek Atkins
November 21, 2002
2005-11-06 07:18:07 -06:00
Neil Williams
November 6th, 2005