build: Trim libevent usage

Use system libevent on Linux. Remove extra libs on other platforms.
This commit is contained in:
klzgrad 2018-01-25 20:50:56 +08:00
parent 95ac1a17b7
commit 0e4433c105
3 changed files with 17 additions and 13 deletions

View File

@ -1101,6 +1101,7 @@ component("base") {
all_dependent_configs = []
defines = []
data = []
libs = []
configs += [
":base_flags",
@ -1470,6 +1471,8 @@ component("base") {
":base_win_linker_flags",
"//tools/win/DebugVisualizers:chrome",
]
} else if (is_linux) {
libs += [ "event_core" ]
} else if ((!is_nacl && !is_fuchsia) || is_nacl_nonsfi) {
# Non-Windows.
deps += [ "//base/third_party/libevent" ]
@ -2256,6 +2259,7 @@ test("base_unittests") {
]
defines = []
libs = []
deps = [
":base",
@ -2370,7 +2374,11 @@ test("base_unittests") {
if (is_posix && !is_ios && !is_fuchsia) {
sources += [ "message_loop/message_pump_libevent_unittest.cc" ]
deps += [ "//base/third_party/libevent" ]
if (is_linux) {
libs += [ "event_core" ]
} else {
deps += [ "//base/third_party/libevent" ]
}
}
if (is_fuchsia) {

View File

@ -14,7 +14,6 @@
#include "base/files/file_util.h"
#include "base/logging.h"
#include "base/posix/eintr_wrapper.h"
#include "base/third_party/libevent/event.h"
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
@ -23,6 +22,12 @@
#include "base/mac/scoped_nsautorelease_pool.h"
#endif
#if defined(OS_LINUX)
#include <event.h>
#else
#include "base/third_party/libevent/event.h"
#endif
// Lifecycle of struct event
// Libevent uses two main data structures:
// struct event_base (of which there is one per message pump), and

View File

@ -612,16 +612,13 @@ def write_gn_ninja(path, root_gen_dir, options):
'base/time/time_conversion_posix.cc',
'base/trace_event/heap_profiler_allocation_register_posix.cc',
])
if not is_linux:
static_libraries['libevent'] = {
'sources': [
'base/third_party/libevent/buffer.c',
'base/third_party/libevent/evbuffer.c',
'base/third_party/libevent/evdns.c',
'base/third_party/libevent/event.c',
'base/third_party/libevent/event_tagging.c',
'base/third_party/libevent/evrpc.c',
'base/third_party/libevent/evutil.c',
'base/third_party/libevent/http.c',
'base/third_party/libevent/log.c',
'base/third_party/libevent/poll.c',
'base/third_party/libevent/select.c',
@ -665,13 +662,7 @@ def write_gn_ninja(path, root_gen_dir, options):
'base/allocator/allocator_shim.cc',
'base/allocator/allocator_shim_default_dispatch_to_glibc.cc',
])
libs.extend(['-lrt', '-latomic'])
static_libraries['libevent']['include_dirs'].extend([
os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'linux')
])
static_libraries['libevent']['sources'].extend([
'base/third_party/libevent/epoll.c',
])
libs.extend(['-lrt', '-latomic', '-levent_core'])
else:
libs.extend(['-lrt'])
static_libraries['base']['sources'].extend([