Skip to content

Commit b708b78

Browse files
committed
Merge branch 'master' into spmc-queue
2 parents 85d7239 + 06541b6 commit b708b78

File tree

182 files changed

+452
-18625
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+452
-18625
lines changed

CHANGELOG renamed to CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
# Changes for liblsl 1.15.2
2+
3+
* fix: bump artifact / soname version
4+
5+
# Changes for liblsl 1.15.1
6+
7+
* change: update Boost / Boost.Asio to 1.75 (Tristan Stenner)
8+
* change: replace Boost.UUID generator
9+
* fix: work around faulty MinGW code generation for thread local variables (Tristan Stenner, Tobias Herzke)
10+
11+
112
# Changes for liblsl 1.15
213

314
* add: thread-safe `lsl_last_error()` function, returns a description of the last error

CMakeLists.txt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required (VERSION 3.12)
22
project (liblsl
3-
VERSION 1.15.0
3+
VERSION 1.15.2
44
LANGUAGES C CXX
55
DESCRIPTION "Labstreaminglayer C/C++ library"
66
HOMEPAGE_URL "https://github.com/sccn/liblsl"
@@ -23,6 +23,9 @@ option(LSL_LEGACY_CPP_ABI "Build legacy C++ ABI into lsl-static" OFF)
2323
option(LSL_OPTIMIZATIONS "Enable some more compiler optimizations" ON)
2424
option(LSL_UNITTESTS "Build LSL library unit tests" OFF)
2525
option(LSL_BUNDLED_PUGIXML "Use the bundled pugixml by default" ON)
26+
option(LSL_SLIMARCHIVE "Use experimental but smaller serialization code" OFF)
27+
28+
mark_as_advanced(LSL_SLIMARCHIVE LSL_FORCE_FANCY_LIBNAME)
2629

2730
set(LSL_WINVER "0x0601" CACHE STRING
2831
"Windows version (_WIN32_WINNT) to target (defaults to 0x0601 for Windows 7)")
@@ -161,6 +164,11 @@ add_library(lslboost OBJECT
161164
lslboost/serialization_objects.cpp
162165
)
163166
target_link_libraries(lslboost PUBLIC Threads::Threads)
167+
168+
if(LSL_SLIMARCHIVE)
169+
message(STATUS "Using shim instead of full Boost.Archive")
170+
target_compile_definitions(lslboost PUBLIC SLIMARCHIVE)
171+
endif()
164172
target_compile_features(lslboost PUBLIC cxx_std_11 cxx_lambda_init_captures)
165173

166174
target_compile_definitions(lslboost
@@ -198,7 +206,7 @@ if(UNIX AND NOT APPLE)
198206
endif()
199207
elseif(WIN32)
200208
target_link_libraries(lslobj PRIVATE iphlpapi winmm)
201-
target_link_libraries(lslboost PRIVATE bcrypt mswsock ws2_32)
209+
target_link_libraries(lslboost PRIVATE mswsock ws2_32)
202210
target_compile_definitions(lslobj
203211
PRIVATE _CRT_SECURE_NO_WARNINGS
204212
PUBLIC LSLNOAUTOLINK # don't use #pragma(lib) in CMake builds

lslboost/boost/algorithm/string/detail/classification.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@
1313

1414
#include <boost/algorithm/string/config.hpp>
1515
#include <algorithm>
16+
#include <cstring>
1617
#include <functional>
1718
#include <locale>
1819

1920
#include <boost/range/begin.hpp>
21+
#include <boost/range/distance.hpp>
2022
#include <boost/range/end.hpp>
2123

2224
#include <boost/algorithm/string/predicate_facade.hpp>

lslboost/boost/archive/detail/check.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
// MS compatible compilers support #pragma once
55
#if defined(_MSC_VER)
66
# pragma once
7-
#pragma inline_depth(511)
7+
#pragma inline_depth(255)
88
#pragma inline_recursion(on)
99
#endif
1010

1111
#if defined(__MWERKS__)
12-
#pragma inline_depth(511)
12+
#pragma inline_depth(255)
1313
#endif
1414

1515
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8

lslboost/boost/archive/detail/iserializer.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
#define BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
33

44
// MS compatible compilers support #pragma once
5-
#if defined(_MSC_VER)
5+
#if defined(BOOST_MSVC)
66
# pragma once
7-
#pragma inline_depth(511)
7+
#pragma inline_depth(255)
88
#pragma inline_recursion(on)
99
#endif
1010

1111
#if defined(__MWERKS__)
12-
#pragma inline_depth(511)
12+
#pragma inline_depth(255)
1313
#endif
1414

1515
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8

lslboost/boost/archive/detail/oserializer.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
// MS compatible compilers support #pragma once
55
#if defined(_MSC_VER)
66
# pragma once
7-
#pragma inline_depth(511)
7+
#pragma inline_depth(255)
88
#pragma inline_recursion(on)
99
#endif
1010

1111
#if defined(__MWERKS__)
12-
#pragma inline_depth(511)
12+
#pragma inline_depth(255)
1313
#endif
1414

1515
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8

lslboost/boost/asio/detail/config.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1750,7 +1750,9 @@
17501750
#if !defined(BOOST_ASIO_HAS_CO_AWAIT)
17511751
# if !defined(BOOST_ASIO_DISABLE_CO_AWAIT)
17521752
# if defined(BOOST_ASIO_MSVC)
1753-
# if (_MSC_FULL_VER >= 190023506)
1753+
# if (_MSC_VER >= 1928) && (_MSVC_LANG >= 201705)
1754+
# define BOOST_ASIO_HAS_CO_AWAIT 1
1755+
# elif (_MSC_FULL_VER >= 190023506)
17541756
# if defined(_RESUMABLE_FUNCTIONS_SUPPORTED)
17551757
# define BOOST_ASIO_HAS_CO_AWAIT 1
17561758
# endif // defined(_RESUMABLE_FUNCTIONS_SUPPORTED)
@@ -1775,6 +1777,11 @@
17751777
// Standard library support for coroutines.
17761778
#if !defined(BOOST_ASIO_HAS_STD_COROUTINE)
17771779
# if !defined(BOOST_ASIO_DISABLE_STD_COROUTINE)
1780+
# if defined(BOOST_ASIO_MSVC)
1781+
# if (_MSC_VER >= 1928) && (_MSVC_LANG >= 201705)
1782+
# define BOOST_ASIO_HAS_STD_COROUTINE 1
1783+
# endif // (_MSC_VER >= 1928) && (_MSVC_LANG >= 201705)
1784+
# endif // defined(BOOST_ASIO_MSVC)
17781785
# if defined(__GNUC__)
17791786
# if (__cplusplus >= 201709) && (__cpp_impl_coroutine >= 201902)
17801787
# if __has_include(<coroutine>)

lslboost/boost/asio/detail/impl/eventfd_select_interrupter.ipp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323
#include <sys/stat.h>
2424
#include <sys/types.h>
2525
#include <fcntl.h>
26-
#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
26+
#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
2727
# include <asm/unistd.h>
28-
#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
28+
#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
2929
# include <sys/eventfd.h>
30-
#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
30+
#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
3131
#include <boost/asio/detail/cstdint.hpp>
3232
#include <boost/asio/detail/eventfd_select_interrupter.hpp>
3333
#include <boost/asio/detail/throw_error.hpp>
@@ -46,14 +46,14 @@ eventfd_select_interrupter::eventfd_select_interrupter()
4646

4747
void eventfd_select_interrupter::open_descriptors()
4848
{
49-
#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
49+
#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
5050
write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0);
5151
if (read_descriptor_ != -1)
5252
{
5353
::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK);
5454
::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
5555
}
56-
#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
56+
#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
5757
# if defined(EFD_CLOEXEC) && defined(EFD_NONBLOCK)
5858
write_descriptor_ = read_descriptor_ =
5959
::eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK);
@@ -70,7 +70,7 @@ void eventfd_select_interrupter::open_descriptors()
7070
::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
7171
}
7272
}
73-
#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
73+
#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
7474

7575
if (read_descriptor_ == -1)
7676
{

lslboost/boost/asio/detail/push_options.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,9 @@
8585

8686
# pragma GCC diagnostic push
8787
# pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
88-
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
88+
# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || (__GNUC__ > 4)
89+
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
90+
# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || (__GNUC__ > 4)
8991
# if (__GNUC__ >= 7)
9092
# pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
9193
# endif // (__GNUC__ >= 7)

lslboost/boost/asio/impl/use_awaitable.hpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,19 @@ class awaitable_handler<Executor, std::exception_ptr, Ts...>
229229

230230
#if !defined(GENERATING_DOCUMENTATION)
231231

232+
#if defined(_MSC_VER)
233+
template <typename T>
234+
T dummy_return()
235+
{
236+
return std::move(*static_cast<T*>(nullptr));
237+
}
238+
239+
template <>
240+
void dummy_return()
241+
{
242+
}
243+
#endif // defined(_MSC_VER)
244+
232245
template <typename Executor, typename R, typename... Args>
233246
class async_result<use_awaitable_t<Executor>, R(Args...)>
234247
{
@@ -237,19 +250,6 @@ class async_result<use_awaitable_t<Executor>, R(Args...)>
237250
Executor, typename decay<Args>::type...> handler_type;
238251
typedef typename handler_type::awaitable_type return_type;
239252

240-
#if defined(_MSC_VER)
241-
template <typename T>
242-
static T dummy_return()
243-
{
244-
return std::move(*static_cast<T*>(nullptr));
245-
}
246-
247-
template <>
248-
static void dummy_return()
249-
{
250-
}
251-
#endif // defined(_MSC_VER)
252-
253253
template <typename Initiation, typename... InitArgs>
254254
static return_type initiate(Initiation initiation,
255255
use_awaitable_t<Executor> u, InitArgs... args)

0 commit comments

Comments
 (0)