Merge branch 'next'

This commit is contained in:
John Wiegley 2009-11-25 00:05:22 -05:00
commit 98ea23cd59
15 changed files with 161 additions and 157 deletions

143
acprep
View file

@ -188,7 +188,7 @@ class PrepareBuild(CommandLineApp):
self.sys_library_dirs = []
self.CPPFLAGS = []
self.CCFLAGS = []
self.CFLAGS = []
self.CXXFLAGS = []
self.LDFLAGS = []
@ -200,7 +200,7 @@ class PrepareBuild(CommandLineApp):
'LEDGER_PRODUCTS': None,
'CC': 'gcc',
'CPPFLAGS': '',
'CCFLAGS': '',
'CFLAGS': '',
'CXX': 'g++',
'CXXFLAGS': '',
'LD': 'g++',
@ -554,7 +554,7 @@ class PrepareBuild(CommandLineApp):
'automake',
'autoconf',
'libtool',
'python26',
'python26', '+universal',
'libiconv', '+universal',
'zlib', '+universal',
'gmp' ,'+universal',
@ -564,8 +564,8 @@ class PrepareBuild(CommandLineApp):
'gettext' ,'+universal',
'libedit' ,'+universal',
'boost-jam',
'boost', '+st+python26+icu',
'cppunit',
'boost', '+icu+python26+st+universal',
'cppunit', '+universal',
#'texlive',
#'doxygen',
#'graphviz',
@ -605,7 +605,7 @@ class PrepareBuild(CommandLineApp):
'libboost1.40-dev',
'libboost-regex1.40-dev',
'libboost-date-time1.40-dev',
'libboost-filesystem1.40-dev'
'libboost-filesystem1.40-dev',
'libboost-python1.40-dev',
'libedit-dev',
'libcppunit-dev',
@ -636,7 +636,7 @@ class PrepareBuild(CommandLineApp):
'libboost-python1.35-dev',
'libboost-regex1.35-dev',
'libboost-date-time1.35-dev',
'libboost-filesystem1.35-dev'
'libboost-filesystem1.35-dev',
'libedit-dev',
'libcppunit-dev',
#'texlive-full',
@ -654,16 +654,29 @@ class PrepareBuild(CommandLineApp):
if release.readline().startswith('CentOS'):
self.log.info('Looks like you are using YUM on CentOS')
packages = [
'sudo', 'yum', 'install', 'gcc', 'gcc-c++',
'compat-gcc-*', 'make', 'libtool', 'autoconf',
'automake', 'zlib-devel', 'bzip2-devel',
'python-devel', 'bboost-devel',
'gmp-devel', 'gettext-devel',
#'mpfr-devel'
'libedit-devel', 'cppunit-devel',
#'texlive-full',
#'doxygen', 'graphviz', 'texinfo',
#'lcov', 'sloccount'
'sudo', 'yum', 'install',
'gcc',
'gcc-c++',
'compat-gcc-*',
'make',
'libtool',
'autoconf',
'automake',
'zlib-devel',
'bzip2-devel',
'python-devel',
'bboost-devel',
'gmp-devel',
'gettext-devel',
#'mpfr-devel'
'libedit-devel',
'cppunit-devel',
#'texlive-full',
#'doxygen',
#'graphviz',
'texinfo',
#'lcov',
#'sloccount'
]
self.log.info('Executing: ' + string.join(packages, ' '))
self.execute(*packages)
@ -676,15 +689,15 @@ class PrepareBuild(CommandLineApp):
environ, conf_args = self.configure_environment()
boost = 'boost_1_40_0'
tarball = boost + '.tar.bz2'
boost = 'boost_1_41_0'
tarball = boost + '.7z'
if not exists(boost):
if not exists(tarball):
self.log.info('Downloading Boost source tarball ...')
self.execute('curl', '-L', '-o', tarball,
'http://downloads.sourceforge.net/boost/' +
boost + '.tar.bz2?use_mirror=ufpr')
boost + '.7z?use_mirror=ufpr')
if not exists(tarball):
self.log.error('Failed to locate the Boost source tarball')
@ -699,12 +712,12 @@ class PrepareBuild(CommandLineApp):
fd.close()
digest = csum.hexdigest()
if digest != 'a17281fd88c48e0d866e1a12deecbcc0':
if digest != 'b74ee2f0f46cef601544dd4ac2d7dec4':
self.log.error('Boost source tarball fails to match checksum')
sys.exit(1)
self.log.info('Extracting Boost source tarball ...')
self.execute('tar', 'xjf', tarball)
self.execute('7za', 'x', tarball)
if not exists(boost):
self.log.error('Failed to locate the Boost sources')
@ -804,7 +817,7 @@ class PrepareBuild(CommandLineApp):
self.sys_library_dirs.append(path)
def setup_for_johnw(self):
if self.current_flavor != 'opt':
if self.current_flavor == 'debug' or self.current_flavor == 'gcov':
if exists('/usr/local/stow/cppunit/include'):
self.sys_include_dirs.insert(0, '/usr/local/stow/cppunit/include')
self.sys_library_dirs.insert(0, '/usr/local/stow/cppunit/lib')
@ -814,13 +827,13 @@ class PrepareBuild(CommandLineApp):
self.sys_library_dirs.insert(0, '/usr/local/stow/icu/lib')
self.CPPFLAGS.append('-D_GLIBCXX_FULLY_DYNAMIC_STRING=1')
self.configure_args.append('--disable-shared')
self.options.use_glibcxx_debug = True
else:
self.CXXFLAGS.append('-march=nocona')
self.CXXFLAGS.append('-msse3')
self.CXXFLAGS.append('-march=nocona')
self.CXXFLAGS.append('-msse3')
self.configure_args.append('--disable-shared')
self.configure_args.append('--enable-doxygen')
self.configure_args.append('--enable-python')
@ -853,7 +866,8 @@ class PrepareBuild(CommandLineApp):
self.locate_darwin_libraries()
if self.current_flavor == 'opt' and \
if (self.current_flavor == 'opt' or \
self.current_flavor == 'default') and \
exists('/usr/bin/g++-4.2'):
self.envvars['CC'] = '/usr/bin/gcc-4.2'
self.envvars['CXX'] = '/usr/bin/g++-4.2'
@ -912,7 +926,7 @@ class PrepareBuild(CommandLineApp):
def finalize_config(self):
self.setup_flavor()
for var in ('CPPFLAGS', 'CCFLAGS', 'CXXFLAGS', 'LDFLAGS'):
for var in ('CPPFLAGS', 'CFLAGS', 'CXXFLAGS', 'LDFLAGS'):
value = self.__dict__[var]
if value:
first = not self.envvars[var]
@ -1031,39 +1045,23 @@ class PrepareBuild(CommandLineApp):
#########################################################################
def locate_darwin_libraries(self):
if self.current_flavor != 'opt':
if self.current_flavor == 'debug' or self.current_flavor == 'gcov':
self.log.debug('We are using GLIBCXX_DEBUG, so setting up flags')
if self.options.use_glibcxx_debug:
self.CPPFLAGS.append('-D_GLIBCXX_DEBUG=1')
if exists('/usr/local/stow/cppunit-debug/include'):
if '/usr/local/stow/cppunit/include' in self.sys_include_dirs:
self.sys_include_dirs.remove('/usr/local/stow/cppunit/include')
self.sys_library_dirs.remove('/usr/local/stow/cppunit/lib')
self.sys_include_dirs.insert(0, '/usr/local/stow/cppunit-debug/include')
self.sys_library_dirs.insert(0, '/usr/local/stow/cppunit-debug/lib')
if exists('/usr/local/stow/icu-debug/include'):
if '/usr/local/stow/icu/include' in self.sys_include_dirs:
self.sys_include_dirs.remove('/usr/local/stow/icu/include')
self.sys_library_dirs.remove('/usr/local/stow/icu/lib')
self.sys_include_dirs.insert(0, '/usr/local/stow/icu-debug/include')
self.sys_library_dirs.insert(0, '/usr/local/stow/icu-debug/lib')
if exists('/usr/local/lib/libboost_regex-xgcc44-sd-1_40.a'):
if exists('/usr/local/lib/libboost_regex-xgcc44-sd-1_41.a'):
self.envvars['BOOST_HOME'] = '/usr/local'
self.envvars['BOOST_SUFFIX'] = '-xgcc44-sd-1_40'
self.sys_include_dirs.append('/usr/local/include/boost-1_40')
self.envvars['BOOST_SUFFIX'] = '-xgcc44-sd-1_41'
self.sys_include_dirs.append('/usr/local/include/boost-1_41')
self.inform_boost_location('is really located',
self.envvars['BOOST_SUFFIX'])
elif exists('/usr/local/lib/libboost_regex-xgcc44-d-1_40.a'):
elif exists('/usr/local/lib/libboost_regex-xgcc44-d-1_41.a'):
self.envvars['BOOST_HOME'] = '/usr/local'
self.envvars['BOOST_SUFFIX'] = '-xgcc44-d-1_40'
self.sys_include_dirs.append('/usr/local/include/boost-1_40')
self.envvars['BOOST_SUFFIX'] = '-xgcc44-d-1_41'
self.sys_include_dirs.append('/usr/local/include/boost-1_41')
self.inform_boost_location('is really located',
self.envvars['BOOST_SUFFIX'])
@ -1082,17 +1080,17 @@ class PrepareBuild(CommandLineApp):
self.inform_boost_location('is really located',
self.envvars['BOOST_SUFFIX'])
elif exists('/usr/local/lib/libboost_regex-xgcc44-s-1_40.a'):
elif exists('/usr/local/lib/libboost_regex-xgcc44-s-1_41.a'):
self.envvars['BOOST_HOME'] = '/usr/local'
self.envvars['BOOST_SUFFIX'] = '-xgcc44-s-1_40'
self.sys_include_dirs.append('/usr/local/include/boost-1_40')
self.envvars['BOOST_SUFFIX'] = '-xgcc44-s-1_41'
self.sys_include_dirs.append('/usr/local/include/boost-1_41')
self.inform_boost_location('is really located',
self.envvars['BOOST_SUFFIX'])
elif exists('/usr/local/lib/libboost_regex-xgcc44-1_40.a'):
elif exists('/usr/local/lib/libboost_regex-xgcc44-1_41.a'):
self.envvars['BOOST_HOME'] = '/usr/local'
self.envvars['BOOST_SUFFIX'] = '-xgcc44-1_40'
self.sys_include_dirs.append('/usr/local/include/boost-1_40')
self.envvars['BOOST_SUFFIX'] = '-xgcc44-1_41'
self.sys_include_dirs.append('/usr/local/include/boost-1_41')
self.inform_boost_location('is really located',
self.envvars['BOOST_SUFFIX'])
@ -1107,13 +1105,23 @@ class PrepareBuild(CommandLineApp):
def setup_flavor_opt(self):
if self.darwin_gcc:
self.CXXFLAGS.append('-fast')
self.LDFLAGS.append('-fast')
self.option_no_pch()
if '--disable-shared' in self.configure_args:
self.configure_args.remove('--disable-shared')
self.configure_args.append('--disable-dependency-tracking')
for i in ['-fast']:
self.CXXFLAGS.append(i)
self.CFLAGS.append(i)
self.LDFLAGS.append(i)
for i in ['-arch', 'i386', '-arch', 'x86_64']:
self.CXXFLAGS.append(i)
self.CFLAGS.append(i)
self.LDFLAGS.append(i)
else:
self.CXXFLAGS.append('-O3')
self.LDFLAGS.append('-O3')
self.CXXFLAGS.append('-fomit-frame-pointer')
self.LDFLAGS.append('-fomit-frame-pointer')
for i in ['-O3', '-fomit-frame-pointer']:
self.CXXFLAGS.append(i)
self.CFLAGS.append(i)
self.LDFLAGS.append(i)
def setup_flavor_gcov(self):
self.CXXFLAGS.append('-g')
@ -1180,7 +1188,7 @@ class PrepareBuild(CommandLineApp):
conf_args = ['sh', join(self.source_dir, 'configure'),
'--srcdir', self.source_dir]
for var in ('CC', 'CPPFLAGS', 'CCFLAGS', 'CXX', 'CXXFLAGS',
for var in ('CC', 'CPPFLAGS', 'CFLAGS', 'CXX', 'CXXFLAGS',
'LD', 'LDFLAGS'):
if self.envvars.has_key(var) and self.envvars[var] and \
(var.endswith('FLAGS') or exists(self.envvars[var])):
@ -1237,6 +1245,11 @@ class PrepareBuild(CommandLineApp):
if not self.options.no_patch:
self.phase_patch()
# Wipe the pre-compiled header, if there is one
pch = join(self.build_directory(), 'system.hh.gch')
if exists(pch):
os.remove(pch)
else:
if not self.options.no_patch and \
self.isnewer('Makefile', '.timestamp'):

View file

@ -2,96 +2,58 @@
# This is only important if you intend to produce a Ledger binary for
# installation.
STOW_ROOT = /usr/local/stow
PRODUCTS = $(HOME)/Products
STOW_ROOT = /usr/local/stow
PRODUCTS = $(HOME)/Products
EXTRA_DEFINES = -D_GLIBCXX_FULLY_DYNAMIC_STRING=1
CC = gcc-mp-4.4
CXX = g++-mp-4.4
LD = gcc-mp-4.4
CPPFLAGS = -D_GLIBCXX_DEBUG=1 -D_GLIBCXX_FULLY_DYNAMIC_STRING=1
CFLAGS = $(CPPFLAGS) -g
LDFLAGS = -g
BOOST_SOURCE = boost
BOOST_VERSION = 1_40_0
BOOST_VERSION = 1_41_0
BOOST_SOURCE = boost_$(BOOST_VERSION)
BOOST_TOOLSET = darwin
BOOST_DEFINES = define=_GLIBCXX_FULLY_DYNAMIC_STRING=1
BOOST_DEFINES = define=_GLIBCXX_DEBUG=1 define=_GLIBCXX_FULLY_DYNAMIC_STRING=1
#BOOST_FLAGS = --architecture=x86 --address_model=32_64
BOOST_FLAGS = --toolset=$(BOOST_TOOLSET) \
--build-type=complete --layout=versioned \
$(BOOST_DEFINES)
ICU_FLAGS = -sHAVE_ICU=1 -sICU_PATH=$(STOW_ROOT)/icu
ICU_DBG_FLAGS = -sHAVE_ICU=1 -sICU_PATH=$(STOW_ROOT)/icu-debug
ICU_FLAGS = -sHAVE_ICU=1 -sICU_PATH=$(STOW_ROOT)/icu
icu-release:
-(cd icu/source; make distclean)
(cd icu/source; sh autogen.sh; \
./configure CPPFLAGS="$(EXTRA_DEFINES)" \
CFLAGS="$(EXTRA_DEFINES) $(ARCH_CFLAGS)" \
LDFLAGS="$(ARCH_LDFLAGS)" \
CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \
--enable-static \
--prefix=$(STOW_ROOT)/icu && \
make install)
all: boost-build cppunit-build icu-build boost-icu-build
icu-debug:
-(cd icu/source; make distclean)
(cd icu/source; sh autogen.sh; \
./configure CPPFLAGS="-D_GLIBCXX_DEBUG=1 $(EXTRA_DEFINES)" \
CFLAGS="-g $(EXTRA_DEFINES) $(ARCH_CFLAGS)" \
LDFLAGS="-g $(ARCH_LDFLAGS)" \
CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \
--enable-static --enable-debug \
--prefix=$(STOW_ROOT)/icu-debug && \
make install)
icu-build: icu-release icu-debug
boost-icu-release:
(cd $(BOOST_SOURCE) && \
bjam release --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION)-icu \
--build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION)-icu \
$(BOOST_FLAGS) $(ICU_FLAGS) install)
boost-icu-debug:
(cd $(BOOST_SOURCE) && \
bjam debug --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION)-icu \
--build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION)-icu \
$(BOOST_FLAGS) define=_GLIBCXX_DEBUG=1 \
$(ICU_DBG_FLAGS) install)
boost-icu-build: boost-icu-release boost-icu-debug
boost-release:
(cd $(BOOST_SOURCE) && \
bjam release --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION) \
--build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION) \
$(BOOST_FLAGS) install)
boost-debug:
boost-build:
(cd $(BOOST_SOURCE) && \
bjam debug --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION) \
--build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION) \
$(BOOST_FLAGS) define=_GLIBCXX_DEBUG=1 install)
$(BOOST_FLAGS) install)
boost-build: boost-release boost-debug
cppunit-release:
cppunit-build:
-(cd cppunit; make distclean)
(cd cppunit; sh autogen.sh; \
./configure CPPFLAGS="$(EXTRA_DEFINES)" \
CFLAGS="$(EXTRA_DEFINES) $(ARCH_CFLAGS)" \
LDFLAGS="$(ARCH_LDFLAGS)" \
./configure CPPFLAGS="$(CPPFLAGS)" \
CFLAGS="$(CFLAGS)" \
LDFLAGS="$(LDFLAGS)" \
CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \
--prefix=$(STOW_ROOT)/cppunit \
--disable-doxygen --disable-dot && \
make install)
cppunit-debug:
-(cd cppunit; make distclean)
(cd cppunit; sh autogen.sh; \
./configure CPPFLAGS="-D_GLIBCXX_DEBUG=1 $(EXTRA_DEFINES)" \
CFLAGS="-g $(EXTRA_DEFINES) $(ARCH_CFLAGS)" \
LDFLAGS="-g $(ARCH_LDFLAGS)" \
icu-build:
-(cd icu/source; make distclean)
(cd icu/source; sh autogen.sh; \
./configure CPPFLAGS="$(CPPFLAGS)" \
CFLAGS="$(CFLAGS)" \
LDFLAGS="$(LDFLAGS)" \
CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \
--prefix=$(STOW_ROOT)/cppunit-debug \
--disable-doxygen --disable-dot && \
--enable-static --enable-debug \
--prefix=$(STOW_ROOT)/icu && \
make install)
cppunit-build: cppunit-release cppunit-debug
all: boost-build boost-icu-build cppunit-build
boost-icu-build:
(cd $(BOOST_SOURCE) && \
bjam debug --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION)-icu \
--build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION)-icu \
$(BOOST_FLAGS) $(ICU_FLAGS) install)

View file

@ -185,7 +185,7 @@ protected:
symbol(_symbol), precision(0), searched(false) {
TRACE_CTOR(base_t, "const string&");
}
~base_t() {
virtual ~base_t() {
TRACE_DTOR(base_t);
}

View file

@ -430,12 +430,22 @@ changed_value_posts::changed_value_posts(post_handler_ptr handler,
display_total_expr = report.HANDLER(display_total_).expr;
changed_values_only = report.HANDLED(revalued_only);
string gains_equity_account_name;
if (report.HANDLED(unrealized_gains_))
gains_equity_account_name = report.HANDLER(unrealized_gains_).str();
else
gains_equity_account_name = _("Equity:Unrealized Gains");
gains_equity_account =
report.session.journal->master->find_account(_("Equity:Unrealized Gains"));
report.session.journal->master->find_account(gains_equity_account_name);
gains_equity_account->add_flags(ACCOUNT_GENERATED);
string losses_equity_account_name;
if (report.HANDLED(unrealized_losses_))
losses_equity_account_name = report.HANDLER(unrealized_losses_).str();
else
losses_equity_account_name = _("Equity:Unrealized Losses");
losses_equity_account =
report.session.journal->master->find_account(_("Equity:Unrealized Losses"));
report.session.journal->master->find_account(losses_equity_account_name);
losses_equity_account->add_flags(ACCOUNT_GENERATED);
}

View file

@ -115,7 +115,8 @@ void item_t::set_tag(const string& tag,
assert(result.second);
}
void item_t::parse_tags(const char * p, optional<date_t::year_type> current_year)
void item_t::parse_tags(const char * p,
optional<date_t::year_type> current_year)
{
if (const char * b = std::strchr(p, '[')) {
if (*(b + 1) != '\0' &&
@ -164,7 +165,8 @@ void item_t::parse_tags(const char * p, optional<date_t::year_type> current_year
}
}
void item_t::append_note(const char * p, optional<date_t::year_type> current_year)
void item_t::append_note(const char * p,
optional<date_t::year_type> current_year)
{
if (note) {
*note += '\n';

View file

@ -316,7 +316,7 @@ optional<price_point_t> commodity_pool_t::parse_price_directive(char * line)
price_point_t point;
point.when = datetime;
point.price.parse(symbol_and_price);
point.price.parse(symbol_and_price, PARSE_NO_MIGRATE);
VERIFY(point.price.valid());
DEBUG("commodity.download", "Looking up symbol: " << symbol);

View file

@ -84,7 +84,7 @@ public:
explicit commodity_pool_t();
~commodity_pool_t() {
virtual ~commodity_pool_t() {
TRACE_DTOR(commodity_pool_t);
foreach (commodities_map::value_type pair, commodities)
checked_delete(pair.second);

View file

@ -887,6 +887,8 @@ option_t<report_t> * report_t::lookup_option(const char * p)
OPT(unbudgeted);
else OPT(uncleared);
else OPT(unrealized);
else OPT(unrealized_gains_);
else OPT(unrealized_losses_);
else OPT(unround);
else OPT(unsorted);
break;

View file

@ -302,6 +302,8 @@ public:
HANDLER(unbudgeted).report(out);
HANDLER(uncleared).report(out);
HANDLER(unrealized).report(out);
HANDLER(unrealized_gains_).report(out);
HANDLER(unrealized_losses_).report(out);
HANDLER(unround).report(out);
HANDLER(unsorted).report(out);
HANDLER(weekly).report(out);
@ -876,6 +878,9 @@ public:
OPTION(report_t, unrealized);
OPTION(report_t, unrealized_gains_);
OPTION(report_t, unrealized_losses_);
OPTION_(report_t, unround, DO() {
parent->HANDLER(display_amount_)
.set_expr(string("--unround"), "unrounded(amount_expr)");

View file

@ -42,15 +42,18 @@ void symbol_scope_t::define(const symbol_t::kind_t kind,
{
DEBUG("scope.symbols", "Defining '" << name << "' = " << def);
std::pair<symbol_map::iterator, bool> result
= symbols.insert(symbol_map::value_type(symbol_t(kind, name, def), def));
if (! result.second) {
symbol_map::iterator i = symbols.find(symbol_t(kind, name));
assert(i != symbols.end());
symbols.erase(i);
if (! symbols)
symbols = symbol_map();
result = symbols.insert(symbol_map::value_type(symbol_t(kind, name, def),
def));
std::pair<symbol_map::iterator, bool> result
= symbols->insert(symbol_map::value_type(symbol_t(kind, name, def), def));
if (! result.second) {
symbol_map::iterator i = symbols->find(symbol_t(kind, name));
assert(i != symbols->end());
symbols->erase(i);
result = symbols->insert(symbol_map::value_type(symbol_t(kind, name, def),
def));
if (! result.second)
throw_(compile_error,
_("Redefinition of '%1' in the same scope") << name);
@ -60,10 +63,11 @@ void symbol_scope_t::define(const symbol_t::kind_t kind,
expr_t::ptr_op_t symbol_scope_t::lookup(const symbol_t::kind_t kind,
const string& name)
{
symbol_map::const_iterator i = symbols.find(symbol_t(kind, name));
if (i != symbols.end())
return (*i).second;
if (symbols) {
symbol_map::const_iterator i = symbols->find(symbol_t(kind, name));
if (i != symbols->end())
return (*i).second;
}
return child_scope_t::lookup(kind, name);
}

View file

@ -172,7 +172,7 @@ class symbol_scope_t : public child_scope_t
{
typedef std::map<symbol_t, expr_t::ptr_op_t> symbol_map;
symbol_map symbols;
optional<symbol_map> symbols;
public:
explicit symbol_scope_t() {

View file

@ -1,5 +1,7 @@
pricedb --pricedb-format='P %(date) %(scrub(display_amount))\n'
<<<
D $1,000.00
P 2009/01/01 13:30:00 AAPL $10.00
P 2009/01/01 14:30:00 AAPL $20.00
P 2009/01/01 15:30:00 AAPL $30.00

View file

@ -1,5 +1,7 @@
prices --prices-format='%(datetime) %(scrub(display_amount))\n'
<<<
D $1,000.00
P 2009/01/01 13:30:00 AAPL $10.00
P 2009/01/01 14:30:00 AAPL $20.00
P 2009/01/01 15:30:00 AAPL $30.00

View file

@ -1,5 +1,7 @@
reg -V --end=2009/06/16
<<<
D 1000.00 EUR
2008/04/15 * Paid expenses back from cie.
Expenses:Cie-Reimbursements 2000 CAD @ 1.10 EUR
Assets:Checking

View file

@ -232,7 +232,7 @@ ledger_la_CPPFLAGS = $(libledger_python_la_CPPFLAGS)
ledger_la_SOURCES = src/pyledger.cc
ledger_la_DEPENDENCIES = $(lib_LTLIBRARIES)
ledger_la_LDFLAGS = -avoid-version -module
ledger_la_LIBADD = $(LIBOBJS) $(lib_LTLIBRARIES) $(INTLLIBS)
ledger_la_LIBADD = $(LIBOBJS) $(lib_LTLIBRARIES)
pkgpython_PYTHON = python/__init__.py python/server.py