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