blob: 347ec0bf55b96e4bfccf2ec5b35db8336f1d4256 [file] [log] [blame]
licenses(["notice"])
load("//tools/build_rules:select.bzl", "address_size_select", "compiler_select")
cc_library(
name = "libevent",
srcs = [
"select.c",
"poll.c",
"epoll.c",
"signal.c",
"event.c",
"evthread.c",
"buffer.c",
"bufferevent.c",
"bufferevent_sock.c",
"bufferevent_filter.c",
"bufferevent_pair.c",
"listener.c",
"bufferevent_ratelim.c",
"evmap.c",
"log.c",
"evutil.c",
"evutil_rand.c",
"strlcpy.c",
"event_tagging.c",
"http.c",
"evdns.c",
"evrpc.c",
"evthread_pthread.c",
#'compat/sys/queue.h',
] + glob([
"*-internal.h",
"include/event2/*.h",
]),
hdrs = [
"evdns.h",
"event.h",
"evhttp.h",
"evrpc.h",
"evutil.h",
],
copts = [
"-Ithird_party/libevent/compat",
"-Ithird_party/libevent/include",
# TODO(Brian): Fix the places in the code it uses char* as an intermediate
# type while doing offsetof stuff.
"-Wno-cast-align",
"-Wno-unused-parameter",
"-Wno-format-nonliteral",
"-Wno-cast-qual",
"-Wno-unused-function",
] + compiler_select({
"gcc": [],
"clang": ["-Wno-incompatible-pointer-types-discards-qualifiers"],
}),
defines = [
"_EVENT_HAVE_ARPA_INET_H=1",
"_EVENT_HAVE_CLOCK_GETTIME=1",
"_EVENT_HAVE_DECL_CTL_KERN=1",
"_EVENT_HAVE_DECL_KERN_ARND=0",
"_EVENT_HAVE_DECL_KERN_RANDOM=1",
"_EVENT_HAVE_DECL_RANDOM_UUID=1",
"_EVENT_HAVE_DLFCN_H=1",
"_EVENT_HAVE_EPOLL=1",
"_EVENT_HAVE_EPOLL_CTL=1",
"_EVENT_HAVE_EVENTFD=1",
"_EVENT_HAVE_FCNTL=1",
"_EVENT_HAVE_FCNTL_H=1",
"_EVENT_HAVE_FD_MASK=1",
"_EVENT_HAVE_GETADDRINFO=1",
"_EVENT_HAVE_GETEGID=1",
"_EVENT_HAVE_GETEUID=1",
"_EVENT_HAVE_GETNAMEINFO=1",
"_EVENT_HAVE_GETPROTOBYNUMBER=1",
"_EVENT_HAVE_GETTIMEOFDAY=1",
"_EVENT_HAVE_INET_ATON=1",
"_EVENT_HAVE_INET_NTOP=1",
"_EVENT_HAVE_INET_PTON=1",
"_EVENT_HAVE_INTTYPES_H=1",
"_EVENT_HAVE_MEMORY_H=1",
"_EVENT_HAVE_MMAP=1",
"_EVENT_HAVE_NETDB_H=1",
"_EVENT_HAVE_NETINET_IN_H=1",
"_EVENT_HAVE_PIPE=1",
"_EVENT_HAVE_POLL=1",
"_EVENT_HAVE_POLL_H=1",
"_EVENT_HAVE_PTHREADS=1",
"_EVENT_HAVE_PUTENV=1",
"_EVENT_HAVE_SA_FAMILY_T=1",
"_EVENT_HAVE_SELECT=1",
"_EVENT_HAVE_SENDFILE=1",
"_EVENT_HAVE_SETENV=1",
"_EVENT_HAVE_SETFD=1",
"_EVENT_HAVE_SIGACTION=1",
"_EVENT_HAVE_SIGNAL=1",
"_EVENT_HAVE_SPLICE=1",
"_EVENT_HAVE_STDARG_H=1",
"_EVENT_HAVE_STDDEF_H=1",
"_EVENT_HAVE_STDINT_H=1",
"_EVENT_HAVE_STDLIB_H=1",
"_EVENT_HAVE_STRINGS_H=1",
"_EVENT_HAVE_STRING_H=1",
"_EVENT_HAVE_STRSEP=1",
"_EVENT_HAVE_STRTOK_R=1",
"_EVENT_HAVE_STRTOLL=1",
"_EVENT_HAVE_STRUCT_ADDRINFO=1",
"_EVENT_HAVE_STRUCT_IN6_ADDR=1",
"_EVENT_HAVE_STRUCT_IN6_ADDR_S6_ADDR16=1",
"_EVENT_HAVE_STRUCT_IN6_ADDR_S6_ADDR32=1",
"_EVENT_HAVE_STRUCT_SOCKADDR_IN6=1",
"_EVENT_HAVE_STRUCT_SOCKADDR_STORAGE=1",
"_EVENT_HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1",
"_EVENT_HAVE_SYSCTL=1",
"_EVENT_HAVE_SYS_EPOLL_H=1",
"_EVENT_HAVE_SYS_EVENTFD_H=1",
"_EVENT_HAVE_SYS_IOCTL_H=1",
"_EVENT_HAVE_SYS_MMAN_H=1",
"_EVENT_HAVE_SYS_PARAM_H=1",
"_EVENT_HAVE_SYS_QUEUE_H=1",
"_EVENT_HAVE_SYS_SELECT_H=1",
"_EVENT_HAVE_SYS_SENDFILE_H=1",
"_EVENT_HAVE_SYS_SOCKET_H=1",
"_EVENT_HAVE_SYS_STAT_H=1",
"_EVENT_HAVE_SYS_SYSCTL_H=1",
"_EVENT_HAVE_SYS_TIME_H=1",
"_EVENT_HAVE_SYS_TYPES_H=1",
"_EVENT_HAVE_SYS_UIO_H=1",
"_EVENT_HAVE_SYS_WAIT_H=1",
"_EVENT_HAVE_TIMERADD=1",
"_EVENT_HAVE_TIMERCLEAR=1",
"_EVENT_HAVE_TIMERCMP=1",
"_EVENT_HAVE_TIMERISSET=1",
"_EVENT_HAVE_UINT16_T=1",
"_EVENT_HAVE_UINT32_T=1",
"_EVENT_HAVE_UINT64_T=1",
"_EVENT_HAVE_UINT8_T=1",
"_EVENT_HAVE_UINTPTR_T=1",
"_EVENT_HAVE_UMASK=1",
"_EVENT_HAVE_UNISTD_H=1",
"_EVENT_HAVE_UNSETENV=1",
"_EVENT_HAVE_VASPRINTF=1",
"_EVENT_SIZEOF_INT=4",
"_EVENT_SIZEOF_LONG=8",
"_EVENT_SIZEOF_SHORT=2",
"_EVENT_STDC_HEADERS=1",
"_EVENT_TIME_WITH_SYS_TIME=1",
"_EVENT_NUMERIC_VERSION=0x02001600",
"_EVENT_VERSION=\\\"2.0.22-stable\\\"",
] + address_size_select({
"32": [
"_EVENT_SIZEOF_LONG_LONG=4",
"_EVENT_SIZEOF_OFF_T=4",
"_EVENT_SIZEOF_PTHREAD_T=4",
"_EVENT_SIZEOF_SIZE_T=4",
"_EVENT_SIZEOF_VOID_P=4",
],
"64": [
"_EVENT_SIZEOF_LONG_LONG=8",
"_EVENT_SIZEOF_OFF_T=8",
"_EVENT_SIZEOF_PTHREAD_T=8",
"_EVENT_SIZEOF_SIZE_T=8",
"_EVENT_SIZEOF_VOID_P=8",
],
}),
includes = [
".",
"include",
],
textual_hdrs = [
"arc4random.c",
],
visibility = ["//visibility:public"],
)