Moved all system includes into system.hh; added support for using system.hh as a pre-compiled header

This commit is contained in:
John Wiegley 2007-04-23 21:21:24 +00:00
parent d268bb46c0
commit 340dacf118
2 changed files with 110 additions and 0 deletions

86
system.hh Normal file
View file

@ -0,0 +1,86 @@
#ifndef _SYSTEM_HH
#define _SYSTEM_HH
/**
* @file system.hh
* @author John Wiegley
* @date Mon Apr 23 03:43:05 2007
*
* @brief All system headers needed by Ledger.
*
* These are collected here so that a pre-compiled header can be made.
* Unless configure is rerun with different options, it should never
* need to be regenerated afterwards.
*/
#include "acconf.h"
#if defined(__GNUG__) && __GNUG__ < 3
#define _XOPEN_SOURCE
#endif
#include <algorithm>
#include <exception>
#include <fstream>
#include <iostream>
#include <iterator>
#include <list>
#include <map>
#include <memory>
#include <new>
#include <sstream>
#include <stack>
#include <streambuf>
#include <string>
#include <vector>
#include <cassert>
#include <cctype>
#include <cstdarg>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <sys/stat.h>
#ifdef HAVE_UNIX_PIPES
#include <sys/types.h>
#include <sys/wait.h>
#include "fdstream.hpp"
#endif
#ifdef WIN32
#include <io.h>
#else
#include <unistd.h>
#endif
#if defined(HAVE_GETPWUID) || defined(HAVE_GETPWNAM)
#include <pwd.h>
#endif
#if defined(HAVE_NL_LANGINFO)
#include <langinfo.h>
#endif
#include <gmp.h>
#define HAVE_GDTOA 1
#ifdef HAVE_GDTOA
#include "gdtoa/gdtoa.h"
#endif
extern "C" {
#if defined(HAVE_EXPAT)
#include <expat.h> // expat XML parser
#elif defined(HAVE_XMLPARSE)
#include <xmlparse.h> // expat XML parser
#endif
}
#if defined(HAVE_LIBOFX)
#include <libofx.h>
#endif
#endif // _SYSTEM_HH

24
utils.h Normal file
View file

@ -0,0 +1,24 @@
#ifndef _UTILS_H
#define _UTILS_H
#include <system.hh>
// jww (2007-04-23): Need to clean up the following include files. I
// want to following services:
//
// error reporting via exceptions
// error context stack and display (copy-by-value)
// logging (always on, but with user-settable levels)
// assert (always on, unless the users asks for them off)
// timing of critical areas (and warning on variance from expectation)
// debugging (optionally on)
// verification (optionally on, like debugging but silent)
// memory tracing and debugging (and watching for threshholds)
#include "trace.h"
#include "debug.h"
#include "timing.h"
#include "error.h"
#include "util.h"
#endif // _UTILS_H