diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-07 18:16:58 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-07 18:16:58 +0000 |
commit | e97831dd75f59483cca12b7cb397bdbc0e945cd4 (patch) | |
tree | f5ec6d49617faeeaaa45c0dc08887c6587330881 /third_party | |
parent | 227b543c559f7d0ca172964494dce5b216f235ef (diff) | |
download | chromium_src-e97831dd75f59483cca12b7cb397bdbc0e945cd4.zip chromium_src-e97831dd75f59483cca12b7cb397bdbc0e945cd4.tar.gz chromium_src-e97831dd75f59483cca12b7cb397bdbc0e945cd4.tar.bz2 |
Allow using system libevent instead of the bundled one.
Patch by Bernard Cafarelli <voyageur@gentoo.org>
TEST=none
BUG=22140
Review URL: http://codereview.chromium.org/524061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35711 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r-- | third_party/libevent/libevent.gyp | 108 |
1 files changed, 66 insertions, 42 deletions
diff --git a/third_party/libevent/libevent.gyp b/third_party/libevent/libevent.gyp index 20ac4d64..6d03930 100644 --- a/third_party/libevent/libevent.gyp +++ b/third_party/libevent/libevent.gyp @@ -3,54 +3,78 @@ # found in the LICENSE file. { - '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', + '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"', { + 'sources': [ 'kqueue.c' ], + 'include_dirs': [ 'mac' ] + }], + ], + }, ], - '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' ], + }, { # use_system_libevent != 0 + 'targets': [ + { + 'target_name': 'libevent', + 'type': 'settings', + 'direct_dependent_settings': { + 'defines': [ + 'USE_SYSTEM_LIBEVENT', + ], + }, 'link_settings': { 'libraries': [ - # We need rt for clock_gettime(). - # TODO(port) Maybe on FreeBSD as well? - '-lrt', + '-levent', ], }, - }], - [ 'OS == "mac" or OS == "freebsd"', { - 'sources': [ 'kqueue.c' ], - 'include_dirs': [ 'mac' ] - }], + } ], - }, + }], ], } |