build: require gcc >= 5.3 and boost >= 1.58
This effectively drops support for all versions of Ubuntu older than 16.04
Change-Id: If1c96cc697d38a94588f126a89d13ec8e582702d
Refs: #4462
diff --git a/wscript b/wscript
index d9836ab..d4da8c4 100644
--- a/wscript
+++ b/wscript
@@ -34,8 +34,8 @@
def options(opt):
opt.load(['compiler_cxx', 'gnu_dirs'])
- opt.load(['default-compiler-flags', 'compiler-features', 'type_traits',
- 'coverage', 'pch', 'sanitizers', 'boost', 'boost-kqueue',
+ opt.load(['default-compiler-flags', 'compiler-features',
+ 'coverage', 'pch', 'sanitizers', 'boost',
'dependency-checker', 'unix-socket', 'websocket',
'doxygen', 'sphinx_build'],
tooldir=['.waf-tools'])
@@ -83,8 +83,8 @@
def configure(conf):
conf.load(['compiler_cxx', 'gnu_dirs',
- 'default-compiler-flags', 'compiler-features', 'type_traits',
- 'pch', 'boost', 'boost-kqueue', 'dependency-checker', 'websocket',
+ 'default-compiler-flags', 'compiler-features',
+ 'pch', 'boost', 'dependency-checker', 'websocket',
'doxygen', 'sphinx_build'])
conf.find_program('bash', var='BASH')
@@ -116,32 +116,18 @@
boost_libs += ' unit_test_framework'
conf.check_boost(lib=boost_libs, mt=True)
- if conf.env.BOOST_VERSION_NUMBER < 105400:
- conf.fatal('Minimum required Boost version is 1.54.0\n'
+ if conf.env.BOOST_VERSION_NUMBER < 105800:
+ conf.fatal('Minimum required Boost version is 1.58.0\n'
'Please upgrade your distribution or manually install a newer version of Boost'
' (https://redmine.named-data.net/projects/nfd/wiki/Boost_FAQ)')
- if conf.env.CXX_NAME == 'clang' and conf.env.BOOST_VERSION_NUMBER < 105800:
- conf.define('BOOST_ASIO_HAS_STD_ARRAY', 1) # Workaround for https://redmine.named-data.net/issues/3360#note-14
- conf.define('BOOST_ASIO_HAS_STD_CHRONO', 1) # Solution documented at https://redmine.named-data.net/issues/3588#note-10
-
conf.load('unix-socket')
conf.checkWebsocket(mandatory=True)
if not conf.options.without_libpcap:
- conf.check_asio_pcap_support()
- if conf.env.HAVE_ASIO_PCAP_SUPPORT:
- conf.checkDependency(name='libpcap', lib='pcap', mandatory=True,
- errmsg='not found, but required for Ethernet face support. '
- 'Specify --without-libpcap to disable Ethernet face support.')
- else:
- Logs.warn('Warning: Ethernet face is not supported on this platform with Boost libraries version 1.56. '
- 'See https://redmine.named-data.net/issues/1877 for more details')
- if conf.env.HAVE_LIBPCAP:
- conf.check_cxx(msg='Checking if libpcap supports pcap_set_immediate_mode', mandatory=False,
- define_name='HAVE_PCAP_SET_IMMEDIATE_MODE', use='LIBPCAP',
- fragment='''#include <pcap/pcap.h>
- int main() { pcap_t* p; pcap_set_immediate_mode(p, 1); }''')
+ conf.checkDependency(name='libpcap', lib='pcap', mandatory=True,
+ errmsg='not found, but required for Ethernet face support. '
+ 'Specify --without-libpcap to disable Ethernet face support.')
conf.check_compiler_flags()
@@ -303,7 +289,7 @@
else:
# no tags matched
Context.g_module.VERSION = '%s-commit-%s' % (VERSION_BASE, out)
- except subprocess.CalledProcessError:
+ except (OSError, subprocess.CalledProcessError):
pass
versionFile = ctx.path.find_node('VERSION')