Source code

Revision control

Copy as Markdown

Other Tools

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
libevent_path_prefix = '.'
include(libevent_path_prefix + '/libeventcommon.mozbuild')
if CONFIG["TARGET_KERNEL"] == "WINNT":
error('should not reach here on Windows')
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
error('should not reach here if we are using a native libevent')
# for gethostbyname_r
OS_LIBS += CONFIG["C_R_LIBS"]
# for socket
OS_LIBS += CONFIG["SOCKET_LIBS"]
# Only libevent's core event loop is used; the evbuffer, bufferevent, evdns,
# evhttp and evtag/evrpc modules are deliberately not built.
UNIFIED_SOURCES += [
'libevent/event.c',
'libevent/evmap.c',
'libevent/evthread.c',
'libevent/evutil.c',
'libevent/evutil_rand.c',
'libevent/evutil_time.c',
'libevent/log.c',
'libevent/poll.c',
'libevent/select.c',
'libevent/signal.c',
'libevent/strlcpy.c',
]
if CONFIG["TARGET_KERNEL"] in ("Darwin", "DragonFly", "FreeBSD", "NetBSD", "OpenBSD"):
UNIFIED_SOURCES += [
'libevent/kqueue.c',
]
if CONFIG["TARGET_KERNEL"] == "Linux":
UNIFIED_SOURCES += [
'libevent/epoll.c',
]
if CONFIG['OS_TARGET'] != 'Android':
UNIFIED_SOURCES += [
'libevent/epoll_sub.c',
]
if CONFIG["TARGET_KERNEL"] == "SunOS":
SOURCES += [
'libevent/devpoll.c',
'libevent/evport.c',
]
# We allow warnings for third-party code that can be updated from upstream.
AllowCompilerWarnings()
Library('libevent')
FINAL_LIBRARY = 'xul'
LICENSED_UNDER += ["libevent"]
LICENSED_UNDER["libevent"].paths = [
"libevent",
]