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/.waf-tools/boost-kqueue.py b/.waf-tools/boost-kqueue.py
deleted file mode 100644
index d4d5139..0000000
--- a/.waf-tools/boost-kqueue.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
-#
-# Copyright (c) 2014, Regents of the University of California
-#
-# GPL 3.0 license, see the COPYING.md file for more information
-
-from waflib import Configure
-
-BOOST_ASIO_HAS_KQUEUE_CHECK = '''
-#include <boost/asio.hpp>
-#if defined(BOOST_ASIO_HAS_KQUEUE) and BOOST_VERSION == 105600
-#error "Ethernet face support cannot be enabled on this platform with boost 1.56"
-#endif
-'''
-
-@Configure.conf
-def check_asio_pcap_support(conf):
- # https://svn.boost.org/trac/boost/ticket/10367
- if conf.check_cxx(msg='Checking if Ethernet face support can be enabled',
- fragment=BOOST_ASIO_HAS_KQUEUE_CHECK,
- features='cxx', use='BOOST', mandatory=False):
- conf.define('HAVE_ASIO_PCAP_SUPPORT', 1)
- conf.env['HAVE_ASIO_PCAP_SUPPORT'] = True
diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py
index 54db7ea..e9fdcc6 100644
--- a/.waf-tools/default-compiler-flags.py
+++ b/.waf-tools/default-compiler-flags.py
@@ -15,14 +15,14 @@
errmsg = ''
warnmsg = ''
if cxx == 'gcc':
- if ccver < (4, 8, 2):
+ if ccver < (5, 3, 0):
errmsg = ('The version of gcc you are using is too old.\n'
- 'The minimum supported gcc version is 4.8.2.')
+ 'The minimum supported gcc version is 5.3.0.')
conf.flags = GccFlags()
elif cxx == 'clang':
- if ccver < (3, 4, 0):
+ if ccver < (3, 5, 0):
errmsg = ('The version of clang you are using is too old.\n'
- 'The minimum supported clang version is 3.4.0.')
+ 'The minimum supported clang version is 3.5.0.')
conf.flags = ClangFlags()
else:
warnmsg = 'Note: %s compiler is unsupported' % cxx
@@ -164,16 +164,12 @@
class GccFlags(GccBasicFlags):
def getDebugFlags(self, conf):
flags = super(GccFlags, self).getDebugFlags(conf)
- if self.getCompilerVersion(conf) < (5, 1, 0):
- flags['CXXFLAGS'] += ['-Wno-missing-field-initializers']
- flags['CXXFLAGS'] += ['-fdiagnostics-color'] # gcc >= 4.9
+ flags['CXXFLAGS'] += ['-fdiagnostics-color']
return flags
def getOptimizedFlags(self, conf):
flags = super(GccFlags, self).getOptimizedFlags(conf)
- if self.getCompilerVersion(conf) < (5, 1, 0):
- flags['CXXFLAGS'] += ['-Wno-missing-field-initializers']
- flags['CXXFLAGS'] += ['-fdiagnostics-color'] # gcc >= 4.9
+ flags['CXXFLAGS'] += ['-fdiagnostics-color']
return flags
class ClangFlags(GccBasicFlags):
diff --git a/.waf-tools/type_traits.py b/.waf-tools/type_traits.py
deleted file mode 100644
index fc1ffbf..0000000
--- a/.waf-tools/type_traits.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
-#
-# Copyright (c) 2014, Regents of the University of California
-#
-# GPL 3.0 license, see the COPYING.md file for more information
-
-from waflib import Configure
-
-IS_MOVE_CONSTRUCTIBLE_CHECK = '''
-#include <type_traits>
-static_assert(std::is_move_constructible<int>::value, "");
-'''
-
-def configure(conf):
- if conf.check_cxx(msg='Checking for std::is_move_constructible',
- fragment=IS_MOVE_CONSTRUCTIBLE_CHECK,
- features='cxx', mandatory=False):
- conf.define('HAVE_IS_MOVE_CONSTRUCTIBLE', 1)
- conf.env['HAVE_IS_MOVE_CONSTRUCTIBLE'] = True
diff --git a/.waf-tools/websocket.py b/.waf-tools/websocket.py
index c30c48e..6b481cf 100644
--- a/.waf-tools/websocket.py
+++ b/.waf-tools/websocket.py
@@ -62,11 +62,11 @@
if isMandatory:
self.end_msg(str(error), color='RED')
Logs.warn('If you are using git NFD repository, checkout websocketpp submodule: ')
- Logs.warn(' git submodule init && git submodule update')
+ Logs.warn(' git submodule update --init')
Logs.warn('Otherwise, manually download and extract websocketpp library:')
Logs.warn(' mkdir websocketpp')
Logs.warn(' curl -L https://github.com/zaphoyd/websocketpp/archive/0.7.0.tar.gz > websocket.tar.gz')
- Logs.warn(' tar zxf websocket.tar.gz -C websocketpp/ --strip 1')
+ Logs.warn(' tar xf websocket.tar.gz -C websocketpp/ --strip 1')
Logs.warn('Alternatively, WebSocket support can be disabled with --without-websocket')
self.fatal('The configuration failed')
else: