123 lines
4.4 KiB
Text
123 lines
4.4 KiB
Text
|
|
Hello, and welcome to the Ledger source code!
|
|
|
|
If you're reading this file, you have in your hands the Bleeding Edge. This
|
|
may very well *NOT* be what you want, since it's not guaranteed to be in a
|
|
functionally complete state. It's under active development, and may change in
|
|
any way at any time.
|
|
|
|
What you may prefer is the current stable release, or the current beta branch.
|
|
At this moment, you can get there by one of two commands:
|
|
|
|
BETA: git checkout -b v2.6.1b origin/v2.6.1b
|
|
|
|
The BETA is what I prefer people use, since I still have a chance to fix major
|
|
bugs that you find. Just e-mail me, or post to the mailing list, they'll
|
|
become a part of my work list.
|
|
|
|
RELEASE: git checkout v2.6.0.90
|
|
|
|
This is the same release code that you can download via tarball from the home
|
|
page. It has some serious issues dealing with date/time handling, but at
|
|
least its major flaws are mostly known by now.
|
|
|
|
You can jump over to the current active development at any time by using this
|
|
command:
|
|
|
|
DEVEL: git checkout master
|
|
|
|
There are also several topic branches which contain experimental features,
|
|
though none of these are guaranteed even to compile. Best to chat with me on
|
|
IRC or via the mailing list before going too much further with those.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
Now, if you wish to proceed in this venture, you'll need a few dependencies:
|
|
|
|
- GMP 4.2.2 -- for all builds
|
|
|
|
- PCRE 7.7 -- if you're building BETA or RELEASE
|
|
|
|
- Boost 1.35 -- if you're building DEVEL
|
|
- CppUnit 1.12.1 -- if you're building DEVEL
|
|
|
|
- Optionally, Python 2.4 or higher
|
|
- Optionally, libexpat or libxml2
|
|
- Optionally, libofx
|
|
|
|
* MacPorts
|
|
|
|
If you build stuff using MacPorts, as I do, here is what you would run:
|
|
|
|
sudo port install boost +complete+python25
|
|
sudo port install gmp pcre cppunit expat libofx
|
|
|
|
* Ubuntu
|
|
|
|
If you're going to be building with Ubuntu, "sudo apt-get install ..."
|
|
the following packages (correct as of Ubuntu Hardy):
|
|
|
|
build-essential libtool autoconf automake texinfo python-dev
|
|
zlib1g-dev libbz2-dev stow libgmp3-dev bjam libboost-dev
|
|
libboost-regex-dev libboost-date-time-dev libboost-filesystem-dev
|
|
|
|
|
|
* Using my Git mirrors
|
|
|
|
Finally, for the convenience of fellow developers on the master (DEVEL)
|
|
branch, you may download and build some of these dependencies quite easily.
|
|
Just run this command:
|
|
|
|
git submodule init
|
|
git submodule update
|
|
cd lib
|
|
make # it installs stuff into /usr/local/stow
|
|
|
|
You'll now have a few extra source installations in /usr/local/stow/,
|
|
most importantly Boost and CppUnit.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
The next step is preparing your environment for building. While you can just
|
|
use 'autoreconf -fi', I've prepared a script that does a lot of the footwork
|
|
for you:
|
|
|
|
./acprep
|
|
|
|
If you want to run with complete debugging on, as I do, use this:
|
|
|
|
./acprep --devel
|
|
|
|
Please read the contents of 'acprep' in this case, especially the section
|
|
which documents the --devel option.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
Once you have the dependencies installed and the source prepared for building,
|
|
just run 'make'. If you have CppUnit installed, I prefer that you always run
|
|
'make fullcheck', as this will verify Ledger against the unit tests, the
|
|
Python unit tests (if applicable), and the regression tests, for your
|
|
platform.
|
|
|
|
If you have extra CPU cycles to burn, try even 'make distcheck', which
|
|
provides the most thorough shakedown of a healthy source tree.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
Now that you're up and running, here are a few resources to keep in mind:
|
|
|
|
Home page http://www.newartisans.com/software/ledger.html
|
|
IRC channel #ledger on irc.freenode.net
|
|
Mailing List / Forum http://groups.google.com/group/ledger-cli
|
|
GitHub project page http://github.com/jwiegley/ledger/tree/master
|
|
Buildbot display http://www.newartisans.com:9090
|
|
Ohloh code analysis http://www.ohloh.net/projects/ledger
|
|
|
|
If you have coding ideas you want to share, the best way is either to e-mail
|
|
me a patch (I prefer ttachments over pasted text), or to get an account on
|
|
GitHub. Once you do, fork the Ledger project, hack as much as you like, then
|
|
send me a message via GitHub asking me to check out your repository. I'm only
|
|
too happy to do so for anyone who takes time out of their schedule to help the
|
|
Ledger project.
|
|
|
|
John
|