Alexander Afanasyev | 97e4cac | 2014-03-28 10:55:11 -0700 | [diff] [blame^] | 1 | # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- |
| 2 | # |
| 3 | # Copyright (c) 2014, Regents of the University of California |
| 4 | # |
| 5 | # GPL 3.0 license, see the COPYING.md file for more information |
Alexander Afanasyev | c78b141 | 2014-02-19 14:08:26 -0800 | [diff] [blame] | 6 | |
| 7 | BOOST_ASIO_HAS_LOCAL_SOCKETS_CHECK = ''' |
| 8 | #include <iostream> |
| 9 | #include <boost/asio.hpp> |
| 10 | int main() { |
| 11 | #ifdef BOOST_ASIO_HAS_LOCAL_SOCKETS |
Alexander Afanasyev | d0b4491 | 2014-02-27 14:44:59 -0800 | [diff] [blame] | 12 | return 0; |
Alexander Afanasyev | c78b141 | 2014-02-19 14:08:26 -0800 | [diff] [blame] | 13 | #else |
Alexander Afanasyev | d0b4491 | 2014-02-27 14:44:59 -0800 | [diff] [blame] | 14 | #error "Unix sockets are not available on this platform" |
Alexander Afanasyev | c78b141 | 2014-02-19 14:08:26 -0800 | [diff] [blame] | 15 | #endif |
| 16 | return 0; |
| 17 | } |
| 18 | ''' |
| 19 | |
Alexander Afanasyev | d0b4491 | 2014-02-27 14:44:59 -0800 | [diff] [blame] | 20 | def options(opt): |
| 21 | opt.add_option('--force-unix-socket', action='store_true', default=False, |
Alexander Afanasyev | 97e4cac | 2014-03-28 10:55:11 -0700 | [diff] [blame^] | 22 | dest='force_unix_socket', help='''Forcefully enable UNIX sockets support''') |
Alexander Afanasyev | d0b4491 | 2014-02-27 14:44:59 -0800 | [diff] [blame] | 23 | |
Alexander Afanasyev | c78b141 | 2014-02-19 14:08:26 -0800 | [diff] [blame] | 24 | def configure(conf): |
Alexander Afanasyev | d0b4491 | 2014-02-27 14:44:59 -0800 | [diff] [blame] | 25 | def boost_asio_has_local_sockets(): |
| 26 | return conf.check_cxx(msg='Checking if UNIX sockets are supported', |
| 27 | fragment=BOOST_ASIO_HAS_LOCAL_SOCKETS_CHECK, |
| 28 | use='BOOST NDN_CPP RT', mandatory=False) |
| 29 | |
| 30 | if conf.options.force_unix_socket or boost_asio_has_local_sockets(): |
Alexander Afanasyev | c78b141 | 2014-02-19 14:08:26 -0800 | [diff] [blame] | 31 | conf.define('HAVE_UNIX_SOCKETS', 1) |
| 32 | conf.env['HAVE_UNIX_SOCKETS'] = True |