Index: third_party/libevent/libevent.gyp |
diff --git a/third_party/libevent/libevent.gyp b/third_party/libevent/libevent.gyp |
index 20ac4d6465910aece8b50004ddb2931b685a1a81..6d03930faae0485b791e2dcc62a7fe5dd3418fbc 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' ] |
- }], |
+ } |
], |
- }, |
+ }], |
], |
} |