bitcoind now compiles without wxWidgets or wxBase
[novacoin.git] / headers.h
1 // Copyright (c) 2009-2010 Satoshi Nakamoto\r
2 // Distributed under the MIT/X11 software license, see the accompanying\r
3 // file license.txt or http://www.opensource.org/licenses/mit-license.php.\r
4 \r
5 #ifdef _MSC_VER\r
6 #pragma warning(disable:4786)\r
7 #pragma warning(disable:4804)\r
8 #pragma warning(disable:4805)\r
9 #pragma warning(disable:4717)\r
10 #endif\r
11 #ifdef _WIN32_WINNT\r
12 #undef _WIN32_WINNT\r
13 #endif\r
14 #define _WIN32_WINNT 0x0400\r
15 #ifdef _WIN32_IE\r
16 #undef _WIN32_IE\r
17 #endif\r
18 #define _WIN32_IE 0x0400\r
19 #define WIN32_LEAN_AND_MEAN 1\r
20 #define __STDC_LIMIT_MACROS // to enable UINT64_MAX from stdint.h\r
21 #ifdef GUI\r
22 #include <wx/wx.h>\r
23 #include <wx/stdpaths.h>\r
24 #include <wx/snglinst.h>\r
25 #include <wx/utils.h>\r
26 #include <wx/clipbrd.h>\r
27 #include <wx/taskbar.h>\r
28 #else\r
29 #ifdef __WXMAC_OSX__\r
30 #define __WXMAC__ 1\r
31 #define __WXOSX__ 1\r
32 #define __BSD__ 1\r
33 #endif\r
34 #endif\r
35 #include <openssl/buffer.h>\r
36 #include <openssl/ecdsa.h>\r
37 #include <openssl/evp.h>\r
38 #include <openssl/rand.h>\r
39 #include <openssl/sha.h>\r
40 #include <openssl/ripemd.h>\r
41 #include <db_cxx.h>\r
42 #include <stdio.h>\r
43 #include <stdlib.h>\r
44 #include <math.h>\r
45 #include <limits.h>\r
46 #include <float.h>\r
47 #include <assert.h>\r
48 #include <memory>\r
49 #include <iostream>\r
50 #include <sstream>\r
51 #include <string>\r
52 #include <vector>\r
53 #include <list>\r
54 #include <deque>\r
55 #include <map>\r
56 #include <set>\r
57 #include <algorithm>\r
58 #include <numeric>\r
59 #include <boost/foreach.hpp>\r
60 #include <boost/lexical_cast.hpp>\r
61 #include <boost/tuple/tuple.hpp>\r
62 #include <boost/tuple/tuple_comparison.hpp>\r
63 #include <boost/tuple/tuple_io.hpp>\r
64 #include <boost/array.hpp>\r
65 #include <boost/bind.hpp>\r
66 #include <boost/function.hpp>\r
67 #include <boost/filesystem.hpp>\r
68 #include <boost/filesystem/fstream.hpp>\r
69 #include <boost/algorithm/string.hpp>\r
70 #include <boost/thread.hpp>\r
71 #include <boost/interprocess/sync/interprocess_mutex.hpp>\r
72 #include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>\r
73 #include <boost/date_time/gregorian/gregorian_types.hpp>\r
74 #include <boost/date_time/posix_time/posix_time_types.hpp>\r
75 #include <boost/config.hpp>\r
76 #include <boost/program_options/detail/config_file.hpp>\r
77 #include <boost/program_options/parsers.hpp>\r
78 \r
79 #ifdef __WXMSW__\r
80 #include <windows.h>\r
81 #include <winsock2.h>\r
82 #include <mswsock.h>\r
83 #include <shlobj.h>\r
84 #include <shlwapi.h>\r
85 #include <io.h>\r
86 #include <process.h>\r
87 #include <malloc.h>\r
88 #else\r
89 #include <sys/time.h>\r
90 #include <sys/resource.h>\r
91 #include <sys/socket.h>\r
92 #include <sys/stat.h>\r
93 #include <arpa/inet.h>\r
94 #include <netdb.h>\r
95 #include <unistd.h>\r
96 #include <errno.h>\r
97 #include <net/if.h>\r
98 #include <ifaddrs.h>\r
99 #include <fcntl.h>\r
100 #endif\r
101 #ifdef __BSD__\r
102 #include <netinet/in.h>\r
103 #endif\r
104 \r
105 \r
106 #pragma hdrstop\r
107 using namespace std;\r
108 using namespace boost;\r
109 \r
110 #include "strlcpy.h"\r
111 #include "serialize.h"\r
112 #include "uint256.h"\r
113 #include "util.h"\r
114 #include "key.h"\r
115 #include "bignum.h"\r
116 #include "base58.h"\r
117 #include "script.h"\r
118 #include "db.h"\r
119 #include "net.h"\r
120 #include "irc.h"\r
121 #include "main.h"\r
122 #include "rpc.h"\r
123 #ifdef GUI\r
124 #include "uibase.h"\r
125 #include "ui.h"\r
126 #else\r
127 #include "noui.h"\r
128 #endif\r
129 #include "init.h"\r
130 \r
131 #include "xpm/addressbook16.xpm"\r
132 #include "xpm/addressbook20.xpm"\r
133 #include "xpm/bitcoin16.xpm"\r
134 #include "xpm/bitcoin20.xpm"\r
135 #include "xpm/bitcoin32.xpm"\r
136 #include "xpm/bitcoin48.xpm"\r
137 #include "xpm/bitcoin80.xpm"\r
138 #include "xpm/check.xpm"\r
139 #include "xpm/send16.xpm"\r
140 #include "xpm/send16noshadow.xpm"\r
141 #include "xpm/send20.xpm"\r
142 #include "xpm/about.xpm"\r