blob: 347ec0bf55b96e4bfccf2ec5b35db8336f1d4256 [file] [log] [blame]
Austin Schuhdde64052019-12-11 20:28:00 -08001licenses(["notice"])
Brian Silvermanaa651172015-09-26 17:39:06 -04002
Austin Schuhdde64052019-12-11 20:28:00 -08003load("//tools/build_rules:select.bzl", "address_size_select", "compiler_select")
Austin Schuh23da18b2015-10-11 20:52:49 -07004
Brian Silvermanaa651172015-09-26 17:39:06 -04005cc_library(
Austin Schuhdde64052019-12-11 20:28:00 -08006 name = "libevent",
7 srcs = [
8 "select.c",
9 "poll.c",
10 "epoll.c",
11 "signal.c",
12 "event.c",
13 "evthread.c",
14 "buffer.c",
15 "bufferevent.c",
16 "bufferevent_sock.c",
17 "bufferevent_filter.c",
18 "bufferevent_pair.c",
19 "listener.c",
20 "bufferevent_ratelim.c",
21 "evmap.c",
22 "log.c",
23 "evutil.c",
24 "evutil_rand.c",
25 "strlcpy.c",
26 "event_tagging.c",
27 "http.c",
28 "evdns.c",
29 "evrpc.c",
30 "evthread_pthread.c",
Brian Silvermanaa651172015-09-26 17:39:06 -040031
Austin Schuhdde64052019-12-11 20:28:00 -080032 #'compat/sys/queue.h',
33 ] + glob([
34 "*-internal.h",
35 "include/event2/*.h",
36 ]),
37 hdrs = [
38 "evdns.h",
39 "event.h",
40 "evhttp.h",
41 "evrpc.h",
42 "evutil.h",
Brian Silvermane296d002015-10-12 02:28:11 -040043 ],
Austin Schuhdde64052019-12-11 20:28:00 -080044 copts = [
45 "-Ithird_party/libevent/compat",
46 "-Ithird_party/libevent/include",
47
48 # TODO(Brian): Fix the places in the code it uses char* as an intermediate
49 # type while doing offsetof stuff.
50 "-Wno-cast-align",
51 "-Wno-unused-parameter",
52 "-Wno-format-nonliteral",
53 "-Wno-cast-qual",
54 "-Wno-unused-function",
55 ] + compiler_select({
56 "gcc": [],
57 "clang": ["-Wno-incompatible-pointer-types-discards-qualifiers"],
58 }),
59 defines = [
60 "_EVENT_HAVE_ARPA_INET_H=1",
61 "_EVENT_HAVE_CLOCK_GETTIME=1",
62 "_EVENT_HAVE_DECL_CTL_KERN=1",
63 "_EVENT_HAVE_DECL_KERN_ARND=0",
64 "_EVENT_HAVE_DECL_KERN_RANDOM=1",
65 "_EVENT_HAVE_DECL_RANDOM_UUID=1",
66 "_EVENT_HAVE_DLFCN_H=1",
67 "_EVENT_HAVE_EPOLL=1",
68 "_EVENT_HAVE_EPOLL_CTL=1",
69 "_EVENT_HAVE_EVENTFD=1",
70 "_EVENT_HAVE_FCNTL=1",
71 "_EVENT_HAVE_FCNTL_H=1",
72 "_EVENT_HAVE_FD_MASK=1",
73 "_EVENT_HAVE_GETADDRINFO=1",
74 "_EVENT_HAVE_GETEGID=1",
75 "_EVENT_HAVE_GETEUID=1",
76 "_EVENT_HAVE_GETNAMEINFO=1",
77 "_EVENT_HAVE_GETPROTOBYNUMBER=1",
78 "_EVENT_HAVE_GETTIMEOFDAY=1",
79 "_EVENT_HAVE_INET_ATON=1",
80 "_EVENT_HAVE_INET_NTOP=1",
81 "_EVENT_HAVE_INET_PTON=1",
82 "_EVENT_HAVE_INTTYPES_H=1",
83 "_EVENT_HAVE_MEMORY_H=1",
84 "_EVENT_HAVE_MMAP=1",
85 "_EVENT_HAVE_NETDB_H=1",
86 "_EVENT_HAVE_NETINET_IN_H=1",
87 "_EVENT_HAVE_PIPE=1",
88 "_EVENT_HAVE_POLL=1",
89 "_EVENT_HAVE_POLL_H=1",
90 "_EVENT_HAVE_PTHREADS=1",
91 "_EVENT_HAVE_PUTENV=1",
92 "_EVENT_HAVE_SA_FAMILY_T=1",
93 "_EVENT_HAVE_SELECT=1",
94 "_EVENT_HAVE_SENDFILE=1",
95 "_EVENT_HAVE_SETENV=1",
96 "_EVENT_HAVE_SETFD=1",
97 "_EVENT_HAVE_SIGACTION=1",
98 "_EVENT_HAVE_SIGNAL=1",
99 "_EVENT_HAVE_SPLICE=1",
100 "_EVENT_HAVE_STDARG_H=1",
101 "_EVENT_HAVE_STDDEF_H=1",
102 "_EVENT_HAVE_STDINT_H=1",
103 "_EVENT_HAVE_STDLIB_H=1",
104 "_EVENT_HAVE_STRINGS_H=1",
105 "_EVENT_HAVE_STRING_H=1",
106 "_EVENT_HAVE_STRSEP=1",
107 "_EVENT_HAVE_STRTOK_R=1",
108 "_EVENT_HAVE_STRTOLL=1",
109 "_EVENT_HAVE_STRUCT_ADDRINFO=1",
110 "_EVENT_HAVE_STRUCT_IN6_ADDR=1",
111 "_EVENT_HAVE_STRUCT_IN6_ADDR_S6_ADDR16=1",
112 "_EVENT_HAVE_STRUCT_IN6_ADDR_S6_ADDR32=1",
113 "_EVENT_HAVE_STRUCT_SOCKADDR_IN6=1",
114 "_EVENT_HAVE_STRUCT_SOCKADDR_STORAGE=1",
115 "_EVENT_HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1",
116 "_EVENT_HAVE_SYSCTL=1",
117 "_EVENT_HAVE_SYS_EPOLL_H=1",
118 "_EVENT_HAVE_SYS_EVENTFD_H=1",
119 "_EVENT_HAVE_SYS_IOCTL_H=1",
120 "_EVENT_HAVE_SYS_MMAN_H=1",
121 "_EVENT_HAVE_SYS_PARAM_H=1",
122 "_EVENT_HAVE_SYS_QUEUE_H=1",
123 "_EVENT_HAVE_SYS_SELECT_H=1",
124 "_EVENT_HAVE_SYS_SENDFILE_H=1",
125 "_EVENT_HAVE_SYS_SOCKET_H=1",
126 "_EVENT_HAVE_SYS_STAT_H=1",
127 "_EVENT_HAVE_SYS_SYSCTL_H=1",
128 "_EVENT_HAVE_SYS_TIME_H=1",
129 "_EVENT_HAVE_SYS_TYPES_H=1",
130 "_EVENT_HAVE_SYS_UIO_H=1",
131 "_EVENT_HAVE_SYS_WAIT_H=1",
132 "_EVENT_HAVE_TIMERADD=1",
133 "_EVENT_HAVE_TIMERCLEAR=1",
134 "_EVENT_HAVE_TIMERCMP=1",
135 "_EVENT_HAVE_TIMERISSET=1",
136 "_EVENT_HAVE_UINT16_T=1",
137 "_EVENT_HAVE_UINT32_T=1",
138 "_EVENT_HAVE_UINT64_T=1",
139 "_EVENT_HAVE_UINT8_T=1",
140 "_EVENT_HAVE_UINTPTR_T=1",
141 "_EVENT_HAVE_UMASK=1",
142 "_EVENT_HAVE_UNISTD_H=1",
143 "_EVENT_HAVE_UNSETENV=1",
144 "_EVENT_HAVE_VASPRINTF=1",
145 "_EVENT_SIZEOF_INT=4",
146 "_EVENT_SIZEOF_LONG=8",
147 "_EVENT_SIZEOF_SHORT=2",
148 "_EVENT_STDC_HEADERS=1",
149 "_EVENT_TIME_WITH_SYS_TIME=1",
150 "_EVENT_NUMERIC_VERSION=0x02001600",
Austin Schuha4f69d62020-02-28 13:58:14 -0800151 "_EVENT_VERSION=\\\"2.0.22-stable\\\"",
Austin Schuhdde64052019-12-11 20:28:00 -0800152 ] + address_size_select({
153 "32": [
154 "_EVENT_SIZEOF_LONG_LONG=4",
155 "_EVENT_SIZEOF_OFF_T=4",
156 "_EVENT_SIZEOF_PTHREAD_T=4",
157 "_EVENT_SIZEOF_SIZE_T=4",
158 "_EVENT_SIZEOF_VOID_P=4",
159 ],
160 "64": [
161 "_EVENT_SIZEOF_LONG_LONG=8",
162 "_EVENT_SIZEOF_OFF_T=8",
163 "_EVENT_SIZEOF_PTHREAD_T=8",
164 "_EVENT_SIZEOF_SIZE_T=8",
165 "_EVENT_SIZEOF_VOID_P=8",
166 ],
167 }),
168 includes = [
169 ".",
170 "include",
Brian Silvermane296d002015-10-12 02:28:11 -0400171 ],
Austin Schuhdde64052019-12-11 20:28:00 -0800172 textual_hdrs = [
173 "arc4random.c",
174 ],
175 visibility = ["//visibility:public"],
176)