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 -- "Darwin".  Used for X86 Mac OS X.
195bdf305bbe529a85735200353478057b65bb462eYing Wang */
205bdf305bbe529a85735200353478057b65bb462eYing Wang#ifndef _ANDROID_CONFIG_H
215bdf305bbe529a85735200353478057b65bb462eYing Wang#define _ANDROID_CONFIG_H
225bdf305bbe529a85735200353478057b65bb462eYing Wang
235bdf305bbe529a85735200353478057b65bb462eYing Wang/*
245bdf305bbe529a85735200353478057b65bb462eYing Wang * ===========================================================================
255bdf305bbe529a85735200353478057b65bb462eYing Wang *                              !!! IMPORTANT !!!
265bdf305bbe529a85735200353478057b65bb462eYing Wang * ===========================================================================
275bdf305bbe529a85735200353478057b65bb462eYing Wang *
285bdf305bbe529a85735200353478057b65bb462eYing Wang * This file is included by ALL C/C++ source files.  Don't put anything in
295bdf305bbe529a85735200353478057b65bb462eYing Wang * here unless you are absolutely certain it can't go anywhere else.
305bdf305bbe529a85735200353478057b65bb462eYing Wang *
315bdf305bbe529a85735200353478057b65bb462eYing Wang * Any C++ stuff must be wrapped with "#ifdef __cplusplus".  Do not use "//"
325bdf305bbe529a85735200353478057b65bb462eYing Wang * comments.
335bdf305bbe529a85735200353478057b65bb462eYing Wang */
345bdf305bbe529a85735200353478057b65bb462eYing Wang
355bdf305bbe529a85735200353478057b65bb462eYing Wang/*
365bdf305bbe529a85735200353478057b65bb462eYing Wang * Threading model.  Choose one:
375bdf305bbe529a85735200353478057b65bb462eYing Wang *
385bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_PTHREADS - use the pthreads library.
395bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_WIN32_THREADS - use Win32 thread primitives.
405bdf305bbe529a85735200353478057b65bb462eYing Wang *  -- combine HAVE_CREATETHREAD, HAVE_CREATEMUTEX, and HAVE__BEGINTHREADEX
415bdf305bbe529a85735200353478057b65bb462eYing Wang */
425bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_PTHREADS
435bdf305bbe529a85735200353478057b65bb462eYing Wang
445bdf305bbe529a85735200353478057b65bb462eYing Wang/*
455bdf305bbe529a85735200353478057b65bb462eYing Wang * Do we have the futex syscall?
465bdf305bbe529a85735200353478057b65bb462eYing Wang */
475bdf305bbe529a85735200353478057b65bb462eYing Wang
485bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_FUTEX */
495bdf305bbe529a85735200353478057b65bb462eYing Wang
505bdf305bbe529a85735200353478057b65bb462eYing Wang/*
515bdf305bbe529a85735200353478057b65bb462eYing Wang * Process creation model.  Choose one:
525bdf305bbe529a85735200353478057b65bb462eYing Wang *
535bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_FORKEXEC - use fork() and exec()
545bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_WIN32_PROC - use CreateProcess()
555bdf305bbe529a85735200353478057b65bb462eYing Wang */
565bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_FORKEXEC
575bdf305bbe529a85735200353478057b65bb462eYing Wang
585bdf305bbe529a85735200353478057b65bb462eYing Wang/*
595bdf305bbe529a85735200353478057b65bb462eYing Wang * Process out-of-memory adjustment.  Set if running on Linux,
605bdf305bbe529a85735200353478057b65bb462eYing Wang * where we can write to /proc/<pid>/oom_adj to modify the out-of-memory
615bdf305bbe529a85735200353478057b65bb462eYing Wang * badness adjustment.
625bdf305bbe529a85735200353478057b65bb462eYing Wang */
635bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_OOM_ADJ */
645bdf305bbe529a85735200353478057b65bb462eYing Wang
655bdf305bbe529a85735200353478057b65bb462eYing Wang/*
665bdf305bbe529a85735200353478057b65bb462eYing Wang * IPC model.  Choose one:
675bdf305bbe529a85735200353478057b65bb462eYing Wang *
685bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_SYSV_IPC - use the classic SysV IPC mechanisms (semget, shmget).
695bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_MACOSX_IPC - use Macintosh IPC mechanisms (sem_open, mmap).
705bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_WIN32_IPC - use Win32 IPC (CreateSemaphore, CreateFileMapping).
715bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_ANDROID_IPC - use Android versions (?, mmap).
725bdf305bbe529a85735200353478057b65bb462eYing Wang */
735bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_MACOSX_IPC
745bdf305bbe529a85735200353478057b65bb462eYing Wang
755bdf305bbe529a85735200353478057b65bb462eYing Wang/*
765bdf305bbe529a85735200353478057b65bb462eYing Wang * Memory-mapping model. Choose one:
775bdf305bbe529a85735200353478057b65bb462eYing Wang *
785bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_POSIX_FILEMAP - use the Posix sys/mmap.h
795bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_WIN32_FILEMAP - use Win32 filemaps
805bdf305bbe529a85735200353478057b65bb462eYing Wang */
815bdf305bbe529a85735200353478057b65bb462eYing Wang#define  HAVE_POSIX_FILEMAP
825bdf305bbe529a85735200353478057b65bb462eYing Wang
835bdf305bbe529a85735200353478057b65bb462eYing Wang/*
845bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if you have <termio.h>
855bdf305bbe529a85735200353478057b65bb462eYing Wang */
865bdf305bbe529a85735200353478057b65bb462eYing Wang#define  HAVE_TERMIO_H
875bdf305bbe529a85735200353478057b65bb462eYing Wang
885bdf305bbe529a85735200353478057b65bb462eYing Wang/*
895bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if you have <sys/sendfile.h>
905bdf305bbe529a85735200353478057b65bb462eYing Wang */
915bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define  HAVE_SYS_SENDFILE_H 1 */
925bdf305bbe529a85735200353478057b65bb462eYing Wang
935bdf305bbe529a85735200353478057b65bb462eYing Wang/*
945bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if you build against MSVCRT.DLL
955bdf305bbe529a85735200353478057b65bb462eYing Wang */
965bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_MS_C_RUNTIME */
975bdf305bbe529a85735200353478057b65bb462eYing Wang
985bdf305bbe529a85735200353478057b65bb462eYing Wang/*
995bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if you have sys/uio.h
1005bdf305bbe529a85735200353478057b65bb462eYing Wang */
1015bdf305bbe529a85735200353478057b65bb462eYing Wang#define  HAVE_SYS_UIO_H
1025bdf305bbe529a85735200353478057b65bb462eYing Wang
1035bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1045bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if your platforms implements symbolic links
1055bdf305bbe529a85735200353478057b65bb462eYing Wang * in its filesystems
1065bdf305bbe529a85735200353478057b65bb462eYing Wang */
1075bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SYMLINKS
1085bdf305bbe529a85735200353478057b65bb462eYing Wang
1095bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1105bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we have localtime_r().
1115bdf305bbe529a85735200353478057b65bb462eYing Wang */
1125bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_LOCALTIME_R 1
1135bdf305bbe529a85735200353478057b65bb462eYing Wang
1145bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1155bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we have gethostbyname_r().
1165bdf305bbe529a85735200353478057b65bb462eYing Wang */
1175bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_GETHOSTBYNAME_R */
1185bdf305bbe529a85735200353478057b65bb462eYing Wang
1195bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1205bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we have ioctl().
1215bdf305bbe529a85735200353478057b65bb462eYing Wang */
1225bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_IOCTL */
1235bdf305bbe529a85735200353478057b65bb462eYing Wang
1245bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1255bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we want to use WinSock.
1265bdf305bbe529a85735200353478057b65bb462eYing Wang */
1275bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_WINSOCK */
1285bdf305bbe529a85735200353478057b65bb462eYing Wang
1295bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1305bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if have clock_gettime() and friends
1315bdf305bbe529a85735200353478057b65bb462eYing Wang */
1325bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_POSIX_CLOCKS */
1335bdf305bbe529a85735200353478057b65bb462eYing Wang
1345bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1355bdf305bbe529a85735200353478057b65bb462eYing Wang * Define this if we have pthread_cond_timedwait_monotonic() and
1365bdf305bbe529a85735200353478057b65bb462eYing Wang * clock_gettime(CLOCK_MONOTONIC).
1375bdf305bbe529a85735200353478057b65bb462eYing Wang */
1385bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_TIMEDWAIT_MONOTONIC */
1395bdf305bbe529a85735200353478057b65bb462eYing Wang
1405bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1415bdf305bbe529a85735200353478057b65bb462eYing Wang * Endianness of the target machine.  Choose one:
1425bdf305bbe529a85735200353478057b65bb462eYing Wang *
1435bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_ENDIAN_H -- have endian.h header we can include.
1445bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_LITTLE_ENDIAN -- we are little endian.
1455bdf305bbe529a85735200353478057b65bb462eYing Wang * HAVE_BIG_ENDIAN -- we are big endian.
1465bdf305bbe529a85735200353478057b65bb462eYing Wang */
1475bdf305bbe529a85735200353478057b65bb462eYing Wang#if (defined(__ppc__) || defined(__ppc64__))
1485bdf305bbe529a85735200353478057b65bb462eYing Wang#   define HAVE_BIG_ENDIAN
1495bdf305bbe529a85735200353478057b65bb462eYing Wang#elif (defined(__i386__) || defined(__x86_64__))
1505bdf305bbe529a85735200353478057b65bb462eYing Wang#   define HAVE_LITTLE_ENDIAN
1515bdf305bbe529a85735200353478057b65bb462eYing Wang#endif
1525bdf305bbe529a85735200353478057b65bb462eYing Wang
1535bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1545bdf305bbe529a85735200353478057b65bb462eYing Wang * We need to choose between 32-bit and 64-bit off_t.  All of our code should
1555bdf305bbe529a85735200353478057b65bb462eYing Wang * agree on the same size.  For desktop systems, use 64-bit values,
1565bdf305bbe529a85735200353478057b65bb462eYing Wang * because some of our libraries (e.g. wxWidgets) expect to be built that way.
1575bdf305bbe529a85735200353478057b65bb462eYing Wang */
1585bdf305bbe529a85735200353478057b65bb462eYing Wang#define _FILE_OFFSET_BITS 64
1595bdf305bbe529a85735200353478057b65bb462eYing Wang#define _LARGEFILE_SOURCE 1
1605bdf305bbe529a85735200353478057b65bb462eYing Wang
1615bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1625bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if platform has off64_t (and lseek64 and other xxx64 functions)
1635bdf305bbe529a85735200353478057b65bb462eYing Wang */
1645bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_OFF64_T */
1655bdf305bbe529a85735200353478057b65bb462eYing Wang
1665bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1675bdf305bbe529a85735200353478057b65bb462eYing Wang * Defined if we have the backtrace() call for retrieving a stack trace.
1685bdf305bbe529a85735200353478057b65bb462eYing Wang * Needed for CallStack to operate; if not defined, CallStack is
1695bdf305bbe529a85735200353478057b65bb462eYing Wang * non-functional.
1705bdf305bbe529a85735200353478057b65bb462eYing Wang */
1715bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_BACKTRACE 0
1725bdf305bbe529a85735200353478057b65bb462eYing Wang
1735bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1745bdf305bbe529a85735200353478057b65bb462eYing Wang * Defined if we have the dladdr() call for retrieving the symbol associated
1755bdf305bbe529a85735200353478057b65bb462eYing Wang * with a memory address.  If not defined, stack crawls will not have symbolic
1765bdf305bbe529a85735200353478057b65bb462eYing Wang * information.
1775bdf305bbe529a85735200353478057b65bb462eYing Wang */
1785bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_DLADDR 1
1795bdf305bbe529a85735200353478057b65bb462eYing Wang
1805bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1815bdf305bbe529a85735200353478057b65bb462eYing Wang * Defined if we have the cxxabi.h header for demangling C++ symbols.  If
1825bdf305bbe529a85735200353478057b65bb462eYing Wang * not defined, stack crawls will be displayed with raw mangled symbols
1835bdf305bbe529a85735200353478057b65bb462eYing Wang */
1845bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_CXXABI 0
1855bdf305bbe529a85735200353478057b65bb462eYing Wang
1865bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1875bdf305bbe529a85735200353478057b65bb462eYing Wang * Defined if we have the gettid() system call.
1885bdf305bbe529a85735200353478057b65bb462eYing Wang */
1895bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_GETTID */
1905bdf305bbe529a85735200353478057b65bb462eYing Wang
1915bdf305bbe529a85735200353478057b65bb462eYing Wang
1925bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1935bdf305bbe529a85735200353478057b65bb462eYing Wang * Add any extra platform-specific defines here.
1945bdf305bbe529a85735200353478057b65bb462eYing Wang */
1955bdf305bbe529a85735200353478057b65bb462eYing Wang#define _THREAD_SAFE
1965bdf305bbe529a85735200353478057b65bb462eYing Wang
1975bdf305bbe529a85735200353478057b65bb462eYing Wang/*
1985bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we have <malloc.h> header
1995bdf305bbe529a85735200353478057b65bb462eYing Wang */
2005bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_MALLOC_H */
2015bdf305bbe529a85735200353478057b65bb462eYing Wang
2025bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2035bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if tm struct has tm_gmtoff field
2045bdf305bbe529a85735200353478057b65bb462eYing Wang */
2055bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_TM_GMTOFF 1
2065bdf305bbe529a85735200353478057b65bb462eYing Wang
2075bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2085bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if dirent struct has d_type field
2095bdf305bbe529a85735200353478057b65bb462eYing Wang */
2105bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_DIRENT_D_TYPE 1
2115bdf305bbe529a85735200353478057b65bb462eYing Wang
2125bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2135bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we have madvise() in <sys/mman.h>
2145bdf305bbe529a85735200353478057b65bb462eYing Wang */
2155bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_MADVISE 1
2165bdf305bbe529a85735200353478057b65bb462eYing Wang
2175bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2185bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we include <sys/mount.h> for statfs()
2195bdf305bbe529a85735200353478057b65bb462eYing Wang */
2205bdf305bbe529a85735200353478057b65bb462eYing Wang#define INCLUDE_SYS_MOUNT_FOR_STATFS 1
2215bdf305bbe529a85735200353478057b65bb462eYing Wang
2225bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2235bdf305bbe529a85735200353478057b65bb462eYing Wang * What CPU architecture does this platform use?
2245bdf305bbe529a85735200353478057b65bb462eYing Wang */
2255bdf305bbe529a85735200353478057b65bb462eYing Wang#if (defined(__ppc__) || defined(__ppc64__))
2265bdf305bbe529a85735200353478057b65bb462eYing Wang#   define ARCH_PPC
2275bdf305bbe529a85735200353478057b65bb462eYing Wang#elif (defined(__i386__) || defined(__x86_64__))
2285bdf305bbe529a85735200353478057b65bb462eYing Wang#   define ARCH_X86
2295bdf305bbe529a85735200353478057b65bb462eYing Wang#endif
2305bdf305bbe529a85735200353478057b65bb462eYing Wang
2315bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2325bdf305bbe529a85735200353478057b65bb462eYing Wang * sprintf() format string for shared library naming.
2335bdf305bbe529a85735200353478057b65bb462eYing Wang */
2345bdf305bbe529a85735200353478057b65bb462eYing Wang#define OS_SHARED_LIB_FORMAT_STR    "lib%s.dylib"
2355bdf305bbe529a85735200353478057b65bb462eYing Wang
2365bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2375bdf305bbe529a85735200353478057b65bb462eYing Wang * type for the third argument to mincore().
2385bdf305bbe529a85735200353478057b65bb462eYing Wang */
2395bdf305bbe529a85735200353478057b65bb462eYing Wang#define MINCORE_POINTER_TYPE char *
2405bdf305bbe529a85735200353478057b65bb462eYing Wang
2415bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2425bdf305bbe529a85735200353478057b65bb462eYing Wang * The default path separator for the platform
2435bdf305bbe529a85735200353478057b65bb462eYing Wang */
2445bdf305bbe529a85735200353478057b65bb462eYing Wang#define OS_PATH_SEPARATOR '/'
2455bdf305bbe529a85735200353478057b65bb462eYing Wang
2465bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2475bdf305bbe529a85735200353478057b65bb462eYing Wang * Is the filesystem case sensitive?
2485bdf305bbe529a85735200353478057b65bb462eYing Wang *
2495bdf305bbe529a85735200353478057b65bb462eYing Wang * For tools apps, we'll treat is as not case sensitive.
2505bdf305bbe529a85735200353478057b65bb462eYing Wang */
2515bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define OS_CASE_SENSITIVE */
2525bdf305bbe529a85735200353478057b65bb462eYing Wang
2535bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2545bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if <sys/socket.h> exists.
2555bdf305bbe529a85735200353478057b65bb462eYing Wang */
2565bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SYS_SOCKET_H 1
2575bdf305bbe529a85735200353478057b65bb462eYing Wang
2585bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2595bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if the strlcpy() function exists on the system.
2605bdf305bbe529a85735200353478057b65bb462eYing Wang */
2615bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_STRLCPY 1
2625bdf305bbe529a85735200353478057b65bb462eYing Wang
2635bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2645bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if the open_memstream() function exists on the system.
2655bdf305bbe529a85735200353478057b65bb462eYing Wang */
2665bdf305bbe529a85735200353478057b65bb462eYing Wang/* #define HAVE_OPEN_MEMSTREAM 1 */
2675bdf305bbe529a85735200353478057b65bb462eYing Wang
2685bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2695bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if the BSD funopen() function exists on the system.
2705bdf305bbe529a85735200353478057b65bb462eYing Wang */
2715bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_FUNOPEN 1
2725bdf305bbe529a85735200353478057b65bb462eYing Wang
2735bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2745bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if writev() exists
2755bdf305bbe529a85735200353478057b65bb462eYing Wang */
2765bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_WRITEV 1
2775bdf305bbe529a85735200353478057b65bb462eYing Wang
2785bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2795bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if <stdint.h> exists.
2805bdf305bbe529a85735200353478057b65bb462eYing Wang */
2815bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_STDINT_H 1
2825bdf305bbe529a85735200353478057b65bb462eYing Wang
2835bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2845bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if <stdbool.h> exists.
2855bdf305bbe529a85735200353478057b65bb462eYing Wang */
2865bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_STDBOOL_H 1
2875bdf305bbe529a85735200353478057b65bb462eYing Wang
2885bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2895bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if <sched.h> exists.
2905bdf305bbe529a85735200353478057b65bb462eYing Wang */
2915bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_SCHED_H 1
2925bdf305bbe529a85735200353478057b65bb462eYing Wang
2935bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2945bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if pread() exists
2955bdf305bbe529a85735200353478057b65bb462eYing Wang */
2965bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_PREAD 1
2975bdf305bbe529a85735200353478057b65bb462eYing Wang
2985bdf305bbe529a85735200353478057b65bb462eYing Wang/*
2995bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if we have st_mtim in struct stat
3005bdf305bbe529a85735200353478057b65bb462eYing Wang */
3015bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_STAT_ST_MTIM 1
3025bdf305bbe529a85735200353478057b65bb462eYing Wang
3035bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3045bdf305bbe529a85735200353478057b65bb462eYing Wang * Define if printf() supports %zd for size_t arguments
3055bdf305bbe529a85735200353478057b65bb462eYing Wang */
3065bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_PRINTF_ZD 1
3075bdf305bbe529a85735200353478057b65bb462eYing Wang
3085bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3095bdf305bbe529a85735200353478057b65bb462eYing Wang * Define to 1 if <stdlib.h> provides qsort_r() with a BSD style function prototype.
3105bdf305bbe529a85735200353478057b65bb462eYing Wang */
3115bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_BSD_QSORT_R 1
3125bdf305bbe529a85735200353478057b65bb462eYing Wang
3135bdf305bbe529a85735200353478057b65bb462eYing Wang/*
3145bdf305bbe529a85735200353478057b65bb462eYing Wang * Define to 1 if <stdlib.h> provides qsort_r() with a GNU style function prototype.
3155bdf305bbe529a85735200353478057b65bb462eYing Wang */
3165bdf305bbe529a85735200353478057b65bb462eYing Wang#define HAVE_GNU_QSORT_R 0
3175bdf305bbe529a85735200353478057b65bb462eYing Wang
3185bdf305bbe529a85735200353478057b65bb462eYing Wang#endif /*_ANDROID_CONFIG_H*/
319