build: require boost >= 1.71.0
Refs: #5276
Change-Id: Ib62b24b041e21b2c017cd9c290f7d5dc09003d63
diff --git a/README-dev.md b/README-dev.md
index 4cd0ef9..e7acc71 100644
--- a/README-dev.md
+++ b/README-dev.md
@@ -119,5 +119,5 @@
### Command Line Arguments
-[Boost.Program\_options](https://www.boost.org/doc/libs/1_65_1/doc/html/program_options.html)
+[Boost.Program\_options](https://www.boost.org/doc/libs/1_71_0/doc/html/program_options.html)
is strongly preferred over `getopt(3)` for parsing command line arguments.
diff --git a/tests/README.md b/tests/README.md
index ca34f42..11f51f4 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -8,15 +8,19 @@
For example:
- bld(features='cxx',
- name='tool-subtool-objects',
+```python
+def build(bld):
+ bld.objects(
+ target='tool-subtool-objects',
source=bld.path.ant_glob('subtool/*.cpp', excl='subtool/main.cpp'),
use='core-objects')
- bld(features='cxx cxxprogram',
+ bld.program(
+ name='subtool',
target='../../bin/subtool',
source='subtool/main.cpp',
use='tool-subtool-objects')
bld(name='tool-objects',
use='tool-subtool-objects')
+```
diff --git a/tests/io-fixture.hpp b/tests/io-fixture.hpp
index 71b098a..8f7fe27 100644
--- a/tests/io-fixture.hpp
+++ b/tests/io-fixture.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
- * Copyright (c) 2014-2022, Regents of the University of California,
+ * Copyright (c) 2014-2023, Regents of the University of California,
* Arizona Board of Regents,
* Colorado State University,
* University Pierre & Marie Curie, Sorbonne University,
@@ -28,7 +28,7 @@
#include "tests/clock-fixture.hpp"
-#include <boost/asio/io_service.hpp>
+#include <boost/asio/io_context.hpp>
namespace ndn::tests {
@@ -39,17 +39,13 @@
afterTick() final
{
if (m_io.stopped()) {
-#if BOOST_VERSION >= 106600
m_io.restart();
-#else
- m_io.reset();
-#endif
}
m_io.poll();
}
protected:
- boost::asio::io_service m_io;
+ boost::asio::io_context m_io;
};
} // namespace ndn::tests
diff --git a/tests/peek/ndnpeek.t.cpp b/tests/peek/ndnpeek.t.cpp
index e7162b0..8a51b8e 100644
--- a/tests/peek/ndnpeek.t.cpp
+++ b/tests/peek/ndnpeek.t.cpp
@@ -24,7 +24,6 @@
#include <ndn-cxx/util/dummy-client-face.hpp>
-#include <boost/mpl/vector.hpp>
#include <boost/test/tools/output_test_stream.hpp>
namespace ndn::peek::tests {
@@ -129,7 +128,7 @@
BOOST_AUTO_TEST_SUITE(Peek)
BOOST_FIXTURE_TEST_SUITE(TestNdnPeek, NdnPeekFixture)
-using OutputChecks = boost::mpl::vector<OutputFull, OutputPayloadOnly>;
+using OutputChecks = std::tuple<OutputFull, OutputPayloadOnly>;
BOOST_AUTO_TEST_CASE_TEMPLATE(Default, OutputCheck, OutputChecks)
{
diff --git a/tests/ping/integrated.t.cpp b/tests/ping/integrated.t.cpp
index 6994beb..4a85fda 100644
--- a/tests/ping/integrated.t.cpp
+++ b/tests/ping/integrated.t.cpp
@@ -25,6 +25,7 @@
#include "tests/key-chain-fixture.hpp"
#include <ndn-cxx/util/dummy-client-face.hpp>
+#include <boost/asio/post.hpp>
namespace ndn::ping::tests {
@@ -53,7 +54,7 @@
void
receive(DummyClientFace& face, const Packet& pkt)
{
- m_io.post([=, &face] {
+ boost::asio::post(m_io, [=, &face] {
if (!wantLoss) {
face.receive(pkt);
}
diff --git a/tests/test-case.t.cpp.sample b/tests/test-case.t.cpp.sample
index a2f74c1..07e4d2b 100644
--- a/tests/test-case.t.cpp.sample
+++ b/tests/test-case.t.cpp.sample
@@ -41,7 +41,7 @@
int i = 0;
// For reference of available Boost.Test macros, see
- // https://www.boost.org/doc/libs/1_65_1/libs/test/doc/html/boost_test/testing_tools/summary.html
+ // https://www.boost.org/doc/libs/1_71_0/libs/test/doc/html/boost_test/testing_tools/summary.html
BOOST_REQUIRE_NO_THROW(i = 1);
BOOST_CHECK_EQUAL(i, 1);
diff --git a/tests/wscript b/tests/wscript
index 5a21139..2f12f81 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -6,5 +6,5 @@
target=f'{top}/unit-tests',
name='unit-tests',
source=bld.path.ant_glob(['*.cpp'] + [f'{tool}/**/*.cpp' for tool in bld.env.BUILD_TOOLS]),
- use=['core-objects'] + [f'{tool}-objects' for tool in bld.env.BUILD_TOOLS],
+ use=['BOOST_TESTS', 'core-objects'] + [f'{tool}-objects' for tool in bld.env.BUILD_TOOLS],
install_path=None)
diff --git a/tools/chunks/catchunks/pipeline-interests.cpp b/tools/chunks/catchunks/pipeline-interests.cpp
index 218df28..ec30dd7 100644
--- a/tools/chunks/catchunks/pipeline-interests.cpp
+++ b/tools/chunks/catchunks/pipeline-interests.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
- * Copyright (c) 2016-2022, Regents of the University of California,
+ * Copyright (c) 2016-2023, Regents of the University of California,
* Colorado State University,
* University Pierre & Marie Curie, Sorbonne University.
*
@@ -31,7 +31,8 @@
#include "pipeline-interests.hpp"
#include "data-fetcher.hpp"
-#include <boost/asio/io_service.hpp>
+#include <boost/asio/io_context.hpp>
+#include <boost/asio/post.hpp>
namespace ndn::chunks {
@@ -101,8 +102,9 @@
cancel();
- if (m_onFailure)
- m_face.getIoService().post([this, reason] { m_onFailure(reason); });
+ if (m_onFailure) {
+ boost::asio::post(m_face.getIoService(), [this, reason] { m_onFailure(reason); });
+ }
}
void
diff --git a/wscript b/wscript
index c6a2fa7..d03de91 100644
--- a/wscript
+++ b/wscript
@@ -37,17 +37,15 @@
conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.1', '--cflags', '--libs'],
uselib_store='NDN_CXX', pkg_config_path=pkg_config_path)
- boost_libs = ['system', 'program_options']
- if conf.env.WITH_TESTS:
- boost_libs.append('unit_test_framework')
- conf.define('WITH_TESTS', 1)
-
- conf.check_boost(lib=boost_libs, mt=True)
- if conf.env.BOOST_VERSION_NUMBER < 106501:
- conf.fatal('The minimum supported version of Boost is 1.65.1.\n'
+ conf.check_boost(lib='program_options', mt=True)
+ if conf.env.BOOST_VERSION_NUMBER < 107100:
+ conf.fatal('The minimum supported version of Boost is 1.71.0.\n'
'Please upgrade your distribution or manually install a newer version of Boost.\n'
'For more information, see https://redmine.named-data.net/projects/nfd/wiki/Boost')
+ if conf.env.WITH_TESTS:
+ conf.check_boost(lib='unit_test_framework', mt=True, uselib_store='BOOST_TESTS')
+
conf.recurse('tools')
conf.check_compiler_flags()
@@ -56,6 +54,8 @@
conf.load('coverage')
conf.load('sanitizers')
+ conf.define_cond('WITH_TESTS', conf.env.WITH_TESTS)
+
conf.msg('Tools to build', ', '.join(conf.env.BUILD_TOOLS))
def build(bld):
@@ -69,8 +69,8 @@
bld.objects(
target='core-objects',
- source=bld.path.find_node('core').ant_glob('*.cpp') + ['core/version.cpp'],
- use='NDN_CXX BOOST',
+ source=bld.path.find_dir('core').ant_glob('*.cpp') + ['core/version.cpp'],
+ use='BOOST NDN_CXX',
includes='.',
export_includes='.')