379 Commits

Author SHA1 Message Date
R. Savchenko de905f331a smart_library correct constructors from shared_library (#114) 2026-07-07 12:23:51 +03:00
Fedor Osetrov 9cb8a366a7 feat boost.dll: support import std (#112)
The PR adds support `import std` and CI tests for the usage
2026-05-24 23:16:33 +03:00
Fedor Osetrov 62f8549933 feat boost.dll: support C++20 modules (#111)
This PR introduce `boost.dll` C++ module with usage example and CI tests
2026-05-24 08:03:05 +03:00
Antony Polukhin a719764869 Update copyright years 2026-01-04 09:53:05 +03:00
Antony Polukhin 2751e5768a Fix "size" variable shadowing (#72)
Fixes: https://github.com/boostorg/dll/issues/95
2025-10-24 20:06:05 +03:00
Antony Polukhin bc8657d8b3 Fix issues with std::error_code being passed to boost::system::error_code& (#107) 2025-10-24 19:12:18 +03:00
Antony Polukhin 67ded46a03 Merge remote-tracking branch 'luoh/develop' into develop 2025-06-11 16:09:12 +03:00
Antony Polukhin d662bcbb67 Fix usage of missing variable (#98)
Fixes https://github.com/boostorg/dll/issues/96
2025-06-11 09:59:25 +03:00
Antony Polukhin 67ecfd32d6 Minor tweak to restart CI 2025-06-10 21:34:44 +03:00
Luohao Wang 3663b87e67 Remove __attribute__((weak)) on Cygwin which causes unsuccessful export 2025-06-03 18:05:35 +08:00
Luohao Wang 2ebfa68bfb Fix missing of <link.h> on Cygwin 2025-06-03 14:38:53 +08:00
Antony Polukhin c30df76b04 Fix MacOS compilation on C++11 and C++14 (#93)
Fixes https://github.com/boostorg/dll/issues/92
2025-03-31 17:34:47 +03:00
Antony Polukhin 013633d375 Switch to std::shared_ptr from boost::shared_ptr and provide a BOOST_… (#90)
…DLL_USE_BOOST_SHARED_PTR compatibility macro to restore the old behavior

Fixes https://github.com/boostorg/dll/issues/75
2025-01-30 21:42:48 +03:00
Antony Polukhin 841e188556 More warnings about smart* parts of the library 2025-01-28 13:01:30 +03:00
Antony Polukhin e2ca8d9ce8 Update docs
Fixes: https://github.com/boostorg/dll/issues/51
2025-01-14 21:46:32 +03:00
Antony Polukhin 002fd888ef Fix conversion warning 2025-01-10 22:01:24 +03:00
Antony Polukhin 25393d3484 Update copyright years 2025-01-05 19:29:49 +03:00
Antony Polukhin d4c93c501a More tests, docs and fixes for library_info (#89) 2025-01-05 19:24:06 +03:00
Antony Polukhin 816955cc8d Modernize codebase (#87) 2024-12-28 09:01:36 +03:00
Antony Polukhin fdb48ba8f4 Add test from bugreport, provide compile time diagnostics for such cases (#85)
Fixes https://github.com/apolukhin/Boost.DLL/issues/47
2024-12-22 10:32:29 +03:00
Antony Polukhin b7713ead36 Fix buffer resizing on Windows (#84)
Fixes https://github.com/apolukhin/Boost.DLL/issues/63
2024-12-21 16:35:03 +03:00
Antony Polukhin 9d452d1459 Add smoke test for shared_library construction from native handler and cleanup the program_location implementation (fixes https://github.com/boostorg/dll/issues/70) (#83) 2024-12-21 15:09:52 +03:00
Antony Polukhin 7cbc0d4394 Merge branch 'develop' of github.com:boostorg/dll into HEAD 2024-12-20 16:53:55 +03:00
Antony Polukhin 15d8fb4377 Fix function names retrieval for particular section in PR created by clang-win 2024-12-20 00:21:11 +03:00
Antony Polukhin e6304f480b Make smart library work in C++11 mode (#80) 2024-12-19 21:47:04 +03:00
Antony Polukhin 3a903d2bb3 Avoid Boost.Spirit usage (#79) 2024-12-18 23:31:58 +03:00
Antony Polukhin 0d984c6604 Use Standard Library type traits (#78) 2024-12-17 16:01:38 +03:00
Antony Polukhin 06bc4c8b4b Modernize code and drop Boost.Function dependency (#77) 2024-12-17 13:49:58 +03:00
Antony Polukhin c66dfab77f Switch to std::error_code from boost::system::error_code where possible (#76) 2024-12-17 12:07:38 +03:00
Antony Polukhin b42fdd8634 Remove remaining parts of Boost.Move 2024-12-15 18:46:38 +03:00
Antony Polukhin 52e4837f3c Drop dependency on Boost.Move 2024-12-15 18:13:51 +03:00
Vinícius dos Santos Oliveira dab63b80a8 Add constructor taking native_handle_t
Calls to dlopen() will always fail on FreeBSD if ambient authority is
disabled (i.e. process is in capsicum mode). For these cases, FreeBSD
offers fdlopen(). The new constructor allows the user to explicitly call
fdlopen() and then use Boost.DLL to manage the loaded plugin.

Android's libc (Bionic) also has fdlopen(), but under a different name:
android_dlopen_ext().

As Linux implements a sandboxing model closer to Capsicum (that's
already planned in the roadmap for the Landlock subsystem), similar
restrictions will hit glibc and we might see fdlopen() in glibc as well.
2024-08-25 18:04:11 -03:00
Antony Polukhin 6c60dde50b Update copyright years 2024-01-07 13:16:17 +03:00
Antony Polukhin eaf60c819d Drop C++03 support (#66) 2023-10-21 10:49:58 +03:00
Alexander Grund df0a119c21 Use boost::core::invoke_swap instead of deprecated boost::swap 2023-09-12 08:30:51 +02:00
Antony Polukhin 73935c8e8e add C++03 deprecation warnings 2023-05-14 19:51:26 +03:00
Antony Polukhin 200bff6f93 Update copyright years 2023-01-19 09:49:28 +03:00
Travers Biddle a69964d19e Avoid implicit cast from size_t to uint32_t 2022-11-08 07:55:29 +13:00
Antony Polukhin cbb49f88b0 fix path_from_handle implementation on Windows
Refs: https://github.com/apolukhin/Boost.DLL/issues/57
2022-09-01 15:18:04 +03:00
Antony Polukhin 9f9471cc33 update copyright years 2022-01-30 13:05:45 +03:00
Denis Blank d73e45d30b Always include system_error.hpp when BOOST_DLL_USE_STD_FS is not defined 2021-08-14 01:10:08 +02:00
Antony Polukhin f9258d9856 MSVC fix and more runtime checks for malformed ELFs 2021-05-07 19:45:37 +03:00
Antony Polukhin 9d884adb48 use info from .dynsym section if .symtab is empty or missing 2021-05-07 15:23:32 +03:00
Antony Polukhin b053729bfb List protected ELF symbols in library_info as they are available for import (fixes #50) 2021-05-02 13:29:36 +03:00
Antony Polukhin fe53f32770 add missing includes 2021-04-26 10:09:59 +03:00
Antony Polukhin c1b3c9a3a6 GithubAction CI added and fixed boost-inspect warning 2021-04-22 10:30:14 +03:00
Владислав Щапов 13072b4fed Remove unneeded convert from wchar_t to char on POSIX environment 2021-02-11 20:26:43 +05:00
Antony Polukhin 4abffffc72 update copyright years 2021-01-03 14:06:09 +03:00
Antony Polukhin 6b2e3c7f66 Breaking change: rename import function into import_symbol (fixes #45) 2020-08-20 15:32:50 +03:00
Antony Polukhin 6fed722419 Add missing includes (fixes #42, #43) 2020-07-23 15:04:16 +03:00