1 |
/************************************************************************************************* |
2 |
* The core API of Hyper Estraier |
3 |
* Copyright (C) 2004-2005 Mikio Hirabayashi |
4 |
* This file is part of Hyper Estraier. |
5 |
* Hyper Estraier is free software; you can redistribute it and/or modify it under the terms of |
6 |
* the GNU Lesser General Public License as published by the Free Software Foundation; either |
7 |
* version 2.1 of the License or any later version. Hyper Estraier is distributed in the hope |
8 |
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
9 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
10 |
* License for more details. |
11 |
* You should have received a copy of the GNU Lesser General Public License along with Hyper |
12 |
* Estraier; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, |
13 |
* Boston, MA 02111-1307 USA. |
14 |
*************************************************************************************************/ |
15 |
|
16 |
|
17 |
#ifndef _MYCONF_H /* duplication check */ |
18 |
#define _MYCONF_H |
19 |
|
20 |
|
21 |
|
22 |
/************************************************************************************************* |
23 |
* common settings |
24 |
*************************************************************************************************/ |
25 |
|
26 |
|
27 |
#undef TRUE /* boolean true */ |
28 |
#define TRUE 1 |
29 |
#undef FALSE /* boolean false */ |
30 |
#define FALSE 0 |
31 |
|
32 |
|
33 |
|
34 |
/************************************************************************************************* |
35 |
* system discrimination |
36 |
*************************************************************************************************/ |
37 |
|
38 |
|
39 |
#if defined(__linux__) |
40 |
|
41 |
#define _SYS_LINUX_ |
42 |
#define ESTSYSNAME "Linux" |
43 |
|
44 |
#elif defined(__FreeBSD__) |
45 |
|
46 |
#define _SYS_FREEBSD_ |
47 |
#define ESTSYSNAME "FreeBSD" |
48 |
|
49 |
#elif defined(__NetBSD__) |
50 |
|
51 |
#define _SYS_NETBSD_ |
52 |
#define ESTSYSNAME "NetBSD" |
53 |
|
54 |
#elif defined(__OpenBSD__) |
55 |
|
56 |
#define _SYS_OPENBSD_ |
57 |
#define ESTSYSNAME "OpenBSD" |
58 |
|
59 |
#elif defined(__sun__) |
60 |
|
61 |
#define _SYS_SUNOS_ |
62 |
#define ESTSYSNAME "SunOS" |
63 |
|
64 |
#elif defined(__hpux) |
65 |
|
66 |
#define _SYS_HPUX_ |
67 |
#define ESTSYSNAME "HP-UX" |
68 |
|
69 |
#elif defined(__APPLE__) && defined(__MACH__) |
70 |
|
71 |
#define _SYS_MACOSX_ |
72 |
#define ESTSYSNAME "Mac OS X" |
73 |
|
74 |
#elif defined(_MSC_VER) |
75 |
|
76 |
#define _SYS_MSVC_ |
77 |
#define ESTSYSNAME "Windows (VC++)" |
78 |
|
79 |
#elif defined(_WIN32) |
80 |
|
81 |
#define _SYS_MINGW_ |
82 |
#define ESTSYSNAME "Windows (MinGW)" |
83 |
|
84 |
#elif defined(__CYGWIN__) |
85 |
|
86 |
#define _SYS_CYGWIN_ |
87 |
#define ESTSYSNAME "Windows (Cygwin)" |
88 |
|
89 |
#else |
90 |
|
91 |
#define _SYS_GENERIC_ |
92 |
#define ESTSYSNAME "Generic" |
93 |
|
94 |
#endif |
95 |
|
96 |
|
97 |
|
98 |
/************************************************************************************************* |
99 |
* general headers |
100 |
*************************************************************************************************/ |
101 |
|
102 |
|
103 |
#include <assert.h> |
104 |
#include <ctype.h> |
105 |
#include <errno.h> |
106 |
#include <float.h> |
107 |
#include <limits.h> |
108 |
#include <locale.h> |
109 |
#include <math.h> |
110 |
#include <setjmp.h> |
111 |
#include <signal.h> |
112 |
#include <stdarg.h> |
113 |
#include <stddef.h> |
114 |
#include <stdio.h> |
115 |
#include <stdlib.h> |
116 |
#include <string.h> |
117 |
#include <time.h> |
118 |
|
119 |
#include <depot.h> |
120 |
#include <curia.h> |
121 |
#include <cabin.h> |
122 |
#include <villa.h> |
123 |
|
124 |
#include <iconv.h> |
125 |
#include <zlib.h> |
126 |
|
127 |
#include "md5.h" |
128 |
|
129 |
#if defined(_SYS_MSVC_) |
130 |
|
131 |
#include <sys/types.h> |
132 |
#include <sys/stat.h> |
133 |
#include <fcntl.h> |
134 |
#include <direct.h> |
135 |
#include <windows.h> |
136 |
#include <io.h> |
137 |
#include <winsock2.h> |
138 |
|
139 |
#elif defined(_SYS_MINGW_) |
140 |
|
141 |
#include <unistd.h> |
142 |
#include <sys/types.h> |
143 |
#include <sys/stat.h> |
144 |
#include <fcntl.h> |
145 |
#include <dirent.h> |
146 |
#include <windows.h> |
147 |
#include <io.h> |
148 |
#include <winsock2.h> |
149 |
|
150 |
#elif defined(_SYS_CYGWIN_) |
151 |
|
152 |
#include <unistd.h> |
153 |
#include <sys/types.h> |
154 |
#include <sys/stat.h> |
155 |
#include <sys/mman.h> |
156 |
#include <sys/time.h> |
157 |
#include <sys/times.h> |
158 |
#include <sys/socket.h> |
159 |
#include <sys/select.h> |
160 |
#include <fcntl.h> |
161 |
#include <dirent.h> |
162 |
#include <netinet/in.h> |
163 |
#include <arpa/inet.h> |
164 |
#include <netdb.h> |
165 |
#include <windows.h> |
166 |
#include <io.h> |
167 |
|
168 |
#else |
169 |
|
170 |
#include <unistd.h> |
171 |
#include <sys/types.h> |
172 |
#include <sys/stat.h> |
173 |
#include <sys/mman.h> |
174 |
#include <sys/time.h> |
175 |
#include <sys/times.h> |
176 |
#include <sys/socket.h> |
177 |
#include <sys/select.h> |
178 |
#include <fcntl.h> |
179 |
#include <dirent.h> |
180 |
#include <netinet/in.h> |
181 |
#include <arpa/inet.h> |
182 |
#include <netdb.h> |
183 |
|
184 |
#endif |
185 |
|
186 |
#if ! defined(_QDBM_LIBVER) |
187 |
#error QDBM is required but not found. |
188 |
#elif _QDBM_LIBVER < 1101 |
189 |
#error This version of QDBM is too old. Use 1.8.29 or later. |
190 |
#endif |
191 |
|
192 |
|
193 |
|
194 |
/************************************************************************************************* |
195 |
* notation of paths in the file system |
196 |
*************************************************************************************************/ |
197 |
|
198 |
|
199 |
#if defined(_SYS_MSVC_) || defined(_SYS_MINGW_) |
200 |
|
201 |
#define ESTPATHCHR '\\' |
202 |
#define ESTPATHSTR "\\" |
203 |
#define ESTEXTCHR '.' |
204 |
#define ESTEXTSTR "." |
205 |
#define ESTCDIRSTR "." |
206 |
#define ESTPDIRSTR ".." |
207 |
|
208 |
#define \ |
209 |
open(pathname, flags, mode) \ |
210 |
open(pathname, flags | O_BINARY, mode) |
211 |
|
212 |
#else |
213 |
|
214 |
#define ESTPATHCHR '/' |
215 |
#define ESTPATHSTR "/" |
216 |
#define ESTEXTCHR '.' |
217 |
#define ESTEXTSTR "." |
218 |
#define ESTCDIRSTR "." |
219 |
#define ESTPDIRSTR ".." |
220 |
|
221 |
#endif |
222 |
|
223 |
|
224 |
|
225 |
#endif /* duplication check */ |
226 |
|
227 |
|
228 |
/* END OF FILE */ |