mirror of https://github.com/lukechilds/node.git
Ben Noordhuis
12 years ago
7 changed files with 646 additions and 2 deletions
@ -0,0 +1,21 @@ |
|||
#!/bin/bash |
|||
|
|||
export TOOLCHAIN=$PWD/android-toolchain |
|||
mkdir -p $TOOLCHAIN |
|||
$1/build/tools/make-standalone-toolchain.sh \ |
|||
--toolchain=arm-linux-androideabi-4.7 \ |
|||
--arch=arm \ |
|||
--install-dir=$TOOLCHAIN \ |
|||
--platform=android-9 |
|||
export PATH=$TOOLCHAIN/bin:$PATH |
|||
export AR=arm-linux-androideabi-ar |
|||
export CC=arm-linux-androideabi-gcc |
|||
export CXX=arm-linux-androideabi-g++ |
|||
export LINK=arm-linux-androideabi-g++ |
|||
export PLATFORM=android |
|||
export OS=android |
|||
|
|||
if [ $2 -a $2 == 'gyp' ] |
|||
then |
|||
./gyp_cares -DOS=android -Dtarget_arch=arm |
|||
fi |
@ -0,0 +1,512 @@ |
|||
/* ares_config.h. Generated from ares_config.h.in by configure. */ |
|||
/* ares_config.h.in. Generated from configure.ac by autoheader. */ |
|||
|
|||
/* Define if building universal (internal helper macro) */ |
|||
/* #undef AC_APPLE_UNIVERSAL_BUILD */ |
|||
|
|||
/* define this if ares is built for a big endian system */ |
|||
/* #undef ARES_BIG_ENDIAN */ |
|||
|
|||
/* when building as static part of libcurl */ |
|||
/* #undef BUILDING_LIBCURL */ |
|||
|
|||
/* when building c-ares library */ |
|||
/* #undef CARES_BUILDING_LIBRARY */ |
|||
|
|||
/* when not building a shared library */ |
|||
/* #undef CARES_STATICLIB */ |
|||
|
|||
/* Define to 1 to enable hiding of library internal symbols. */ |
|||
#define CARES_SYMBOL_HIDING 1 |
|||
|
|||
/* Definition to make a library symbol externally visible. */ |
|||
#define CARES_SYMBOL_SCOPE_EXTERN __attribute__ ((visibility ("default"))) |
|||
|
|||
/* if a /etc/inet dir is being used */ |
|||
/* #undef ETC_INET */ |
|||
|
|||
/* Define to the type qualifier of arg 1 for getnameinfo. */ |
|||
#define GETNAMEINFO_QUAL_ARG1 const |
|||
|
|||
/* Define to the type of arg 1 for getnameinfo. */ |
|||
#define GETNAMEINFO_TYPE_ARG1 struct sockaddr * |
|||
|
|||
/* Define to the type of arg 2 for getnameinfo. */ |
|||
#define GETNAMEINFO_TYPE_ARG2 socklen_t |
|||
|
|||
/* Define to the type of args 4 and 6 for getnameinfo. */ |
|||
#define GETNAMEINFO_TYPE_ARG46 size_t |
|||
|
|||
/* Define to the type of arg 7 for getnameinfo. */ |
|||
#define GETNAMEINFO_TYPE_ARG7 unsigned int |
|||
|
|||
/* Specifies the number of arguments to getservbyport_r */ |
|||
#define GETSERVBYPORT_R_ARGS 6 |
|||
|
|||
/* Specifies the size of the buffer to pass to getservbyport_r */ |
|||
#define GETSERVBYPORT_R_BUFSIZE 4096 |
|||
|
|||
/* Define to 1 if you have AF_INET6. */ |
|||
#define HAVE_AF_INET6 1 |
|||
|
|||
/* Define to 1 if you have the <arpa/inet.h> header file. */ |
|||
#define HAVE_ARPA_INET_H 1 |
|||
|
|||
/* Define to 1 if you have the <arpa/nameser_compat.h> header file. */ |
|||
//#define HAVE_ARPA_NAMESER_COMPAT_H 1
|
|||
|
|||
/* Define to 1 if you have the <arpa/nameser.h> header file. */ |
|||
//#define HAVE_ARPA_NAMESER_H 1
|
|||
|
|||
/* Define to 1 if you have the <assert.h> header file. */ |
|||
#define HAVE_ASSERT_H 1 |
|||
|
|||
/* Define to 1 if you have the `bitncmp' function. */ |
|||
/* #undef HAVE_BITNCMP */ |
|||
|
|||
/* Define to 1 if bool is an available type. */ |
|||
#define HAVE_BOOL_T 1 |
|||
|
|||
/* Define to 1 if you have the clock_gettime function and monotonic timer. */ |
|||
#define HAVE_CLOCK_GETTIME_MONOTONIC 1 |
|||
|
|||
/* Define to 1 if you have the closesocket function. */ |
|||
/* #undef HAVE_CLOSESOCKET */ |
|||
|
|||
/* Define to 1 if you have the CloseSocket camel case function. */ |
|||
/* #undef HAVE_CLOSESOCKET_CAMEL */ |
|||
|
|||
/* Define to 1 if you have the connect function. */ |
|||
#define HAVE_CONNECT 1 |
|||
|
|||
/* Define to 1 if you have the <dlfcn.h> header file. */ |
|||
#define HAVE_DLFCN_H 1 |
|||
|
|||
/* Define to 1 if you have the <errno.h> header file. */ |
|||
#define HAVE_ERRNO_H 1 |
|||
|
|||
/* Define to 1 if you have the fcntl function. */ |
|||
#define HAVE_FCNTL 1 |
|||
|
|||
/* Define to 1 if you have the <fcntl.h> header file. */ |
|||
#define HAVE_FCNTL_H 1 |
|||
|
|||
/* Define to 1 if you have a working fcntl O_NONBLOCK function. */ |
|||
#define HAVE_FCNTL_O_NONBLOCK 1 |
|||
|
|||
/* Define to 1 if you have the freeaddrinfo function. */ |
|||
#define HAVE_FREEADDRINFO 1 |
|||
|
|||
/* Define to 1 if you have a working getaddrinfo function. */ |
|||
#define HAVE_GETADDRINFO 1 |
|||
|
|||
/* Define to 1 if the getaddrinfo function is threadsafe. */ |
|||
#define HAVE_GETADDRINFO_THREADSAFE 1 |
|||
|
|||
/* Define to 1 if you have the gethostbyaddr function. */ |
|||
#define HAVE_GETHOSTBYADDR 1 |
|||
|
|||
/* Define to 1 if you have the gethostbyname function. */ |
|||
#define HAVE_GETHOSTBYNAME 1 |
|||
|
|||
/* Define to 1 if you have the gethostname function. */ |
|||
#define HAVE_GETHOSTNAME 1 |
|||
|
|||
/* Define to 1 if you have the getnameinfo function. */ |
|||
#define HAVE_GETNAMEINFO 1 |
|||
|
|||
/* Define to 1 if you have the getservbyport_r function. */ |
|||
#define HAVE_GETSERVBYPORT_R 1 |
|||
|
|||
/* Define to 1 if you have the `gettimeofday' function. */ |
|||
#define HAVE_GETTIMEOFDAY 1 |
|||
|
|||
/* Define to 1 if you have the `if_indextoname' function. */ |
|||
#define HAVE_IF_INDEXTONAME 1 |
|||
|
|||
/* Define to 1 if you have the `inet_net_pton' function. */ |
|||
/* #undef HAVE_INET_NET_PTON */ |
|||
|
|||
/* Define to 1 if inet_net_pton supports IPv6. */ |
|||
/* #undef HAVE_INET_NET_PTON_IPV6 */ |
|||
|
|||
/* Define to 1 if you have a IPv6 capable working inet_ntop function. */ |
|||
#define HAVE_INET_NTOP 1 |
|||
|
|||
/* Define to 1 if you have a IPv6 capable working inet_pton function. */ |
|||
#define HAVE_INET_PTON 1 |
|||
|
|||
/* Define to 1 if you have the <inttypes.h> header file. */ |
|||
#define HAVE_INTTYPES_H 1 |
|||
|
|||
/* Define to 1 if you have the ioctl function. */ |
|||
#define HAVE_IOCTL 1 |
|||
|
|||
/* Define to 1 if you have the ioctlsocket function. */ |
|||
/* #undef HAVE_IOCTLSOCKET */ |
|||
|
|||
/* Define to 1 if you have the IoctlSocket camel case function. */ |
|||
/* #undef HAVE_IOCTLSOCKET_CAMEL */ |
|||
|
|||
/* Define to 1 if you have a working IoctlSocket camel case FIONBIO function.
|
|||
*/ |
|||
/* #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO */ |
|||
|
|||
/* Define to 1 if you have a working ioctlsocket FIONBIO function. */ |
|||
/* #undef HAVE_IOCTLSOCKET_FIONBIO */ |
|||
|
|||
/* Define to 1 if you have a working ioctl FIONBIO function. */ |
|||
#define HAVE_IOCTL_FIONBIO 1 |
|||
|
|||
/* Define to 1 if you have a working ioctl SIOCGIFADDR function. */ |
|||
#define HAVE_IOCTL_SIOCGIFADDR 1 |
|||
|
|||
/* Define to 1 if you have the `resolve' library (-lresolve). */ |
|||
/* #undef HAVE_LIBRESOLVE */ |
|||
|
|||
/* Define to 1 if you have the <limits.h> header file. */ |
|||
#define HAVE_LIMITS_H 1 |
|||
|
|||
/* if your compiler supports LL */ |
|||
#define HAVE_LL 1 |
|||
|
|||
/* Define to 1 if the compiler supports the 'long long' data type. */ |
|||
#define HAVE_LONGLONG 1 |
|||
|
|||
/* Define to 1 if you have the malloc.h header file. */ |
|||
#define HAVE_MALLOC_H 1 |
|||
|
|||
/* Define to 1 if you have the memory.h header file. */ |
|||
#define HAVE_MEMORY_H 1 |
|||
|
|||
/* Define to 1 if you have the MSG_NOSIGNAL flag. */ |
|||
#define HAVE_MSG_NOSIGNAL 1 |
|||
|
|||
/* Define to 1 if you have the <netdb.h> header file. */ |
|||
#define HAVE_NETDB_H 1 |
|||
|
|||
/* Define to 1 if you have the <netinet/in.h> header file. */ |
|||
#define HAVE_NETINET_IN_H 1 |
|||
|
|||
/* Define to 1 if you have the <netinet/tcp.h> header file. */ |
|||
#define HAVE_NETINET_TCP_H 1 |
|||
|
|||
/* Define to 1 if you have the <net/if.h> header file. */ |
|||
#define HAVE_NET_IF_H 1 |
|||
|
|||
/* Define to 1 if you have PF_INET6. */ |
|||
#define HAVE_PF_INET6 1 |
|||
|
|||
/* Define to 1 if you have the recv function. */ |
|||
#define HAVE_RECV 1 |
|||
|
|||
/* Define to 1 if you have the recvfrom function. */ |
|||
#define HAVE_RECVFROM 1 |
|||
|
|||
/* Define to 1 if you have the send function. */ |
|||
#define HAVE_SEND 1 |
|||
|
|||
/* Define to 1 if you have the setsockopt function. */ |
|||
#define HAVE_SETSOCKOPT 1 |
|||
|
|||
/* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */ |
|||
/* #undef HAVE_SETSOCKOPT_SO_NONBLOCK */ |
|||
|
|||
/* Define to 1 if you have the <signal.h> header file. */ |
|||
#define HAVE_SIGNAL_H 1 |
|||
|
|||
/* Define to 1 if sig_atomic_t is an available typedef. */ |
|||
#define HAVE_SIG_ATOMIC_T 1 |
|||
|
|||
/* Define to 1 if sig_atomic_t is already defined as volatile. */ |
|||
/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */ |
|||
|
|||
/* Define to 1 if your struct sockaddr_in6 has sin6_scope_id. */ |
|||
#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 |
|||
|
|||
/* Define to 1 if you have the socket function. */ |
|||
#define HAVE_SOCKET 1 |
|||
|
|||
/* Define to 1 if you have the <socket.h> header file. */ |
|||
/* #undef HAVE_SOCKET_H */ |
|||
|
|||
/* Define to 1 if you have the <stdbool.h> header file. */ |
|||
#define HAVE_STDBOOL_H 1 |
|||
|
|||
/* Define to 1 if you have the <stdint.h> header file. */ |
|||
#define HAVE_STDINT_H 1 |
|||
|
|||
/* Define to 1 if you have the <stdlib.h> header file. */ |
|||
#define HAVE_STDLIB_H 1 |
|||
|
|||
/* Define to 1 if you have the strcasecmp function. */ |
|||
#define HAVE_STRCASECMP 1 |
|||
|
|||
/* Define to 1 if you have the strcmpi function. */ |
|||
/* #undef HAVE_STRCMPI */ |
|||
|
|||
/* Define to 1 if you have the strdup function. */ |
|||
#define HAVE_STRDUP 1 |
|||
|
|||
/* Define to 1 if you have the stricmp function. */ |
|||
/* #undef HAVE_STRICMP */ |
|||
|
|||
/* Define to 1 if you have the <strings.h> header file. */ |
|||
#define HAVE_STRINGS_H 1 |
|||
|
|||
/* Define to 1 if you have the <string.h> header file. */ |
|||
#define HAVE_STRING_H 1 |
|||
|
|||
/* Define to 1 if you have the strncasecmp function. */ |
|||
#define HAVE_STRNCASECMP 1 |
|||
|
|||
/* Define to 1 if you have the strncmpi function. */ |
|||
/* #undef HAVE_STRNCMPI */ |
|||
|
|||
/* Define to 1 if you have the strnicmp function. */ |
|||
/* #undef HAVE_STRNICMP */ |
|||
|
|||
/* Define to 1 if you have the <stropts.h> header file. */ |
|||
#define HAVE_STROPTS_H 1 |
|||
|
|||
/* Define to 1 if you have struct addrinfo. */ |
|||
#define HAVE_STRUCT_ADDRINFO 1 |
|||
|
|||
/* Define to 1 if you have struct in6_addr. */ |
|||
#define HAVE_STRUCT_IN6_ADDR 1 |
|||
|
|||
/* Define to 1 if you have struct sockaddr_in6. */ |
|||
#define HAVE_STRUCT_SOCKADDR_IN6 1 |
|||
|
|||
/* if struct sockaddr_storage is defined */ |
|||
#define HAVE_STRUCT_SOCKADDR_STORAGE 1 |
|||
|
|||
/* Define to 1 if you have the timeval struct. */ |
|||
#define HAVE_STRUCT_TIMEVAL 1 |
|||
|
|||
/* Define to 1 if you have the <sys/ioctl.h> header file. */ |
|||
#define HAVE_SYS_IOCTL_H 1 |
|||
|
|||
/* Define to 1 if you have the <sys/param.h> header file. */ |
|||
#define HAVE_SYS_PARAM_H 1 |
|||
|
|||
/* Define to 1 if you have the <sys/select.h> header file. */ |
|||
#define HAVE_SYS_SELECT_H 1 |
|||
|
|||
/* Define to 1 if you have the <sys/socket.h> header file. */ |
|||
#define HAVE_SYS_SOCKET_H 1 |
|||
|
|||
/* Define to 1 if you have the <sys/stat.h> header file. */ |
|||
#define HAVE_SYS_STAT_H 1 |
|||
|
|||
/* Define to 1 if you have the <sys/time.h> header file. */ |
|||
#define HAVE_SYS_TIME_H 1 |
|||
|
|||
/* Define to 1 if you have the <sys/types.h> header file. */ |
|||
#define HAVE_SYS_TYPES_H 1 |
|||
|
|||
/* Define to 1 if you have the <sys/uio.h> header file. */ |
|||
#define HAVE_SYS_UIO_H 1 |
|||
|
|||
/* Define to 1 if you have the <time.h> header file. */ |
|||
#define HAVE_TIME_H 1 |
|||
|
|||
/* Define to 1 if you have the <unistd.h> header file. */ |
|||
#define HAVE_UNISTD_H 1 |
|||
|
|||
/* Define to 1 if you have the windows.h header file. */ |
|||
/* #undef HAVE_WINDOWS_H */ |
|||
|
|||
/* Define to 1 if you have the winsock2.h header file. */ |
|||
/* #undef HAVE_WINSOCK2_H */ |
|||
|
|||
/* Define to 1 if you have the winsock.h header file. */ |
|||
/* #undef HAVE_WINSOCK_H */ |
|||
|
|||
/* Define to 1 if you have the writev function. */ |
|||
#define HAVE_WRITEV 1 |
|||
|
|||
/* Define to 1 if you have the ws2tcpip.h header file. */ |
|||
/* #undef HAVE_WS2TCPIP_H */ |
|||
|
|||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
|||
*/ |
|||
#define LT_OBJDIR ".libs/" |
|||
|
|||
/* Define to 1 if you are building a native Windows target. */ |
|||
/* #undef NATIVE_WINDOWS */ |
|||
|
|||
/* Define to 1 if you need the malloc.h header file even with stdlib.h */ |
|||
/* #undef NEED_MALLOC_H */ |
|||
|
|||
/* Define to 1 if you need the memory.h header file even with stdlib.h */ |
|||
/* #undef NEED_MEMORY_H */ |
|||
|
|||
/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */ |
|||
/* #undef NEED_REENTRANT */ |
|||
|
|||
/* Define to 1 if _THREAD_SAFE preprocessor symbol must be defined. */ |
|||
/* #undef NEED_THREAD_SAFE */ |
|||
|
|||
/* Define to 1 if your C compiler doesn't accept -c and -o together. */ |
|||
/* #undef NO_MINUS_C_MINUS_O */ |
|||
|
|||
/* cpu-machine-OS */ |
|||
#define OS "i686-pc-linux-gnu" |
|||
|
|||
/* Name of package */ |
|||
#define PACKAGE "c-ares" |
|||
|
|||
/* Define to the address where bug reports for this package should be sent. */ |
|||
#define PACKAGE_BUGREPORT "c-ares mailing list => http://cool.haxx.se/mailman/listinfo/c-ares"
|
|||
|
|||
/* Define to the full name of this package. */ |
|||
#define PACKAGE_NAME "c-ares" |
|||
|
|||
/* Define to the full name and version of this package. */ |
|||
#define PACKAGE_STRING "c-ares 1.7.1" |
|||
|
|||
/* Define to the one symbol short name of this package. */ |
|||
#define PACKAGE_TARNAME "c-ares" |
|||
|
|||
/* Define to the home page for this package. */ |
|||
#define PACKAGE_URL "" |
|||
|
|||
/* Define to the version of this package. */ |
|||
#define PACKAGE_VERSION "1.7.1" |
|||
|
|||
/* a suitable file/device to read random data from */ |
|||
#define RANDOM_FILE "/dev/urandom" |
|||
|
|||
/* Define to the type of arg 1 for recvfrom. */ |
|||
#define RECVFROM_TYPE_ARG1 int |
|||
|
|||
/* Define to the type pointed by arg 2 for recvfrom. */ |
|||
#define RECVFROM_TYPE_ARG2 void |
|||
|
|||
/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */ |
|||
#define RECVFROM_TYPE_ARG2_IS_VOID 1 |
|||
|
|||
/* Define to the type of arg 3 for recvfrom. */ |
|||
#define RECVFROM_TYPE_ARG3 size_t |
|||
|
|||
/* Define to the type of arg 4 for recvfrom. */ |
|||
#define RECVFROM_TYPE_ARG4 int |
|||
|
|||
/* Define to the type pointed by arg 5 for recvfrom. */ |
|||
#define RECVFROM_TYPE_ARG5 struct sockaddr |
|||
|
|||
/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */ |
|||
/* #undef RECVFROM_TYPE_ARG5_IS_VOID */ |
|||
|
|||
/* Define to the type pointed by arg 6 for recvfrom. */ |
|||
#define RECVFROM_TYPE_ARG6 socklen_t |
|||
|
|||
/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */ |
|||
/* #undef RECVFROM_TYPE_ARG6_IS_VOID */ |
|||
|
|||
/* Define to the function return type for recvfrom. */ |
|||
#define RECVFROM_TYPE_RETV int |
|||
|
|||
/* Define to the type of arg 1 for recv. */ |
|||
#define RECV_TYPE_ARG1 int |
|||
|
|||
/* Define to the type of arg 2 for recv. */ |
|||
#define RECV_TYPE_ARG2 void * |
|||
|
|||
/* Define to the type of arg 3 for recv. */ |
|||
#define RECV_TYPE_ARG3 size_t |
|||
|
|||
/* Define to the type of arg 4 for recv. */ |
|||
#define RECV_TYPE_ARG4 int |
|||
|
|||
/* Define to the function return type for recv. */ |
|||
#define RECV_TYPE_RETV int |
|||
|
|||
/* Define as the return type of signal handlers (`int' or `void'). */ |
|||
#define RETSIGTYPE void |
|||
|
|||
/* Define to the type qualifier of arg 2 for send. */ |
|||
#define SEND_QUAL_ARG2 const |
|||
|
|||
/* Define to the type of arg 1 for send. */ |
|||
#define SEND_TYPE_ARG1 int |
|||
|
|||
/* Define to the type of arg 2 for send. */ |
|||
#define SEND_TYPE_ARG2 void * |
|||
|
|||
/* Define to the type of arg 3 for send. */ |
|||
#define SEND_TYPE_ARG3 size_t |
|||
|
|||
/* Define to the type of arg 4 for send. */ |
|||
#define SEND_TYPE_ARG4 int |
|||
|
|||
/* Define to the function return type for send. */ |
|||
#define SEND_TYPE_RETV int |
|||
|
|||
/* The size of `int', as computed by sizeof. */ |
|||
#define SIZEOF_INT 4 |
|||
|
|||
/* The size of `long', as computed by sizeof. */ |
|||
#define SIZEOF_LONG 4 |
|||
|
|||
/* The size of `size_t', as computed by sizeof. */ |
|||
#define SIZEOF_SIZE_T 4 |
|||
|
|||
/* The size of `struct in6_addr', as computed by sizeof. */ |
|||
#define SIZEOF_STRUCT_IN6_ADDR 16 |
|||
|
|||
/* The size of `struct in_addr', as computed by sizeof. */ |
|||
#define SIZEOF_STRUCT_IN_ADDR 4 |
|||
|
|||
/* The size of `time_t', as computed by sizeof. */ |
|||
#define SIZEOF_TIME_T 4 |
|||
|
|||
/* Define to 1 if you have the ANSI C header files. */ |
|||
#define STDC_HEADERS 1 |
|||
|
|||
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ |
|||
#define TIME_WITH_SYS_TIME 1 |
|||
|
|||
/* Define to disable non-blocking sockets. */ |
|||
/* #undef USE_BLOCKING_SOCKETS */ |
|||
|
|||
/* Version number of package */ |
|||
#define VERSION "1.7.1" |
|||
|
|||
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
|||
significant byte first (like Motorola and SPARC, unlike Intel). */ |
|||
#if defined AC_APPLE_UNIVERSAL_BUILD |
|||
# if defined __BIG_ENDIAN__ |
|||
# define WORDS_BIGENDIAN 1 |
|||
# endif |
|||
#else |
|||
# ifndef WORDS_BIGENDIAN |
|||
/* # undef WORDS_BIGENDIAN */ |
|||
# endif |
|||
#endif |
|||
|
|||
/* Define to 1 if OS is AIX. */ |
|||
#ifndef _ALL_SOURCE |
|||
/* # undef _ALL_SOURCE */ |
|||
#endif |
|||
|
|||
/* Number of bits in a file offset, on hosts where this is settable. */ |
|||
#define _FILE_OFFSET_BITS 64 |
|||
|
|||
/* Define for large files, on AIX-style hosts. */ |
|||
/* #undef _LARGE_FILES */ |
|||
|
|||
/* Define to empty if `const' does not conform to ANSI C. */ |
|||
/* #undef const */ |
|||
|
|||
/* Type to use in place of in_addr_t when system does not provide it. */ |
|||
/* #undef in_addr_t */ |
|||
|
|||
/* Define to `unsigned int' if <sys/types.h> does not define. */ |
|||
/* #undef size_t */ |
|||
|
|||
/* the signed version of size_t */ |
|||
/* #undef ssize_t */ |
|||
|
|||
#define HAVE_GETENV 1 |
@ -0,0 +1,98 @@ |
|||
#!/usr/bin/env python |
|||
|
|||
import glob |
|||
import platform |
|||
import os |
|||
import subprocess |
|||
import sys |
|||
|
|||
CC = os.environ.get('CC', 'cc') |
|||
script_dir = os.path.dirname(__file__) |
|||
cares_root = os.path.normpath(script_dir) |
|||
output_dir = os.path.join(os.path.abspath(cares_root), 'out') |
|||
|
|||
sys.path.insert(0, os.path.join(cares_root, 'build', 'gyp', 'pylib')) |
|||
try: |
|||
import gyp |
|||
except ImportError: |
|||
print('You need to install gyp in build/gyp first. See the README.') |
|||
sys.exit(42) |
|||
|
|||
|
|||
def host_arch(): |
|||
machine = platform.machine() |
|||
if machine == 'i386': return 'ia32' |
|||
if machine == 'x86_64': return 'x64' |
|||
if machine.startswith('arm'): return 'arm' |
|||
return machine # Return as-is and hope for the best. |
|||
|
|||
|
|||
def compiler_version(): |
|||
proc = subprocess.Popen(CC.split() + ['--version'], stdout=subprocess.PIPE) |
|||
is_clang = 'clang' in proc.communicate()[0].split('\n')[0] |
|||
proc = subprocess.Popen(CC.split() + ['-dumpversion'], stdout=subprocess.PIPE) |
|||
version = proc.communicate()[0].split('.') |
|||
version = map(int, version[:2]) |
|||
version = tuple(version) |
|||
return (version, is_clang) |
|||
|
|||
|
|||
def run_gyp(args): |
|||
rc = gyp.main(args) |
|||
if rc != 0: |
|||
print 'Error running GYP' |
|||
sys.exit(rc) |
|||
|
|||
|
|||
if __name__ == '__main__': |
|||
args = sys.argv[1:] |
|||
|
|||
# GYP bug. |
|||
# On msvs it will crash if it gets an absolute path. |
|||
# On Mac/make it will crash if it doesn't get an absolute path. |
|||
if sys.platform == 'win32': |
|||
args.append(os.path.join(cares_root, 'cares.gyp')) |
|||
common_fn = os.path.join(cares_root, 'common.gypi') |
|||
options_fn = os.path.join(cares_root, 'options.gypi') |
|||
# we force vs 2010 over 2008 which would otherwise be the default for gyp |
|||
if not os.environ.get('GYP_MSVS_VERSION'): |
|||
os.environ['GYP_MSVS_VERSION'] = '2010' |
|||
else: |
|||
args.append(os.path.join(os.path.abspath(cares_root), 'cares.gyp')) |
|||
common_fn = os.path.join(os.path.abspath(cares_root), 'common.gypi') |
|||
options_fn = os.path.join(os.path.abspath(cares_root), 'options.gypi') |
|||
|
|||
if os.path.exists(common_fn): |
|||
args.extend(['-I', common_fn]) |
|||
|
|||
if os.path.exists(options_fn): |
|||
args.extend(['-I', options_fn]) |
|||
|
|||
args.append('--depth=' + cares_root) |
|||
|
|||
# There's a bug with windows which doesn't allow this feature. |
|||
if sys.platform != 'win32': |
|||
if '-f' not in args: |
|||
args.extend('-f make'.split()) |
|||
if 'ninja' not in args: |
|||
args.extend(['-Goutput_dir=' + output_dir]) |
|||
args.extend(['--generator-output', output_dir]) |
|||
(major, minor), is_clang = compiler_version() |
|||
args.append('-Dgcc_version=%d' % (10 * major + minor)) |
|||
args.append('-Dclang=%d' % int(is_clang)) |
|||
|
|||
if not any(a.startswith('-Dhost_arch=') for a in args): |
|||
args.append('-Dhost_arch=%s' % host_arch()) |
|||
|
|||
if not any(a.startswith('-Dtarget_arch=') for a in args): |
|||
args.append('-Dtarget_arch=%s' % host_arch()) |
|||
|
|||
if not any(a.startswith('-Dlibrary=') for a in args): |
|||
args.append('-Dlibrary=static_library') |
|||
|
|||
if not any(a.startswith('-Dcomponent=') for a in args): |
|||
args.append('-Dcomponent=static_library') |
|||
|
|||
gyp_args = list(args) |
|||
print gyp_args |
|||
run_gyp(gyp_args) |
Loading…
Reference in new issue