summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-07 18:16:58 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-07 18:16:58 +0000
commite97831dd75f59483cca12b7cb397bdbc0e945cd4 (patch)
treef5ec6d49617faeeaaa45c0dc08887c6587330881 /third_party
parent227b543c559f7d0ca172964494dce5b216f235ef (diff)
downloadchromium_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.gyp108
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' ]
- }],
+ }
],
- },
+ }],
],
}