| Index: third_party/grpc/include/grpc/impl/codegen/port_platform.h
|
| diff --git a/third_party/grpc/include/grpc/impl/codegen/port_platform.h b/third_party/grpc/include/grpc/impl/codegen/port_platform.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..92569043fcca618bb15493ad082e91af6850524f
|
| --- /dev/null
|
| +++ b/third_party/grpc/include/grpc/impl/codegen/port_platform.h
|
| @@ -0,0 +1,370 @@
|
| +/*
|
| + *
|
| + * Copyright 2015-2016, Google Inc.
|
| + * All rights reserved.
|
| + *
|
| + * Redistribution and use in source and binary forms, with or without
|
| + * modification, are permitted provided that the following conditions are
|
| + * met:
|
| + *
|
| + * * Redistributions of source code must retain the above copyright
|
| + * notice, this list of conditions and the following disclaimer.
|
| + * * Redistributions in binary form must reproduce the above
|
| + * copyright notice, this list of conditions and the following disclaimer
|
| + * in the documentation and/or other materials provided with the
|
| + * distribution.
|
| + * * Neither the name of Google Inc. nor the names of its
|
| + * contributors may be used to endorse or promote products derived from
|
| + * this software without specific prior written permission.
|
| + *
|
| + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| + *
|
| + */
|
| +
|
| +#ifndef GRPC_IMPL_CODEGEN_PORT_PLATFORM_H
|
| +#define GRPC_IMPL_CODEGEN_PORT_PLATFORM_H
|
| +
|
| +/*
|
| + * Define GPR_BACKWARDS_COMPATIBILITY_MODE to try harder to be ABI
|
| + * compatible with older platforms (currently only on Linux)
|
| + * Causes:
|
| + * - some libc calls to be gotten via dlsym
|
| + * - some syscalls to be made directly
|
| + */
|
| +
|
| +/* Get windows.h included everywhere (we need it) */
|
| +#if defined(_WIN64) || defined(WIN64) || defined(_WIN32) || defined(WIN32)
|
| +#ifndef WIN32_LEAN_AND_MEAN
|
| +#define GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
|
| +#define WIN32_LEAN_AND_MEAN
|
| +#endif /* WIN32_LEAN_AND_MEAN */
|
| +
|
| +#ifndef NOMINMAX
|
| +#define GRPC_NOMINMX_WAS_NOT_DEFINED
|
| +#define NOMINMAX
|
| +#endif /* NOMINMAX */
|
| +
|
| +#ifndef _WIN32_WINNT
|
| +#error \
|
| + "Please compile grpc with _WIN32_WINNT of at least 0x600 (aka Windows Vista)"
|
| +#else /* !defined(_WIN32_WINNT) */
|
| +#if (_WIN32_WINNT < 0x0600)
|
| +#error \
|
| + "Please compile grpc with _WIN32_WINNT of at least 0x600 (aka Windows Vista)"
|
| +#endif /* _WIN32_WINNT < 0x0600 */
|
| +#endif /* defined(_WIN32_WINNT) */
|
| +
|
| +#include <windows.h>
|
| +
|
| +#ifdef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
|
| +#undef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
|
| +#undef WIN32_LEAN_AND_MEAN
|
| +#endif /* GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED */
|
| +
|
| +#ifdef GRPC_NOMINMAX_WAS_NOT_DEFINED
|
| +#undef GRPC_NOMINMAX_WAS_NOT_DEFINED
|
| +#undef NOMINMAX
|
| +#endif /* GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED */
|
| +#endif /* defined(_WIN64) || defined(WIN64) || defined(_WIN32) || \
|
| + defined(WIN32) */
|
| +
|
| +/* Override this file with one for your platform if you need to redefine
|
| + things. */
|
| +
|
| +#if !defined(GPR_NO_AUTODETECT_PLATFORM)
|
| +#if defined(_WIN64) || defined(WIN64)
|
| +#define GPR_PLATFORM_STRING "windows"
|
| +#define GPR_WIN32 1
|
| +#define GPR_ARCH_64 1
|
| +#define GPR_GETPID_IN_PROCESS_H 1
|
| +#define GPR_WINSOCK_SOCKET 1
|
| +#define GPR_WINDOWS_SUBPROCESS 1
|
| +#ifdef __GNUC__
|
| +#define GPR_GCC_ATOMIC 1
|
| +#define GPR_GCC_TLS 1
|
| +#else
|
| +#define GPR_WIN32_ATOMIC 1
|
| +#define GPR_MSVC_TLS 1
|
| +#endif
|
| +#define GPR_WINDOWS_CRASH_HANDLER 1
|
| +#elif defined(_WIN32) || defined(WIN32)
|
| +#define GPR_PLATFORM_STRING "windows"
|
| +#define GPR_ARCH_32 1
|
| +#define GPR_WIN32 1
|
| +#define GPR_GETPID_IN_PROCESS_H 1
|
| +#define GPR_WINSOCK_SOCKET 1
|
| +#define GPR_WINDOWS_SUBPROCESS 1
|
| +#ifdef __GNUC__
|
| +#define GPR_GCC_ATOMIC 1
|
| +#define GPR_GCC_TLS 1
|
| +#else
|
| +#define GPR_WIN32_ATOMIC 1
|
| +#define GPR_MSVC_TLS 1
|
| +#endif
|
| +#define GPR_WINDOWS_CRASH_HANDLER 1
|
| +#elif defined(ANDROID) || defined(__ANDROID__)
|
| +#define GPR_PLATFORM_STRING "android"
|
| +#define GPR_ANDROID 1
|
| +#define GPR_ARCH_32 1
|
| +#define GPR_CPU_LINUX 1
|
| +#define GPR_GCC_SYNC 1
|
| +#define GPR_GCC_TLS 1
|
| +#define GPR_POSIX_MULTIPOLL_WITH_POLL 1
|
| +#define GPR_POSIX_WAKEUP_FD 1
|
| +#define GPR_LINUX_EVENTFD 1
|
| +#define GPR_POSIX_SOCKET 1
|
| +#define GPR_POSIX_SOCKETADDR 1
|
| +#define GPR_POSIX_SOCKETUTILS 1
|
| +#define GPR_POSIX_ENV 1
|
| +#define GPR_POSIX_FILE 1
|
| +#define GPR_POSIX_STRING 1
|
| +#define GPR_POSIX_SUBPROCESS 1
|
| +#define GPR_POSIX_SYNC 1
|
| +#define GPR_POSIX_TIME 1
|
| +#define GPR_GETPID_IN_UNISTD_H 1
|
| +#define GPR_HAVE_MSG_NOSIGNAL 1
|
| +#elif defined(__linux__)
|
| +#define GPR_POSIX_CRASH_HANDLER 1
|
| +#define GPR_PLATFORM_STRING "linux"
|
| +#ifndef _BSD_SOURCE
|
| +#define _BSD_SOURCE
|
| +#endif
|
| +#ifndef _DEFAULT_SOURCE
|
| +#define _DEFAULT_SOURCE
|
| +#endif
|
| +#ifndef _GNU_SOURCE
|
| +#define _GNU_SOURCE
|
| +#endif
|
| +#include <features.h>
|
| +#define GPR_CPU_LINUX 1
|
| +#define GPR_GCC_ATOMIC 1
|
| +#define GPR_GCC_TLS 1
|
| +#define GPR_LINUX 1
|
| +#define GPR_LINUX_MULTIPOLL_WITH_EPOLL 1
|
| +#define GPR_POSIX_WAKEUP_FD 1
|
| +#define GPR_POSIX_SOCKET 1
|
| +#define GPR_POSIX_SOCKETADDR 1
|
| +#ifdef __GLIBC_PREREQ
|
| +#if __GLIBC_PREREQ(2, 9)
|
| +#define GPR_LINUX_EVENTFD 1
|
| +#endif
|
| +#if __GLIBC_PREREQ(2, 10)
|
| +#define GPR_LINUX_SOCKETUTILS 1
|
| +#endif
|
| +#endif
|
| +#define GPR_LINUX_ENV 1
|
| +#ifndef GPR_LINUX_EVENTFD
|
| +#define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
|
| +#endif
|
| +#ifndef GPR_LINUX_SOCKETUTILS
|
| +#define GPR_POSIX_SOCKETUTILS
|
| +#endif
|
| +#define GPR_POSIX_FILE 1
|
| +#define GPR_POSIX_STRING 1
|
| +#define GPR_POSIX_SUBPROCESS 1
|
| +#define GPR_POSIX_SYNC 1
|
| +#define GPR_POSIX_TIME 1
|
| +#define GPR_GETPID_IN_UNISTD_H 1
|
| +#define GPR_HAVE_MSG_NOSIGNAL 1
|
| +#ifdef _LP64
|
| +#define GPR_ARCH_64 1
|
| +#else /* _LP64 */
|
| +#define GPR_ARCH_32 1
|
| +#endif /* _LP64 */
|
| +#elif defined(__APPLE__)
|
| +#include <TargetConditionals.h>
|
| +#ifndef _BSD_SOURCE
|
| +#define _BSD_SOURCE
|
| +#endif
|
| +#define GPR_MSG_IOVLEN_TYPE int
|
| +#if TARGET_OS_IPHONE
|
| +#define GPR_FORBID_UNREACHABLE_CODE 1
|
| +#define GPR_PLATFORM_STRING "ios"
|
| +#define GPR_CPU_IPHONE 1
|
| +#define GPR_PTHREAD_TLS 1
|
| +#else /* TARGET_OS_IPHONE */
|
| +#define GPR_PLATFORM_STRING "osx"
|
| +#define GPR_CPU_POSIX 1
|
| +#define GPR_GCC_TLS 1
|
| +#define GPR_POSIX_CRASH_HANDLER 1
|
| +#endif
|
| +#define GPR_GCC_ATOMIC 1
|
| +#define GPR_POSIX_LOG 1
|
| +#define GPR_POSIX_MULTIPOLL_WITH_POLL 1
|
| +#define GPR_POSIX_WAKEUP_FD 1
|
| +#define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
|
| +#define GPR_POSIX_SOCKET 1
|
| +#define GPR_POSIX_SOCKETADDR 1
|
| +#define GPR_POSIX_SOCKETUTILS 1
|
| +#define GPR_POSIX_ENV 1
|
| +#define GPR_POSIX_FILE 1
|
| +#define GPR_POSIX_STRING 1
|
| +#define GPR_POSIX_SUBPROCESS 1
|
| +#define GPR_POSIX_SYNC 1
|
| +#define GPR_POSIX_TIME 1
|
| +#define GPR_GETPID_IN_UNISTD_H 1
|
| +#define GPR_HAVE_SO_NOSIGPIPE 1
|
| +#ifdef _LP64
|
| +#define GPR_ARCH_64 1
|
| +#else /* _LP64 */
|
| +#define GPR_ARCH_32 1
|
| +#endif /* _LP64 */
|
| +#elif defined(__FreeBSD__)
|
| +#define GPR_PLATFORM_STRING "freebsd"
|
| +#ifndef _BSD_SOURCE
|
| +#define _BSD_SOURCE
|
| +#endif
|
| +#define GPR_CPU_POSIX 1
|
| +#define GPR_GCC_ATOMIC 1
|
| +#define GPR_GCC_TLS 1
|
| +#define GPR_POSIX_LOG 1
|
| +#define GPR_POSIX_MULTIPOLL_WITH_POLL 1
|
| +#define GPR_POSIX_WAKEUP_FD 1
|
| +#define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
|
| +#define GPR_POSIX_SOCKET 1
|
| +#define GPR_POSIX_SOCKETADDR 1
|
| +#define GPR_POSIX_SOCKETUTILS 1
|
| +#define GPR_POSIX_ENV 1
|
| +#define GPR_POSIX_FILE 1
|
| +#define GPR_POSIX_STRING 1
|
| +#define GPR_POSIX_SUBPROCESS 1
|
| +#define GPR_POSIX_SYNC 1
|
| +#define GPR_POSIX_TIME 1
|
| +#define GPR_GETPID_IN_UNISTD_H 1
|
| +#define GPR_HAVE_SO_NOSIGPIPE 1
|
| +#ifdef _LP64
|
| +#define GPR_ARCH_64 1
|
| +#else /* _LP64 */
|
| +#define GPR_ARCH_32 1
|
| +#endif /* _LP64 */
|
| +#else
|
| +#error Could not auto-detect platform
|
| +#endif
|
| +#endif /* GPR_NO_AUTODETECT_PLATFORM */
|
| +
|
| +#ifndef GPR_PLATFORM_STRING
|
| +#warning "GPR_PLATFORM_STRING not auto-detected"
|
| +#define GPR_PLATFORM_STRING "unknown"
|
| +#endif
|
| +
|
| +#ifdef GPR_GCOV
|
| +#undef GPR_FORBID_UNREACHABLE_CODE
|
| +#define GPR_FORBID_UNREACHABLE_CODE 1
|
| +#endif
|
| +
|
| +#ifdef _MSC_VER
|
| +#if _MSC_VER < 1700
|
| +typedef __int8 int8_t;
|
| +typedef __int16 int16_t;
|
| +typedef __int32 int32_t;
|
| +typedef __int64 int64_t;
|
| +typedef unsigned __int8 uint8_t;
|
| +typedef unsigned __int16 uint16_t;
|
| +typedef unsigned __int32 uint32_t;
|
| +typedef unsigned __int64 uint64_t;
|
| +#else
|
| +#include <stdint.h>
|
| +#endif /* _MSC_VER < 1700 */
|
| +#else
|
| +#include <stdint.h>
|
| +#endif /* _MSC_VER */
|
| +
|
| +/* Cache line alignment */
|
| +#ifndef GPR_CACHELINE_SIZE_LOG
|
| +#if defined(__i386__) || defined(__x86_64__)
|
| +#define GPR_CACHELINE_SIZE_LOG 6
|
| +#endif
|
| +#ifndef GPR_CACHELINE_SIZE_LOG
|
| +/* A reasonable default guess. Note that overestimates tend to waste more
|
| + space, while underestimates tend to waste more time. */
|
| +#define GPR_CACHELINE_SIZE_LOG 6
|
| +#endif /* GPR_CACHELINE_SIZE_LOG */
|
| +#endif /* GPR_CACHELINE_SIZE_LOG */
|
| +
|
| +#define GPR_CACHELINE_SIZE (1 << GPR_CACHELINE_SIZE_LOG)
|
| +
|
| +/* scrub GCC_ATOMIC if it's not available on this compiler */
|
| +#if defined(GPR_GCC_ATOMIC) && !defined(__ATOMIC_RELAXED)
|
| +#undef GPR_GCC_ATOMIC
|
| +#define GPR_GCC_SYNC 1
|
| +#endif
|
| +
|
| +/* Validate platform combinations */
|
| +#if defined(GPR_GCC_ATOMIC) + defined(GPR_GCC_SYNC) + \
|
| + defined(GPR_WIN32_ATOMIC) != \
|
| + 1
|
| +#error Must define exactly one of GPR_GCC_ATOMIC, GPR_GCC_SYNC, GPR_WIN32_ATOMIC
|
| +#endif
|
| +
|
| +#if defined(GPR_ARCH_32) + defined(GPR_ARCH_64) != 1
|
| +#error Must define exactly one of GPR_ARCH_32, GPR_ARCH_64
|
| +#endif
|
| +
|
| +#if defined(GPR_CPU_LINUX) + defined(GPR_CPU_POSIX) + defined(GPR_WIN32) + \
|
| + defined(GPR_CPU_IPHONE) + defined(GPR_CPU_CUSTOM) != \
|
| + 1
|
| +#error Must define exactly one of GPR_CPU_LINUX, GPR_CPU_POSIX, GPR_WIN32, GPR_CPU_IPHONE, GPR_CPU_CUSTOM
|
| +#endif
|
| +
|
| +#if defined(GPR_POSIX_MULTIPOLL_WITH_POLL) && !defined(GPR_POSIX_SOCKET)
|
| +#error Must define GPR_POSIX_SOCKET to use GPR_POSIX_MULTIPOLL_WITH_POLL
|
| +#endif
|
| +
|
| +#if defined(GPR_POSIX_SOCKET) + defined(GPR_WINSOCK_SOCKET) + \
|
| + defined(GPR_CUSTOM_SOCKET) != \
|
| + 1
|
| +#error Must define exactly one of GPR_POSIX_SOCKET, GPR_WINSOCK_SOCKET, GPR_CUSTOM_SOCKET
|
| +#endif
|
| +
|
| +#if defined(GPR_MSVC_TLS) + defined(GPR_GCC_TLS) + defined(GPR_PTHREAD_TLS) + \
|
| + defined(GPR_CUSTOM_TLS) != \
|
| + 1
|
| +#error Must define exactly one of GPR_MSVC_TLS, GPR_GCC_TLS, GPR_PTHREAD_TLS, GPR_CUSTOM_TLS
|
| +#endif
|
| +
|
| +/* maximum alignment needed for any type on this platform, rounded up to a
|
| + power of two */
|
| +#define GPR_MAX_ALIGNMENT 16
|
| +
|
| +#ifndef GRPC_MUST_USE_RESULT
|
| +#ifdef __GNUC__
|
| +#define GRPC_MUST_USE_RESULT __attribute__((warn_unused_result))
|
| +#else
|
| +#define GRPC_MUST_USE_RESULT
|
| +#endif
|
| +#endif
|
| +
|
| +#if GPR_FORBID_UNREACHABLE_CODE
|
| +#define GPR_UNREACHABLE_CODE(STATEMENT)
|
| +#else
|
| +#define GPR_UNREACHABLE_CODE(STATEMENT) \
|
| + do { \
|
| + gpr_log(GPR_ERROR, "Should never reach here."); \
|
| + abort(); \
|
| + STATEMENT; \
|
| + } while (0)
|
| +#endif /* GPR_FORBID_UNREACHABLE_CODE */
|
| +
|
| +#ifndef GPRAPI
|
| +#define GPRAPI
|
| +#endif
|
| +
|
| +#ifndef GRPCAPI
|
| +#define GRPCAPI GPRAPI
|
| +#endif
|
| +
|
| +#ifndef CENSUSAPI
|
| +#define CENSUSAPI GRPCAPI
|
| +#endif
|
| +
|
| +#endif /* GRPC_IMPL_CODEGEN_PORT_PLATFORM_H */
|
|
|