• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2010 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /*
18  * Android config -- "Linux".  Used for desktop ppc Linux.
19  */
20 #ifndef _ANDROID_CONFIG_H
21 #define _ANDROID_CONFIG_H
22 
23 /*
24  * ===========================================================================
25  *                              !!! IMPORTANT !!!
26  * ===========================================================================
27  *
28  * This file is included by ALL C/C++ source files.  Don't put anything in
29  * here unless you are absolutely certain it can't go anywhere else.
30  *
31  * Any C++ stuff must be wrapped with "#ifdef __cplusplus".  Do not use "//"
32  * comments.
33  */
34 
35 /*
36  * Threading model.  Choose one:
37  *
38  * HAVE_PTHREADS - use the pthreads library.
39  * HAVE_WIN32_THREADS - use Win32 thread primitives.
40  *  -- combine HAVE_CREATETHREAD, HAVE_CREATEMUTEX, and HAVE__BEGINTHREADEX
41  */
42 #define HAVE_PTHREADS
43 
44 /*
45  * Do we have the futex syscall?
46  */
47 
48 #define HAVE_FUTEX
49 
50 /*
51  * Process creation model.  Choose one:
52  *
53  * HAVE_FORKEXEC - use fork() and exec()
54  * HAVE_WIN32_PROC - use CreateProcess()
55  */
56 #define HAVE_FORKEXEC
57 
58 /*
59  * Process out-of-memory adjustment.  Set if running on Linux,
60  * where we can write to /proc/<pid>/oom_adj to modify the out-of-memory
61  * badness adjustment.
62  */
63 #define HAVE_OOM_ADJ
64 
65 /*
66  * IPC model.  Choose one:
67  *
68  * HAVE_SYSV_IPC - use the classic SysV IPC mechanisms (semget, shmget).
69  * HAVE_MACOSX_IPC - use Macintosh IPC mechanisms (sem_open, mmap).
70  * HAVE_WIN32_IPC - use Win32 IPC (CreateSemaphore, CreateFileMapping).
71  * HAVE_ANDROID_IPC - use Android versions (?, mmap).
72  */
73 #define HAVE_SYSV_IPC
74 
75 /*
76  * Memory-mapping model. Choose one:
77  *
78  * HAVE_POSIX_FILEMAP - use the Posix sys/mmap.h
79  * HAVE_WIN32_FILEMAP - use Win32 filemaps
80  */
81 #define  HAVE_POSIX_FILEMAP
82 
83 /*
84  * Define this if you have <termio.h>
85  */
86 #define  HAVE_TERMIO_H 1
87 
88 /*
89  * Define this if you have <sys/sendfile.h>
90  */
91 #define  HAVE_SYS_SENDFILE_H 1
92 
93 /*
94  * Define this if you build against MSVCRT.DLL
95  */
96 /* #define HAVE_MS_C_RUNTIME */
97 
98 /*
99  * Define this if you have sys/uio.h
100  */
101 #define  HAVE_SYS_UIO_H 1
102 
103 /*
104  * Define this if your platforms implements symbolic links
105  * in its filesystems
106  */
107 #define HAVE_SYMLINKS
108 
109 /*
110  * Define this if we have localtime_r().
111  */
112 #define HAVE_LOCALTIME_R 1
113 
114 /*
115  * Define this if we have gethostbyname_r().
116  */
117 #define HAVE_GETHOSTBYNAME_R
118 
119 /*
120  * Define this if we have ioctl().
121  */
122 #define HAVE_IOCTL
123 
124 /*
125  * Define this if we want to use WinSock.
126  */
127 /* #define HAVE_WINSOCK */
128 
129 /*
130  * Define this if have clock_gettime() and friends
131  *
132  * Desktop Linux has this in librt, but it's broken in goobuntu, yielding
133  * mildly or wildly inaccurate results.
134  */
135 /*#define HAVE_POSIX_CLOCKS*/
136 
137 /*
138  * Define this if we have pthread_cond_timedwait_monotonic() and
139  * clock_gettime(CLOCK_MONOTONIC).
140  */
141 /* #define HAVE_TIMEDWAIT_MONOTONIC */
142 
143 /*
144  * Define this if we have linux style epoll()
145  */
146 #define HAVE_EPOLL
147 
148 /*
149  * Endianness of the target machine.  Choose one:
150  *
151  * HAVE_ENDIAN_H -- have endian.h header we can include.
152  * HAVE_LITTLE_ENDIAN -- we are little endian.
153  * HAVE_BIG_ENDIAN -- we are big endian.
154  */
155 #define HAVE_ENDIAN_H
156 #define HAVE_BIG_ENDIAN
157 
158 /*
159  * We need to choose between 32-bit and 64-bit off_t.  All of our code should
160  * agree on the same size.  For desktop systems, use 64-bit values,
161  * because some of our libraries (e.g. wxWidgets) expect to be built that way.
162  */
163 #define _FILE_OFFSET_BITS 64
164 #define _LARGEFILE_SOURCE 1
165 
166 /*
167  * Define if platform has off64_t (and lseek64 and other xxx64 functions)
168  */
169 #define HAVE_OFF64_T
170 
171 /*
172  * Defined if we have the backtrace() call for retrieving a stack trace.
173  * Needed for CallStack to operate; if not defined, CallStack is
174  * non-functional.
175  */
176 #define HAVE_BACKTRACE 1
177 
178 /*
179  * Defined if we have the cxxabi.h header for demangling C++ symbols.  If
180  * not defined, stack crawls will be displayed with raw mangled symbols
181  */
182 #define HAVE_CXXABI 0
183 
184 /*
185  * Defined if we have the gettid() system call.
186  */
187 /* #define HAVE_GETTID */
188 
189 /*
190  * Defined if we have the sched_setscheduler() call
191  */
192 #define HAVE_SCHED_SETSCHEDULER
193 
194 /*
195  * Add any extra platform-specific defines here.
196  */
197 
198 /*
199  * Define if we have <malloc.h> header
200  */
201 #define HAVE_MALLOC_H
202 
203 /*
204  * Define if we have Linux-style non-filesystem Unix Domain Sockets
205  */
206 
207 /*
208  * What CPU architecture does this platform use?
209  */
210 #define ARCH_PPC
211 
212 
213 /*
214  * Define if we have Linux's inotify in <sys/inotify.h>.
215  */
216 /*#define HAVE_INOTIFY 1*/
217 
218 /*
219  * Define if we have madvise() in <sys/mman.h>
220  */
221 #define HAVE_MADVISE 1
222 
223 /*
224  * Define if tm struct has tm_gmtoff field
225  */
226 #define HAVE_TM_GMTOFF 1
227 
228 /*
229  * Define if dirent struct has d_type field
230  */
231 #define HAVE_DIRENT_D_TYPE 1
232 
233 /*
234  * Define if libc includes Android system properties implementation.
235  */
236 /* #define HAVE_LIBC_SYSTEM_PROPERTIES */
237 
238 /*
239  * Define if system provides a system property server (should be
240  * mutually exclusive with HAVE_LIBC_SYSTEM_PROPERTIES).
241  */
242 #define HAVE_SYSTEM_PROPERTY_SERVER
243 
244 /*
245  * sprintf() format string for shared library naming.
246  */
247 #define OS_SHARED_LIB_FORMAT_STR    "lib%s.so"
248 
249 /*
250  * type for the third argument to mincore().
251  */
252 #define MINCORE_POINTER_TYPE unsigned char *
253 
254 /*
255  * Do we have the sigaction flag SA_NOCLDWAIT?
256  */
257 #define HAVE_SA_NOCLDWAIT
258 
259 /*
260  * The default path separator for the platform
261  */
262 #define OS_PATH_SEPARATOR '/'
263 
264 /*
265  * Is the filesystem case sensitive?
266  */
267 #define OS_CASE_SENSITIVE
268 
269 /*
270  * Define if <sys/socket.h> exists.
271  */
272 #define HAVE_SYS_SOCKET_H 1
273 
274 /*
275  * Define if the strlcpy() function exists on the system.
276  */
277 /* #define HAVE_STRLCPY 1 */
278 
279 /*
280  * Define if the open_memstream() function exists on the system.
281  */
282 #define HAVE_OPEN_MEMSTREAM 1
283 
284 /*
285  * Define if the BSD funopen() function exists on the system.
286  */
287 /* #define HAVE_FUNOPEN 1 */
288 
289 /*
290  * Define if prctl() exists
291  */
292 #define HAVE_PRCTL 1
293 
294 /*
295  * Define if writev() exists
296  */
297 #define HAVE_WRITEV 1
298 
299 /*
300  * Define if <stdint.h> exists.
301  */
302 #define HAVE_STDINT_H 1
303 
304 /*
305  * Define if <stdbool.h> exists.
306  */
307 #define HAVE_STDBOOL_H 1
308 
309 /*
310  * Define if <sched.h> exists.
311  */
312 #define HAVE_SCHED_H 1
313 
314 /*
315  * Define if pread() exists
316  */
317 #define HAVE_PREAD 1
318 
319 /*
320  * Define to 1 if <stdlib.h> provides qsort_r() with a BSD style function prototype.
321  */
322 #define HAVE_BSD_QSORT_R 0
323 
324 /*
325  * Define to 1 if <stdlib.h> provides qsort_r() with a GNU style function prototype.
326  */
327 #define HAVE_GNU_QSORT_R 1
328 
329 #endif /*_ANDROID_CONFIG_H*/
330