• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2012 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'targets': [
7    {
8      'target_name': 'libevent',
9      'product_name': 'event',
10      'type': 'static_library',
11      'toolsets': ['host', 'target'],
12      'sources': [
13        'buffer.c',
14        'evbuffer.c',
15        'evdns.c',
16        'event.c',
17        'event_tagging.c',
18        'evrpc.c',
19        'evutil.c',
20        'http.c',
21        'log.c',
22        'poll.c',
23        'select.c',
24        'signal.c',
25        'strlcpy.c',
26      ],
27      'defines': [
28        'HAVE_CONFIG_H',
29      ],
30      'conditions': [
31        # libevent has platform-specific implementation files.  Since its
32        # native build uses autoconf, platform-specific config.h files are
33        # provided and live in platform-specific directories.
34        [ 'OS == "linux" or (OS == "android" and _toolset == "host")', {
35          'sources': [ 'epoll.c' ],
36          'include_dirs': [ 'linux' ],
37          'link_settings': {
38            'libraries': [
39              # We need rt for clock_gettime().
40              # TODO(port) Maybe on FreeBSD as well?
41              '-lrt',
42            ],
43          },
44        }],
45        [ 'OS == "android" and _toolset == "target"', {
46          # On android, clock_gettime() is in libc.so, so no need to link librt.
47          'sources': [ 'epoll.c' ],
48          'include_dirs': [ 'android' ],
49        }],
50        [ 'OS == "mac" or OS == "ios" or os_bsd==1', {
51          'sources': [ 'kqueue.c' ],
52          'include_dirs': [ 'mac' ]
53        }],
54        [ 'OS == "solaris"', {
55          'sources': [ 'devpoll.c', 'evport.c' ],
56          'include_dirs': [ 'solaris' ]
57        }],
58      ],
59    },
60  ],
61}
62