| # Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| { |
| 'variables': { |
| 'use_system_libevent%': 0, |
| }, |
| 'conditions': [ |
| ['use_system_libevent==0', { |
| 'targets': [ |
| { |
| 'target_name': 'libevent', |
| 'product_name': 'event', |
| 'type': '<(library)', |
| 'sources': [ |
| 'buffer.c', |
| 'evbuffer.c', |
| 'evdns.c', |
| 'event.c', |
| 'event_tagging.c', |
| 'evrpc.c', |
| 'evutil.c', |
| 'http.c', |
| 'log.c', |
| 'poll.c', |
| 'select.c', |
| 'signal.c', |
| 'strlcpy.c', |
| ], |
| 'defines': [ |
| 'HAVE_CONFIG_H', |
| ], |
| 'include_dirs': [ |
| '.', # libevent includes some of its own headers with |
| # #include <...> instead of #include "..." |
| ], |
| 'conditions': [ |
| # libevent has platform-specific implementation files. Since its |
| # native build uses autoconf, platform-specific config.h files are |
| # provided and live in platform-specific directories. |
| [ 'OS == "linux"', { |
| 'sources': [ 'epoll.c', 'epoll_sub.c' ], |
| 'include_dirs': [ 'linux' ], |
| 'link_settings': { |
| 'libraries': [ |
| # We need rt for clock_gettime(). |
| # TODO(port) Maybe on FreeBSD as well? |
| '-lrt', |
| ], |
| }, |
| }], |
| [ 'OS == "mac" or OS == "freebsd" or OS == "openbsd" or OS == "solaris"', { |
| 'sources': [ 'kqueue.c' ], |
| 'include_dirs': [ 'mac' ] |
| }], |
| ], |
| }, |
| ], |
| }, { # use_system_libevent != 0 |
| 'targets': [ |
| { |
| 'target_name': 'libevent', |
| 'type': 'settings', |
| 'direct_dependent_settings': { |
| 'defines': [ |
| 'USE_SYSTEM_LIBEVENT', |
| ], |
| }, |
| 'link_settings': { |
| 'libraries': [ |
| '-levent', |
| ], |
| }, |
| } |
| ], |
| }], |
| ], |
| } |
| |
| # Local Variables: |
| # tab-width:2 |
| # indent-tabs-mode:nil |
| # End: |
| # vim: set expandtab tabstop=2 shiftwidth=2: |