Commit Graph

313 Commits

Author SHA1 Message Date
klemens-morgenstern
7908eb3c97 made demangle_symbol available in experimental namespace 2016-02-05 20:35:42 +01:00
klemens-morgenstern
f5c017e95a added type_info loader 2016-02-05 20:28:17 +01:00
Antony Polukhin
2c203179e8 Typo fix 2016-02-02 00:39:53 +03:00
Antony Polukhin
db1c9c6f5f MSVC related fixes 2016-02-02 00:07:02 +03:00
Antony Polukhin
73315c86cf Docs unified, shared_library now can get member pointers, multiple improvements for aggressive_ptr_cast 2016-02-01 23:39:52 +03:00
Antony Polukhin
8af9b5a804 Merge pull request #18 from klemens-morgenstern/develop
Fix for MSVC
2016-02-01 08:06:26 +03:00
klemens-morgenstern
4def25c7d8 added possible fix for msvc-x64 2016-01-31 22:26:14 +01:00
klemens-morgenstern
d629cf9e3e added _ptr64 handling for the msvc parser 2016-01-31 21:43:49 +01:00
klemens-morgenstern
e29ea117e5 fixed a few bugs 2016-01-31 21:08:09 +01:00
Andrey Semashev
f8654e62ec Update Boost.WinAPI includes and ensure the correct usage of GetLastError() 2016-01-31 22:48:46 +03:00
Antony Polukhin
808e42fcd1 Fixed some warnings in experimental parts of the library 2016-01-28 22:30:08 +03:00
Antony Polukhin
f6e6caa15a restored some of the Windows flags 2016-01-26 17:33:32 +03:00
Antony Polukhin
2c51f62ebb Typo fix 2016-01-26 17:12:32 +03:00
Antony Polukhin
4dfc691b52 Cleanup and minor functions refactoring 2016-01-26 16:59:02 +03:00
Antony Polukhin
fab0e25a7d Replaces tabs with whitespaces, minor improvements for docs 2016-01-26 14:18:40 +03:00
Antony Polukhin
271ae7cabc Minor cleanups, simplifications and warning fixes 2016-01-26 13:42:54 +03:00
klemens-morgenstern
e0886d3542 simplified the MSVC
also added a check for msvc version when executing the test
2016-01-24 13:53:33 +01:00
klemens-morgenstern
161b495a23 updated test to work on linux.
also added description of limitations to smart_library
2016-01-24 12:58:43 +01:00
klemens-morgenstern
6cb87663ed added documentation and changed shared_lib to a member of smart_library
@apolukhin The shared_lib::get_void is still used, of course I can change that. But I really don't like the whole casting so I'd be more comfortable if that could stay this way.
2016-01-24 11:45:18 +01:00
klemens-morgenstern
878aaab5ea moved smart_library to boost::dll::experimental 2016-01-24 09:36:52 +01:00
klemens-morgenstern
1449cae1f3 fixed after the changes 2016-01-23 16:46:14 +01:00
klemens-morgenstern
28e4f58347 inserted @apolukhin changes.
see [here](https://github.com/apolukhin/Boost.DLL/pull/17)
2016-01-23 15:51:41 +01:00
klemens-morgenstern
b29c46070e Merge remote-tracking branch 'remotes/apolukhin/develop' into develop
Conflicts:
	include/boost/dll/shared_library.hpp
	test/Jamfile.v2
	test/library_info_test.cpp
2016-01-22 00:01:27 +01:00
klemens-morgenstern
ef2ef65af1 excluded smart_lib via _cplusplus define and added c++1y to travis. 2016-01-21 23:40:23 +01:00
klemens-morgenstern
02515ac0d7 gcc is working. 2016-01-21 23:27:17 +01:00
klemens-morgenstern
4243527504 msvc works 2016-01-21 22:25:51 +01:00
klemens-morgenstern
206b53ca82 finished the msvc name lookup. 2016-01-21 20:09:12 +01:00
klemens-morgenstern
e0908f3dcc updated the variable matcher for msvc 2016-01-21 16:43:34 +01:00
Antony Polukhin
d377c4def9 Improved docs, functor returned by import* functions is now smaller 2016-01-16 23:32:40 +03:00
Antony Polukhin
9714445f92 Fix file access permissions 2015-12-29 23:14:42 +03:00
Antony Polukhin
f8ef7e176c More b2 related workarounds for MinGW, simplified Windows code and fixed warnings 2015-12-29 23:14:42 +03:00
Andrey Semashev
88b185bf0e Improve compatibility with Windows CE
Use winapi::get_proc_address() instead of winapi::GetProcAddress() in order to avoid hitting GetProcAddress macro that is defined on Windows CE and expands to GetProcAddressW.
2015-12-29 02:25:52 +03:00
Antony Polukhin
70648c502d Fix compilation on Android 2015-12-20 19:05:09 +03:00
Antony Polukhin
a4dbd85c31 Better error handling, more fair examples, better b2 workarounds, docs update, fixes for Android 2015-12-14 21:19:09 +03:00
Antony Polukhin
b5788bd9ab Added multithreaded test, restored MacOS's shared_library::location() behavior, another attempt to fix Android's implementation of path_from_handle, minor docs updates 2015-12-09 00:11:25 +03:00
Antony Polukhin
0df6350e4e Bugfixes and improvements, mostly for Android and MacOS platforms 2015-12-07 21:39:07 +03:00
Antony Polukhin
603b2b5efe Documentation updated, changed import* signatures, simplified examples 2015-12-04 22:00:49 +03:00
Antony Polukhin
561bcf7b8b Fix section_name_too_big test under Android, more import* overloads, returned by import* callable objects are now copyable, dropped multiple includes from alias.hpp, added BOOST_DLL_FORCE_NO_WEAK_EXPORTS macro 2015-12-03 22:44:41 +03:00
Antony Polukhin
3afd980b12 Fixed program_location() for QNX and compilation on Darwin with latest GCC. Jamfile modifications to get less Boost.System related warnings during tests run 2015-12-02 22:29:45 +03:00
Antony Polukhin
cf9cbbfde5 Worked arrounf calling conventions, dropped dependency on boost::function for modern compilers, updatet the docs and improved some of the examples 2015-12-01 23:27:50 +03:00
Antony Polukhin
f3aff8fb14 Delete experiment with calling conventions 2015-11-24 20:33:13 +03:00
Antony Polukhin
b358edb4d5 Fixing calling convention issues on Windows 2015-11-19 23:03:58 +03:00
Antony Polukhin
faf4483fb0 Resolve issue with getting location of a self loaded object 2015-11-01 22:48:06 +03:00
Antony Polukhin
b36d49b11f Use dll.hpp header from Boost.WinAPI module on Windows platform instead of using a temporary dll2.hpp from fhis repo 2015-10-30 00:00:41 +03:00
Antony Polukhin
b1ab3116f3 Attempt to fix tests on Android and with IBM compiler 2015-10-29 23:51:20 +03:00
Antony Polukhin
ebfcbf8ee7 Multiple small fixes and doc improvemnts 2015-10-27 22:25:58 +03:00
Antony Polukhin
e887136d4c Make shared_library copyable 2015-10-27 01:20:34 +03:00
Antony Polukhin
4002ca0645 Added overloads that accept error_code for runtime symbols info functions 2015-10-27 00:27:40 +03:00
Antony Polukhin
6c5e0958d0 Polishing Boost.WinAPI header 2015-10-23 00:11:27 +03:00
Antony Polukhin
0c43700118 Improved bitness detection 2015-10-20 23:26:16 +03:00
klemens-morgenstern
30ed592ae8 i found an error in the tokenizer. it doesn't work for multi-type
template-parameters, e.g. boost::variant<int, double>
2015-10-20 21:50:37 +02:00
klemens-morgenstern
b4b49f00d9 implemented the ctor and dtor classes
now i need to add tests for it
2015-10-20 19:00:38 +02:00
Antony Polukhin
02d48dff2f Tune dll2.hpp according to Andrey Semashev's advices 2015-10-19 22:49:01 +03:00
Antony Polukhin
87737094bf Another portion of fixes and workarounds for Android, QNX, Windows, Solaris 2015-10-19 22:33:04 +03:00
klemens-morgenstern
3dccc2075f unfinished state, started with smart_lib 2015-10-17 21:34:39 +02:00
Antony Polukhin
28fe4dc5c4 Dropped Boost.Test usage because it was using windows.h directly and updated the dll2.hpp file with WinAPI declarations to be more close to Boost.WINAPI's dll.hpp file 2015-10-17 16:21:37 +03:00
Antony Polukhin
256356bb84 Many fixes for Windows platform 2015-10-17 15:04:00 +03:00
Antony Polukhin
f28c6d260e Another QNX fix and improved FAQ section 2015-10-16 08:45:00 +03:00
klemens-morgenstern
48acd6662a finished the name storage
- obtaining the mangled name works
 - code is ugly as hell
2015-10-10 19:52:58 +02:00
klemens-morgenstern
c1ee01b758 the mangled map thingy works for gcc
will implement this now for msvc.

test is written for that
2015-10-08 22:52:39 +02:00
klemens-morgenstern
98129ba28e added mangle storage for itanium api 2015-10-08 17:43:06 +02:00
klemens-morgenstern
f816b3c192 changed demangle_symbol to remove the '_'. 2015-10-08 00:48:18 +02:00
klemens-morgenstern
36a8d2d094 i should really settle on one folder structure... 2015-10-08 00:28:43 +02:00
klemens-morgenstern
b985e23314 forgot i renamed he function 2015-10-08 00:23:28 +02:00
klemens-morgenstern
6ae23a646d moved demangle.hpp, because i didn't see the core/demangle.hpp
I still need the MSVC-demangle function, since the core/demangle, does
not demangle entry points. I wish there was a better way, but I did not
find it. Hence we have a demangle_symobl in the dll/detail folder.
2015-10-08 00:18:28 +02:00
klemens-morgenstern
dd45427f92 damn, missed the pe_info.hpp and elf_info.hpp. 2015-10-07 21:15:58 +02:00
zerotypos-found
a0b37b6089 Fix typo in docs and comments. 2015-10-06 12:17:18 +09:00
klemens-morgenstern
28102b6132 added primitve descriptor header 2015-10-05 23:36:20 +02:00
klemens-morgenstern
f408f2dfc1 added tokenizer and outline reader 2015-10-05 22:43:21 +02:00
klemens-morgenstern
1fbbb07782 added read_elf and read_dll 2015-10-05 21:50:25 +02:00
klemens-morgenstern
4cf656ceef added demangle and export
export just provides a macro for member export atm. that is because
mingw needs this, while msvc gives an error.
2015-10-05 21:35:30 +02:00
klemens-morgenstern
295ffe9baa added dbghelp header 2015-10-05 21:10:25 +02:00
Antony Polukhin
5f1caac87b FreeBSD compilation fix 2015-09-27 18:00:36 +03:00
Antony Polukhin
813358490e FreeBSD workarounds 2015-09-25 20:10:26 +03:00
Antony Polukhin
f936b36d3d Compilation fix for QNX 2015-09-24 00:54:32 +03:00
Antony Polukhin
a649171bf7 Fix for Android 2015-09-16 22:09:26 +03:00
Antony Polukhin
f975a4137e Another set of platform specific fixes 2015-09-15 10:31:45 +03:00
Antony Polukhin
8eb1fafb9e Fix QNX, BSD and WIN platform dependant errors 2015-09-08 21:09:56 +03:00
Antony Polukhin
2fbc70dfa0 Windows compilation fix 2015-09-07 21:59:06 +03:00
Antony Polukhin
3d79f2c972 Fix Windows compilation, refactor all the Jamfile's logic for providing shared library locations 2015-09-06 21:48:25 +03:00
Antony Polukhin
79716b0d19 Fix compilation under Windows 2015-09-04 20:19:41 +03:00
Antony Polukhin
283ef8956b Fixed compilation, dropped Coverity analisis because it was causing many troubles for TravisCI builds 2015-09-02 22:09:10 +03:00
Antony Polukhin
cca4ac6a67 Dropped Windows specific load_library_as_* modes as irrelevant to library scope, refactored library_info, fixed problem with missing dlinfo call on some platforms, Travis fix 2015-09-01 22:36:02 +03:00
Antony Polukhin
570abd52ce Docs tuned and fixed possible error in ELF parsing 2015-09-01 02:26:28 +03:00
Antony Polukhin
f8437d4fa7 Fix MSVC warning, workaround GCC errors with __TMC_*, remove _autoaliases::dummy_* variables from exportable 2015-09-01 01:45:14 +03:00
Antony Polukhin
a8e5bfc5ac Updated docs and changed to 2015-08-21 23:26:25 +03:00
Antony Polukhin
d7fabc380d Bunch of minor improvements and polishing examples 2015-08-21 23:11:15 +03:00
Antony Polukhin
a8fca9ed1a More overloads and minor Boost transition related updates 2015-08-20 22:05:10 +03:00
Antony Polukhin
7d5b3f49de Renamed shared_library::search_symbol() to shared_library::has_symbol() 2015-08-15 21:01:29 +03:00
Antony Polukhin
2a46c62646 Dropped dependency to string_ref and cleaned up doc folder 2015-08-15 20:49:09 +03:00
Antony Polukhin
92c281f566 Code simplification and better documentation 2015-08-11 00:43:54 +03:00
Antony Polukhin
a0a43b3ece Simplified code and unified load_mode::append_decorations behavior on different platforms 2015-08-01 14:45:14 +03:00
Antony Polukhin
d6afc013bf Optimized refcount variable importing methods 2015-07-30 10:20:28 +03:00
Antony Polukhin
5da8ad75fa Fixes for MACH-O parsing 2015-07-19 16:24:29 +03:00
Antony Polukhin
4aec4ad4b0 Multiple MacOS fixes, tests for loading libraries with 'load_mode::append_decorations' and libnames starting with 'lib' 2015-07-15 22:45:23 +03:00
Antony Polukhin
242df1b7e6 Another portion of MacOS fixes for BOOST_DLL_ALIAS and library_info 2015-07-10 21:40:28 +03:00
Antony Polukhin
cffd32241e Fix BOOST_DLL_SECTION for MacOS 2015-07-09 21:15:22 +03:00
Antony Polukhin
a20b961106 Another portion of fixes for MacOS 2015-07-08 22:57:09 +03:00
Antony Polukhin
75bf21817a Fix path_from_handle on MacOS 2015-07-08 21:27:00 +03:00
Antony Polukhin
f879b21395 Fix MacOS related compilation issues 2015-07-07 23:22:09 +03:00
Antony Polukhin
00ff750aaf Fix issues mentioned by Vladimir Prus: missing build dependencies, better helper macro names 2015-06-28 22:37:15 +03:00
Antony Polukhin
3d8f7fadd4 Added explicit operator bool and tests 2015-04-25 12:17:39 +03:00
Antony Polukhin
2fea995f33 Deprecated import_function* and import_variable* methods and updated the docs and tests 2014-11-21 18:58:07 +03:00
Antony Polukhin
4e0b45f822 Simplified some of the interfaces and added BOOST_DLL_AUTO_ALIAS macro 2014-11-21 17:53:35 +04:00
Antony Polukhin
2bf3741a69 Add MinGW notes to docs (fixes #6) 2014-11-06 13:02:15 +04:00
Anton Polukhin
af7915868a Apply MinGW related workarounds
Fix PE32+ format detection
2014-11-05 21:09:44 +04:00
Anton Polukhin
7a96e90280 MinGW related workaround: dealing with impossibility of making weak symbols 2014-10-31 16:11:06 +04:00
Anton Polukhin
6b98f6906f MinGW related fixes and improvements (refs #6) 2014-10-17 14:25:10 +04:00
Antony Polukhin
76ff856bd1 Another attempt to fix MinGW compilations 2014-10-13 20:30:46 +04:00
Antony Polukhin
1833f2f4a7 Revert "Fixes for MinGW (ref #6)"
This reverts commit 16e3ab69f2.
2014-10-13 19:48:05 +04:00
Antony Polukhin
b97baab094 Revert "Fixed aliases for GCC (refs #6)"
This reverts commit 1f25e9b7c9.
2014-10-13 19:47:54 +04:00
Antony Polukhin
1f25e9b7c9 Fixed aliases for GCC (refs #6) 2014-10-13 17:42:25 +04:00
Anton Polukhin
16e3ab69f2 Fixes for MinGW (ref #6) 2014-10-13 16:34:44 +04:00
Antony Polukhin
2cef78c0a7 Docs were improved with answers to questions from Boost mailing list 2014-10-03 14:40:46 +04:00
Anton Polukhin
0422fb0a6e Fix Windows related issues 2014-10-01 11:59:48 +04:00
Antony Polukhin
90c3903acf Polishing examples nad docs 2014-09-29 19:27:46 +04:00
Antony Polukhin
0a30052710 Advanced refcounting tutorial finished 2014-09-29 13:53:51 +04:00
Antony Polukhin
9a71513b16 Added an advanced refcounting example, fixed this_executable detection on POSIX and minor improvements to the code 2014-09-28 15:35:40 +04:00
Antony Polukhin
b99d0ad9cb Merge branch 'develop' of https://github.com/apolukhin/Boost.DLL into develop 2014-09-26 15:46:04 +04:00
Antony Polukhin
95bfd4eeac Renamed shared_library::path() to shared_library::location() 2014-09-26 15:42:50 +04:00
Anton Polukhin
90c0f0c9e7 Fix Windows compilation 2014-09-26 15:28:39 +04:00
Antony Polukhin
dc51cb9a6b load_self() was removed and many issues were fixed 2014-09-26 15:18:41 +04:00
Antony Polukhin
e9a70875fb Revert "Include boost/dll/runtime_symbol_info.hpp in boost/dll.hpp"
This reverts commit b7851bac4c.
2014-09-26 13:39:48 +04:00
Anton Polukhin
f9d0ecc3f6 program_location() method and related improvements 2014-09-26 12:44:53 +04:00
Antony Polukhin
b7851bac4c Include boost/dll/runtime_symbol_info.hpp in boost/dll.hpp 2014-09-25 18:44:04 +04:00
Antony Polukhin
29e4e60196 Added this_line_location() method 2014-09-25 18:42:06 +04:00
Anton Polukhin
66fbe09b43 Fixed getting symbol location on Windows 2014-09-25 16:58:37 +04:00
Antony Polukhin
b9d0bed35c Fix Windows compilation 2 2014-09-25 16:42:34 +04:00
Antony Polukhin
297ff991d1 Fix Windows compilation 2014-09-25 16:41:22 +04:00
Antony Polukhin
345d416c02 Fix Windows paths 2014-09-25 16:37:22 +04:00
Antony Polukhin
3c233a6dc8 Docs improved and initial implementation of symbol_location for Windows 2014-09-25 16:29:32 +04:00
Antony Polukhin
458515e372 Fix formatting, make lib.path() tests more strict, improve symbol_location() 2014-09-25 12:53:05 +04:00
Antony Polukhin
fdca295fcd symbol_location initial implementation and POSIX lib.path() bugfix 2014-09-25 08:39:35 +04:00
Antony Polukhin
56847ef9d6 Doxygen fails to generate nice docs, attempting to workaround 2014-09-24 19:41:54 +04:00
Antony Polukhin
171dfe696d Minor interface related improvements 2014-09-24 19:32:45 +04:00
Anton Polukhin
ec03265535 Fix Windows related issues and warnings 2014-09-24 19:17:29 +04:00
Antony Polukhin
490a670e26 Minor platform updates and tests fixes 2014-09-24 19:01:55 +04:00
Antony Polukhin
71db3573af Added append_native_decorations mode 2014-09-24 18:39:07 +04:00
Antony Polukhin
5a19c800c3 Improved docs 2014-09-16 13:36:34 +04:00
Antony Polukhin
ad95318ef7 Docs and tutorial improved 2014-09-16 13:03:40 +04:00
Antony Polukhin
3f85da46e6 Docs improved 2014-09-15 19:20:05 +04:00
Antony Polukhin
2ff2c722ae Docs improved and typo fixed 2014-09-15 17:00:34 +04:00
Anton Polukhin
fd6ddc359c More tests for Mach-O 2014-09-15 16:36:32 +04:00
Antony Polukhin
2bcc3c4377 Mach-O parsing (not tested) 2014-09-15 16:17:52 +04:00
retf
03145e9cb5 Added '@cond' and '@endcond' on public interface.
Added '@cond' and '@endcond' on public interface, this is a workaround
to remove 'private' methods from docs.
2014-09-15 09:09:30 -03:00
Antony Polukhin
2725d5e82b Started the Mach-O parsing 2014-09-15 14:43:57 +04:00
Antony Polukhin
ed70742b68 Fixes and minor updates 2014-09-12 16:27:17 +04:00
Antony Polukhin
a57327e50a Minor fixes 2014-09-12 15:07:04 +04:00
Antony Polukhin
7fa3206815 Improving docs 2014-09-12 14:15:11 +04:00
Antony Polukhin
b15e5d2b89 Better names for input variables 2014-09-12 12:35:54 +04:00