Source code
Revision control
Copy as Markdown
Other Tools
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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
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"]
UNIFIED_SOURCES += [
'libevent/buffer.c',
'libevent/bufferevent.c',
'libevent/bufferevent_filter.c',
'libevent/bufferevent_ratelim.c',
'libevent/bufferevent_sock.c',
'libevent/evdns.c',
'libevent/event.c',
'libevent/event_tagging.c',
'libevent/evmap.c',
'libevent/evthread.c',
# 'libevent/evthread_pthread.c', # Unused file.
'libevent/evutil.c',
'libevent/evutil_rand.c',
'libevent/evutil_time.c',
'libevent/http.c',
'libevent/listener.c',
'libevent/log.c',
'libevent/poll.c',
'libevent/select.c',
'libevent/signal.c',
'libevent/strlcpy.c',
]
SOURCES += [
'libevent/bufferevent_pair.c', # conflicting types errors
# 'libevent/evrpc.c', # Unused file. # conflicting TAILQ_ENTRY definition
]
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'