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