15bdf305bbe529a85735200353478057b65bb462eYing Wang/*
25bdf305bbe529a85735200353478057b65bb462eYing Wang * Copyright (C) 2005 The Android Open Source Project
35bdf305bbe529a85735200353478057b65bb462eYing Wang *
45bdf305bbe529a85735200353478057b65bb462eYing Wang * Licensed under the Apache License, Version 2.0 (the "License");
55bdf305bbe529a85735200353478057b65bb462eYing Wang * you may not use this file except in compliance with the License.
65bdf305bbe529a85735200353478057b65bb462eYing Wang * You may obtain a copy of the License at
75bdf305bbe529a85735200353478057b65bb462eYing Wang *
85bdf305bbe529a85735200353478057b65bb462eYing Wang *      http://www.apache.org/licenses/LICENSE-2.0
95bdf305bbe529a85735200353478057b65bb462eYing Wang *
105bdf305bbe529a85735200353478057b65bb462eYing Wang * Unless required by applicable law or agreed to in writing, software
115bdf305bbe529a85735200353478057b65bb462eYing Wang * distributed under the License is distributed on an "AS IS" BASIS,
125bdf305bbe529a85735200353478057b65bb462eYing Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135bdf305bbe529a85735200353478057b65bb462eYing Wang * See the License for the specific language governing permissions and
145bdf305bbe529a85735200353478057b65bb462eYing Wang * limitations under the License.
155bdf305bbe529a85735200353478057b65bb462eYing Wang */
165bdf305bbe529a85735200353478057b65bb462eYing Wang
175bdf305bbe529a85735200353478057b65bb462eYing Wang/*
185bdf305bbe529a85735200353478057b65bb462eYing Wang * Android config -- "FreeBSD".  Used for desktop x86 FreeBSD.
195bdf305bbe529a85735200353478057b65bb462eYing Wang */
205bdf305bbe529a85735200353478057b65bb462eYing Wang#ifndef _ANDROID_CONFIG_H
215bdf305bbe529a85735200353478057b65bb462eYing Wang#define _ANDROID_CONFIG_H
225bdf305bbe529a85735200353478057b65bb462eYing Wang
235bdf305bbe529a85735200353478057b65bb462eYing Wang/*
245bdf305bbe529a85735200353478057b65bb462eYing Wang * make sure we are building for FreeBSD
255bdf305bbe529a85735200353478057b65bb462eYing Wang */
265bdf305bbe529a85735200353478057b65bb462eYing Wang#ifndef OS_FREEBSD
275bdf305bbe529a85735200353478057b65bb462eYing Wang#define OS_FREEBSD
285bdf305bbe529a85735200353478057b65bb462eYing Wang#endif
295bdf305bbe529a85735200353478057b65bb462eYing Wang/*
305bdf305bbe529a85735200353478057b65bb462eYing Wang * ===========================================================================
315bdf305bbe529a85735200353478057b65bb462eYing Wang *                              !!! IMPORTANT !!!
325bdf305bbe529a85735200353478057b65bb462eYing Wang * ===========================================================================
335bdf305bbe529a85735200353478057b65bb462eYing Wang *
345bdf305bbe529a85735200353478057b65bb462eYing Wang * This file is included by ALL C/C++ source files.  Don't put anything in
355bdf305bbe529a85735200353478057b65bb462eYing Wang * here unless you are absolutely certain it can't go anywhere else.
365bdf305bbe529a85735200353478057b65bb462eYing Wang *
375bdf305bbe529a85735200353478057b65bb462eYing Wang * Any C++ stuff must be wrapped with "#ifdef __cplusplus".  Do not use "//"
385bdf305bbe529a85735200353478057b65bb462eYing Wang * comments.
395bdf305bbe529a85735200353478057b65bb462eYing Wang */
405bdf305bbe529a85735200353478057b65bb462eYing Wang
415bdf305bbe529a85735200353478057b65bb462eYing Wang/*
425bdf305bbe529a85735200353478057b65bb462eYing Wang * Threading model.  Choose one:
435bdf305bbe529a85735200353478057b65bb462eYing Wang *
445bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_PTHREADS - use the pthreads library.
455bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_WIN32_THREADS - use Win32 thread primitives.
465bdf305bbe529a85735200353478057b65bb462eYing Wang *  -- combine HAVE_CREATETHREAD, HAVE_CREATEMUTEX, and HAVE__BEGINTHREADEX
475bdf305bbe529a85735200353478057b65bb462eYing Wang */
485bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_PTHREADS
495bdf305bbe529a85735200353478057b65bb462eYing Wang
505bdf305bbe529a85735200353478057b65bb462eYing Wang/*
515bdf305bbe529a85735200353478057b65bb462eYing Wang * Do we have the futex syscall?
525bdf305bbe529a85735200353478057b65bb462eYing Wang */
535bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_FUTEX */
545bdf305bbe529a85735200353478057b65bb462eYing Wang
555bdf305bbe529a85735200353478057b65bb462eYing Wang/*
565bdf305bbe529a85735200353478057b65bb462eYing Wang * Process creation model.  Choose one:
575bdf305bbe529a85735200353478057b65bb462eYing Wang *
585bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_FORKEXEC - use fork() and exec()
595bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_WIN32_PROC - use CreateProcess()
605bdf305bbe529a85735200353478057b65bb462eYing Wang */
615bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_FORKEXEC
625bdf305bbe529a85735200353478057b65bb462eYing Wang
635bdf305bbe529a85735200353478057b65bb462eYing Wang/*
645bdf305bbe529a85735200353478057b65bb462eYing Wang * Process out-of-memory adjustment.  Set if running on Linux,
655bdf305bbe529a85735200353478057b65bb462eYing Wang * where we can write to /proc/<pid>/oom_adj to modify the out-of-memory
665bdf305bbe529a85735200353478057b65bb462eYing Wang * badness adjustment.
675bdf305bbe529a85735200353478057b65bb462eYing Wang */
685bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_OOM_ADJ */
695bdf305bbe529a85735200353478057b65bb462eYing Wang
705bdf305bbe529a85735200353478057b65bb462eYing Wang/*
715bdf305bbe529a85735200353478057b65bb462eYing Wang * IPC model.  Choose one:
725bdf305bbe529a85735200353478057b65bb462eYing Wang *
735bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_SYSV_IPC - use the classic SysV IPC mechanisms (semget, shmget).
745bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_MACOSX_IPC - use Macintosh IPC mechanisms (sem_open, mmap).
755bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_WIN32_IPC - use Win32 IPC (CreateSemaphore, CreateFileMapping).
765bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_ANDROID_IPC - use Android versions (?, mmap).
775bdf305bbe529a85735200353478057b65bb462eYing Wang */
785bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SYSV_IPC
795bdf305bbe529a85735200353478057b65bb462eYing Wang
805bdf305bbe529a85735200353478057b65bb462eYing Wang/*
815bdf305bbe529a85735200353478057b65bb462eYing Wang * Memory-mapping model. Choose one:
825bdf305bbe529a85735200353478057b65bb462eYing Wang *
835bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_POSIX_FILEMAP - use the Posix sys/mmap.h
845bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_WIN32_FILEMAP - use Win32 filemaps
855bdf305bbe529a85735200353478057b65bb462eYing Wang */
865bdf305bbe529a85735200353478057b65bb462eYing Wang#define  HAVE_POSIX_FILEMAP
875bdf305bbe529a85735200353478057b65bb462eYing Wang
885bdf305bbe529a85735200353478057b65bb462eYing Wang/*
895bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if you have <termio.h>
905bdf305bbe529a85735200353478057b65bb462eYing Wang */
915bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define  HAVE_TERMIO_H */
925bdf305bbe529a85735200353478057b65bb462eYing Wang
935bdf305bbe529a85735200353478057b65bb462eYing Wang/*
945bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if you have <sys/sendfile.h>
955bdf305bbe529a85735200353478057b65bb462eYing Wang */
965bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define  HAVE_SYS_SENDFILE_H 1 */
975bdf305bbe529a85735200353478057b65bb462eYing Wang
985bdf305bbe529a85735200353478057b65bb462eYing Wang/*
995bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if you build against MSVCRT.DLL
1005bdf305bbe529a85735200353478057b65bb462eYing Wang */
1015bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_MS_C_RUNTIME */
1025bdf305bbe529a85735200353478057b65bb462eYing Wang
1035bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1045bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if you have sys/uio.h
1055bdf305bbe529a85735200353478057b65bb462eYing Wang */
1065bdf305bbe529a85735200353478057b65bb462eYing Wang#define  HAVE_SYS_UIO_H
1075bdf305bbe529a85735200353478057b65bb462eYing Wang
1085bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1095bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if your platforms implements symbolic links
1105bdf305bbe529a85735200353478057b65bb462eYing Wang * in its filesystems
1115bdf305bbe529a85735200353478057b65bb462eYing Wang */
1125bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SYMLINKS
1135bdf305bbe529a85735200353478057b65bb462eYing Wang
1145bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1155bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we have localtime_r().
1165bdf305bbe529a85735200353478057b65bb462eYing Wang */
1175bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_LOCALTIME_R 1
1185bdf305bbe529a85735200353478057b65bb462eYing Wang
1195bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1205bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we have gethostbyname_r().
1215bdf305bbe529a85735200353478057b65bb462eYing Wang */
1225bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_GETHOSTBYNAME_R */
1235bdf305bbe529a85735200353478057b65bb462eYing Wang
1245bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1255bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we have ioctl().
1265bdf305bbe529a85735200353478057b65bb462eYing Wang */
1275bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_IOCTL
1285bdf305bbe529a85735200353478057b65bb462eYing Wang
1295bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1305bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we want to use WinSock.
1315bdf305bbe529a85735200353478057b65bb462eYing Wang */
1325bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_WINSOCK */
1335bdf305bbe529a85735200353478057b65bb462eYing Wang
1345bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1355bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if have clock_gettime() and friends
1365bdf305bbe529a85735200353478057b65bb462eYing Wang *
1375bdf305bbe529a85735200353478057b65bb462eYing Wang * Desktop Linux has this in librt, but it's broken in goobuntu, yielding
1385bdf305bbe529a85735200353478057b65bb462eYing Wang * mildly or wildly inaccurate results.
1395bdf305bbe529a85735200353478057b65bb462eYing Wang */
1405bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_POSIX_CLOCKS
1415bdf305bbe529a85735200353478057b65bb462eYing Wang
1425bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1435bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we have pthread_cond_timedwait_monotonic() and
1445bdf305bbe529a85735200353478057b65bb462eYing Wang * clock_gettime(CLOCK_MONOTONIC).
1455bdf305bbe529a85735200353478057b65bb462eYing Wang */
1465bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_TIMEDWAIT_MONOTONIC */
1475bdf305bbe529a85735200353478057b65bb462eYing Wang
1485bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1495bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we have linux style epoll()
1505bdf305bbe529a85735200353478057b65bb462eYing Wang */
1515bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_EPOLL */
1525bdf305bbe529a85735200353478057b65bb462eYing Wang
1535bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1545bdf305bbe529a85735200353478057b65bb462eYing Wang * Endianness of the target machine.  Choose one:
1555bdf305bbe529a85735200353478057b65bb462eYing Wang *
1565bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_ENDIAN_H -- have endian.h header we can include.
1575bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_LITTLE_ENDIAN -- we are little endian.
1585bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_BIG_ENDIAN -- we are big endian.
1595bdf305bbe529a85735200353478057b65bb462eYing Wang */
1605bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_ENDIAN_H */
1615bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_LITTLE_ENDIAN
1625bdf305bbe529a85735200353478057b65bb462eYing Wang
1635bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1645bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if you have sys/endian.h
1655bdf305bbe529a85735200353478057b65bb462eYing Wang * NOTE: mutually exclusive with HAVE_ENDIAN_H
1665bdf305bbe529a85735200353478057b65bb462eYing Wang */
1675bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SYS_ENDIAN_H
1685bdf305bbe529a85735200353478057b65bb462eYing Wang
1695bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1705bdf305bbe529a85735200353478057b65bb462eYing Wang * We need to choose between 32-bit and 64-bit off_t.  All of our code should
1715bdf305bbe529a85735200353478057b65bb462eYing Wang * agree on the same size.  For desktop systems, use 64-bit values,
1725bdf305bbe529a85735200353478057b65bb462eYing Wang * because some of our libraries (e.g. wxWidgets) expect to be built that way.
1735bdf305bbe529a85735200353478057b65bb462eYing Wang */
1745bdf305bbe529a85735200353478057b65bb462eYing Wang#define _FILE_OFFSET_BITS 64
1755bdf305bbe529a85735200353478057b65bb462eYing Wang#define _LARGEFILE_SOURCE 1
1765bdf305bbe529a85735200353478057b65bb462eYing Wang
1775bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1785bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if platform has off64_t (and lseek64 and other xxx64 functions)
1795bdf305bbe529a85735200353478057b65bb462eYing Wang */
1805bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_OFF64_T */
1815bdf305bbe529a85735200353478057b65bb462eYing Wang
1825bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1835bdf305bbe529a85735200353478057b65bb462eYing Wang * Defined if we have the backtrace() call for retrieving a stack trace.
1845bdf305bbe529a85735200353478057b65bb462eYing Wang * Needed for CallStack to operate; if not defined, CallStack is
1855bdf305bbe529a85735200353478057b65bb462eYing Wang * non-functional.
1865bdf305bbe529a85735200353478057b65bb462eYing Wang */
1875bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_BACKTRACE 0
1885bdf305bbe529a85735200353478057b65bb462eYing Wang
1895bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1905bdf305bbe529a85735200353478057b65bb462eYing Wang * Defined if we have the cxxabi.h header for demangling C++ symbols.  If
1915bdf305bbe529a85735200353478057b65bb462eYing Wang * not defined, stack crawls will be displayed with raw mangled symbols
1925bdf305bbe529a85735200353478057b65bb462eYing Wang */
1935bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_CXXABI 0
1945bdf305bbe529a85735200353478057b65bb462eYing Wang
1955bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1965bdf305bbe529a85735200353478057b65bb462eYing Wang * Defined if we have the gettid() system call.
1975bdf305bbe529a85735200353478057b65bb462eYing Wang */
1985bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_GETTID */
1995bdf305bbe529a85735200353478057b65bb462eYing Wang
2005bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2015bdf305bbe529a85735200353478057b65bb462eYing Wang * Defined if we have the sched_setscheduler() call
2025bdf305bbe529a85735200353478057b65bb462eYing Wang */
2035bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SCHED_SETSCHEDULER
2045bdf305bbe529a85735200353478057b65bb462eYing Wang
2055bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2065bdf305bbe529a85735200353478057b65bb462eYing Wang * Add any extra platform-specific defines here.
2075bdf305bbe529a85735200353478057b65bb462eYing Wang */
2085bdf305bbe529a85735200353478057b65bb462eYing Wang
2095bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2105bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we have <malloc.h> header
2115bdf305bbe529a85735200353478057b65bb462eYing Wang */
2125bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_MALLOC_H
2135bdf305bbe529a85735200353478057b65bb462eYing Wang
2145bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2155bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we have Linux-style non-filesystem Unix Domain Sockets
2165bdf305bbe529a85735200353478057b65bb462eYing Wang */
2175bdf305bbe529a85735200353478057b65bb462eYing Wang
2185bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2195bdf305bbe529a85735200353478057b65bb462eYing Wang * What CPU architecture does this platform use?
2205bdf305bbe529a85735200353478057b65bb462eYing Wang */
2215bdf305bbe529a85735200353478057b65bb462eYing Wang#define ARCH_X86
2225bdf305bbe529a85735200353478057b65bb462eYing Wang
2235bdf305bbe529a85735200353478057b65bb462eYing Wang
2245bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2255bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we have Linux's inotify in <sys/inotify.h>.
2265bdf305bbe529a85735200353478057b65bb462eYing Wang */
2275bdf305bbe529a85735200353478057b65bb462eYing Wang/*#define HAVE_INOTIFY 1*/
2285bdf305bbe529a85735200353478057b65bb462eYing Wang
2295bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2305bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we have madvise() in <sys/mman.h>
2315bdf305bbe529a85735200353478057b65bb462eYing Wang */
2325bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_MADVISE 1
2335bdf305bbe529a85735200353478057b65bb462eYing Wang
2345bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2355bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if tm struct has tm_gmtoff field
2365bdf305bbe529a85735200353478057b65bb462eYing Wang */
2375bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_TM_GMTOFF 1
2385bdf305bbe529a85735200353478057b65bb462eYing Wang
2395bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2405bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if dirent struct has d_type field
2415bdf305bbe529a85735200353478057b65bb462eYing Wang */
2425bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_DIRENT_D_TYPE 1
2435bdf305bbe529a85735200353478057b65bb462eYing Wang
2445bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2455bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if libc includes Android system properties implementation.
2465bdf305bbe529a85735200353478057b65bb462eYing Wang */
2475bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_LIBC_SYSTEM_PROPERTIES */
2485bdf305bbe529a85735200353478057b65bb462eYing Wang
2495bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2505bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if system provides a system property server (should be
2515bdf305bbe529a85735200353478057b65bb462eYing Wang * mutually exclusive with HAVE_LIBC_SYSTEM_PROPERTIES).
2525bdf305bbe529a85735200353478057b65bb462eYing Wang */
2535bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SYSTEM_PROPERTY_SERVER
2545bdf305bbe529a85735200353478057b65bb462eYing Wang
2555bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2565bdf305bbe529a85735200353478057b65bb462eYing Wang * sprintf() format string for shared library naming.
2575bdf305bbe529a85735200353478057b65bb462eYing Wang */
2585bdf305bbe529a85735200353478057b65bb462eYing Wang#define OS_SHARED_LIB_FORMAT_STR    "lib%s.so"
2595bdf305bbe529a85735200353478057b65bb462eYing Wang
2605bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2615bdf305bbe529a85735200353478057b65bb462eYing Wang * type for the third argument to mincore().
2625bdf305bbe529a85735200353478057b65bb462eYing Wang */
2635bdf305bbe529a85735200353478057b65bb462eYing Wang#define MINCORE_POINTER_TYPE char *
2645bdf305bbe529a85735200353478057b65bb462eYing Wang
2655bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2665bdf305bbe529a85735200353478057b65bb462eYing Wang * Do we have the sigaction flag SA_NOCLDWAIT?
2675bdf305bbe529a85735200353478057b65bb462eYing Wang */
2685bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SA_NOCLDWAIT
2695bdf305bbe529a85735200353478057b65bb462eYing Wang
2705bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2715bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we include <sys/mount.h> for statfs()
2725bdf305bbe529a85735200353478057b65bb462eYing Wang */
2735bdf305bbe529a85735200353478057b65bb462eYing Wang#define INCLUDE_SYS_MOUNT_FOR_STATFS 1
2745bdf305bbe529a85735200353478057b65bb462eYing Wang
2755bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2765bdf305bbe529a85735200353478057b65bb462eYing Wang * The default path separator for the platform
2775bdf305bbe529a85735200353478057b65bb462eYing Wang */
2785bdf305bbe529a85735200353478057b65bb462eYing Wang#define OS_PATH_SEPARATOR '/'
2795bdf305bbe529a85735200353478057b65bb462eYing Wang
2805bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2815bdf305bbe529a85735200353478057b65bb462eYing Wang * Is the filesystem case sensitive?
2825bdf305bbe529a85735200353478057b65bb462eYing Wang */
2835bdf305bbe529a85735200353478057b65bb462eYing Wang#define OS_CASE_SENSITIVE
2845bdf305bbe529a85735200353478057b65bb462eYing Wang
2855bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2865bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if <sys/socket.h> exists.
2875bdf305bbe529a85735200353478057b65bb462eYing Wang */
2885bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SYS_SOCKET_H 1
2895bdf305bbe529a85735200353478057b65bb462eYing Wang
2905bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2915bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if the strlcpy() function exists on the system.
2925bdf305bbe529a85735200353478057b65bb462eYing Wang */
2935bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_STRLCPY 1
2945bdf305bbe529a85735200353478057b65bb462eYing Wang
2955bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2965bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if the open_memstream() function exists on the system.
2975bdf305bbe529a85735200353478057b65bb462eYing Wang */
2985bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_OPEN_MEMSTREAM 1 */
2995bdf305bbe529a85735200353478057b65bb462eYing Wang
3005bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3015bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if the BSD funopen() function exists on the system.
3025bdf305bbe529a85735200353478057b65bb462eYing Wang */
3035bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_FUNOPEN 1
3045bdf305bbe529a85735200353478057b65bb462eYing Wang
3055bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3065bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if prctl() exists
3075bdf305bbe529a85735200353478057b65bb462eYing Wang */
3085bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_PRCTL 1 */
3095bdf305bbe529a85735200353478057b65bb462eYing Wang
3105bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3115bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if writev() exists
3125bdf305bbe529a85735200353478057b65bb462eYing Wang */
3135bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_WRITEV 1
3145bdf305bbe529a85735200353478057b65bb462eYing Wang
3155bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3165bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if <alloca.h> does not exist
3175bdf305bbe529a85735200353478057b65bb462eYing Wang * NOTE: <alloca.h> defines alloca() which
3185bdf305bbe529a85735200353478057b65bb462eYing Wang *   on FreeBSD is defined in <stdlib.h>
3195bdf305bbe529a85735200353478057b65bb462eYing Wang */
3205bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_NO_ALLOCA_H
3215bdf305bbe529a85735200353478057b65bb462eYing Wang
3225bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3235bdf305bbe529a85735200353478057b65bb462eYing Wang * Defines CLOCK_PROCESS_CPUTIME_ID for clock_gettime()
3245bdf305bbe529a85735200353478057b65bb462eYing Wang * XXX: CLOCK_PROF seems to be commonly used replacement
3255bdf305bbe529a85735200353478057b65bb462eYing Wang */
3265bdf305bbe529a85735200353478057b65bb462eYing Wang#ifndef  CLOCK_PROCESS_CPUTIME_ID
3275bdf305bbe529a85735200353478057b65bb462eYing Wang#define CLOCK_PROCESS_CPUTIME_ID CLOCK_PROF
3285bdf305bbe529a85735200353478057b65bb462eYing Wang#endif
3295bdf305bbe529a85735200353478057b65bb462eYing Wang
3305bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3315bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if <stdint.h> exists.
3325bdf305bbe529a85735200353478057b65bb462eYing Wang */
3335bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_STDINT_H */
3345bdf305bbe529a85735200353478057b65bb462eYing Wang
3355bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3365bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if <stdbool.h> exists.
3375bdf305bbe529a85735200353478057b65bb462eYing Wang */
3385bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_STDBOOL_H */
3395bdf305bbe529a85735200353478057b65bb462eYing Wang
3405bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3415bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if <sched.h> exists.
3425bdf305bbe529a85735200353478057b65bb462eYing Wang */
3435bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SCHED_H 1
3445bdf305bbe529a85735200353478057b65bb462eYing Wang
3455bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3465bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if pread() exists
3475bdf305bbe529a85735200353478057b65bb462eYing Wang */
3485bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_PREAD 1
3495bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3505bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we have st_mtim in struct stat
3515bdf305bbe529a85735200353478057b65bb462eYing Wang */
3525bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_STAT_ST_MTIM 1
3535bdf305bbe529a85735200353478057b65bb462eYing Wang
3545bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3555bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if printf() supports %zd for size_t arguments
3565bdf305bbe529a85735200353478057b65bb462eYing Wang */
3575bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_PRINTF_ZD 1
3585bdf305bbe529a85735200353478057b65bb462eYing Wang
3595bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3605bdf305bbe529a85735200353478057b65bb462eYing Wang * Define to 1 if <stdlib.h> provides qsort_r() with a BSD style function prototype.
3615bdf305bbe529a85735200353478057b65bb462eYing Wang */
3625bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_BSD_QSORT_R 1
3635bdf305bbe529a85735200353478057b65bb462eYing Wang
3645bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3655bdf305bbe529a85735200353478057b65bb462eYing Wang * Define to 1 if <stdlib.h> provides qsort_r() with a GNU style function prototype.
3665bdf305bbe529a85735200353478057b65bb462eYing Wang */
3675bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_GNU_QSORT_R 0
3685bdf305bbe529a85735200353478057b65bb462eYing Wang
3695bdf305bbe529a85735200353478057b65bb462eYing Wang#endif /*_ANDROID_CONFIG_H*/
370