Commit Graph

131 Commits

Author SHA1 Message Date
Andrey Semashev
7ba2f2cf5b Remove linking with Boost.System.
Since Boost.System is now header-only, no need to link with the library.
2019-01-14 20:19:46 +03:00
Fabrice Fontaine
f7581a3662 fix static detection of lock-free atomic ints
When build statically, boost is unable to detect lock-free atomics ints
because it tries to link dynamically with boost_system, see
output/build/boost-1.67.0/bin.v2/config.log (with -d5 option):

Using shell: /bin/sh -c
    argv[0] = '/bin/sh'
    argv[1] = '-c'
    argv[2] = '
    "/home/fabrice/buildroot/output/host/bin/arm-linux-g++"   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -Wl,-elf2flt -static  -Wl,-elf2flt -static -fPIC -pthread -O0 -fno-inline -Wall -pedantic -g -Wextra -Wno-long-long -Wno-unused-parameter -Wunused-function -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_THREAD_BUILD_DLL=1  -I"." -c -o "bin.v2/libs/thread/build/gcc-6.4.0/debug/threading-multi/has_atomic_flag_lockfree_test.o" "libs/thread/src/../build/has_atomic_flag_lockfree_test.cpp"
'
gcc.compile.c++ bin.v2/libs/thread/build/gcc-6.4.0/debug/threading-multi/has_atomic_flag_lockfree_test.o

    "/home/fabrice/buildroot/output/host/bin/arm-linux-g++"   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -Wl,-elf2flt -static  -Wl,-elf2flt -static -fPIC -pthread -O0 -fno-inline -Wall -pedantic -g -Wextra -Wno-long-long -Wno-unused-parameter -Wunused-function -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_THREAD_BUILD_DLL=1  -I"." -c -o "bin.v2/libs/thread/build/gcc-6.4.0/debug/threading-multi/has_atomic_flag_lockfree_test.o" "libs/thread/src/../build/has_atomic_flag_lockfree_test.cpp"

0.033561 sec system; 0.126314 sec user; 288.682473 sec clock
gcc.compile.c++ bin.v2/libs/system/build/gcc-6.4.0/debug/threading-multi/error_code.o

    "/home/fabrice/buildroot/output/host/bin/arm-linux-g++"   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -Wl,-elf2flt -static  -Wl,-elf2flt -static -fPIC -pthread -O0 -fno-inline -Wall -pedantic -g  -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1  -I"." -c -o "bin.v2/libs/system/build/gcc-6.4.0/debug/threading-multi/error_code.o" "libs/system/src/error_code.cpp"

0.084060 sec system; 0.644133 sec user; 8.858824 sec clock
SEM: <s>gcc-link-semaphore now used by <pbin.v2/libs/system/build/gcc-6.4.0/debug/threading-multi>libboost_system.so.1.67.0
Using shell: /bin/sh -c
    argv[0] = '/bin/sh'
    argv[1] = '-c'
    argv[2] = '
    "/home/fabrice/buildroot/output/host/bin/arm-linux-g++"    -o "bin.v2/libs/system/build/gcc-6.4.0/debug/threading-multi/libboost_system.so.1.67.0" -Wl,-h -Wl,libboost_system.so.1.67.0 -shared -Wl,--start-group "bin.v2/libs/system/build/gcc-6.4.0/debug/threading-multi/error_code.o"  -Wl,-Bstatic  -Wl,-Bdynamic -lrt -Wl,--end-group -fPIC -pthread -g  -Wl,-elf2flt -static
'
gcc.link.dll bin.v2/libs/system/build/gcc-6.4.0/debug/threading-multi/libboost_system.so.1.67.0

    "/home/fabrice/buildroot/output/host/bin/arm-linux-g++"    -o "bin.v2/libs/system/build/gcc-6.4.0/debug/threading-multi/libboost_system.so.1.67.0" -Wl,-h -Wl,libboost_system.so.1.67.0 -shared -Wl,--start-group "bin.v2/libs/system/build/gcc-6.4.0/debug/threading-multi/error_code.o"  -Wl,-Bstatic  -Wl,-Bdynamic -lrt -Wl,--end-group -fPIC -pthread -g  -Wl,-elf2flt -static

ld (ld-elf2flt): -shared used without passing a shared library ID
collect2: error: ld a retourné le statut de sortie 1
0.003123 sec system; 0.004732 sec user; 15.646509 sec clock
...failed gcc.link.dll bin.v2/libs/system/build/gcc-6.4.0/debug/threading-multi/libboost_system.so.1.67.0...

To fix this, move the exe statement before the boost/thread project

Fixes:
 - http://autobuild.buildroot.org/results/f46d38991385cbc2a4fa14eb31074e770cd79803

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2018-09-05 12:24:04 +02:00
Vicente J. Botet Escriba
e848363029 Added define for WIN32 when threadapi is win32. 2018-02-28 18:32:27 +01:00
Andrey Semashev
8633d7532d Rewritten GetTickCount64 emulation implementation.
This is to resolve the possible license violation as the previous
implementation has been taken from StackOverflow and was not licensed
under the Boost Software License. The new implementation was adopted from
Boost.Log:

1cc577cbf5/src/timestamp.cpp (L66-L86)

The legal issue has been raised in:

https://lists.boost.org/Archives/boost/2018/02/241453.php

Fixes https://github.com/boostorg/thread/issues/209.
2018-02-21 00:44:20 +03:00
Alexander Karzhenkov
3ebd3b6bce Rename module with <threadapi> definition 2017-10-07 19:10:31 +05:00
Alexander Karzhenkov
f67e6d4417 <threadapi> auto-detection has to be performed in Jamroot 2017-10-05 22:41:03 +05:00
Alexander Karzhenkov
c3a007e88b <threadapi> feature definition moved to module "threadapi.jam" 2017-09-28 20:18:43 +05:00
Alexander Karzhenkov
9c1c372067 <threadapi> is now optional; detection rules moved to "threadapi.jam" 2017-09-28 01:25:17 +05:00
Alexander Karzhenkov
ab3da91e67 Auto-detection logic for <threadapi> added to "test/Jamfile.v2" 2017-09-23 21:52:48 +05:00
Alexander Karzhenkov
6ee1c88869 Try fix regression for native_handle 2017-09-23 15:24:53 +05:00
Alexander Karzhenkov
2fb41edf1a Default <threadapi> is based on <target-os> instead of host system name
* <threadapi> has an additional value "native" which is the default.
  If build request doesn't specify other value, it is replaced
  either with "pthread" or "win32" depending on <target-os>.
* <tag> modifies name of generated library only if resulting <threadapi>
  value differs from one that would have been chosen to replace "native"
  according to <target-os>.
2017-09-22 10:51:07 +05:00
Andrey Semashev
49ab2e8619 Fixed compilation with MSVC-8.
Make sure _WIN32_WINNT is defined when windows.h is included. This is
achieved by (a) making sure boost/detail/winapi/config.hpp is included
before any other headers and (b) BOOST_USE_WINDOWS_H is defined so that
the header defines _WIN32_WINNT based on the default target Windows
version. This ensures that all APIs used by the implementation are
available.

Also extracted WIN32_LEAN_AND_MEAN definition to the Jamfile so that it is
consistently defined for all translation units instead of only tss*.cpp.
2016-07-16 19:50:46 +03:00
Vladimir Prus
0b5e4f88b5 Support "b2 install". 2016-07-08 15:12:17 +03:00
Vicente J. Botet Escriba
805fa41a4e try to fix issues with gcc-3.x.y with not supported -Wno-variadic-macros. 2015-10-18 18:50:34 +02:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b87d26a900 Suppressed some unimportant warnings so the CI doesn't flag them. 2014-12-11 19:15:38 +00:00
Vicente J. Botet Escriba
cbf9fe8a5c Fix inspection issues. 2014-11-02 15:08:44 +01:00
Edward Diener
e47eba8751 For clang turn warnings to 'on' and remove '-pedantic' to avoid Boost PP warnings. 2014-08-04 19:30:29 -04:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
04c53415fd Extracted the original GetTicksCount64 de-cruft patch and rebased on boostorg/thread:develop. 2014-07-05 16:38:17 +01:00
Vicente J. Botet Escriba
c3ab21a7ba comment mingw toolset flags - #3967. 2014-04-19 13:04:15 +02:00
Vicente J. Botet Escriba
143adde27d pull patch for #8070. 2014-02-27 07:47:20 +01:00
Vicente J. Botet Escriba
d57a4c6565 Thread: link with boost_atomic conditionaly.
[SVN r85616]
2013-09-08 22:20:48 +00:00
Vicente J. Botet Escriba
c12e07754a Thread: link with boost_chrono and boost_atomic independently of the platform.
[SVN r85464]
2013-08-25 15:13:17 +00:00
Vicente J. Botet Escriba
d83d23bee0 Thread: force use of chrono on windows.
[SVN r84709]
2013-06-09 08:27:00 +00:00
Vicente J. Botet Escriba
f24086fe89 Thread: #6966.
[SVN r83908]
2013-04-14 22:34:10 +00:00
Vicente J. Botet Escriba
d2f7766f8a Thread: inhibit msvc warning
[SVN r82955]
2013-02-17 16:16:24 +00:00
Vicente J. Botet Escriba
197bbc1fd3 Thread: remove warnings.
[SVN r82950]
2013-02-17 14:59:57 +00:00
Vicente J. Botet Escriba
fb2310b48a Thread: Add vacpp-12.1 to the compilers using chrono.
[SVN r82826]
2013-02-11 22:52:52 +00:00
Vicente J. Botet Escriba
659343d287 Thread: link with Boost.Atomic when compiling for vacpp
[SVN r82776]
2013-02-07 17:06:10 +00:00
Vicente J. Botet Escriba
94c15aa0cc Thread: changes to fix PGI compiler adding lib atomic.
[SVN r82548]
2013-01-19 08:33:06 +00:00
Vicente J. Botet Escriba
517e177d7a Thread: minor changes to fix PGI compiler adding lib atomic
[SVN r82529]
2013-01-17 21:09:55 +00:00
Vicente J. Botet Escriba
44a02c1f5f Thread: don't set BOOST_THREAD_THROW_IF_PRECONDITION_NOT_SATISFIED by default.
[SVN r82436]
2013-01-10 21:35:13 +00:00
Vicente J. Botet Escriba
c7dcb1daae Thread: fix typo
[SVN r82375]
2013-01-06 10:06:40 +00:00
Vicente J. Botet Escriba
ab64afa2a7 Thread: extend the vacpp versions where boost-cheono is accepted
[SVN r82369]
2013-01-05 22:57:03 +00:00
Vicente J. Botet Escriba
6675f4645f Thread: #7422: don't use internal_mutex when interruptions not enabled
[SVN r82094]
2012-12-19 10:50:23 +00:00
Vicente J. Botet Escriba
5ed50d68f2 Thread: replace BOOST_SYSTEM_NOEXCEPT by BOOST_NOEXCEPT
[SVN r81963]
2012-12-14 23:58:46 +00:00
Vicente J. Botet Escriba
580c1b7be4 Thread: fix some issues when BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS is defined and add tests
[SVN r81672]
2012-12-02 14:14:09 +00:00
Vicente J. Botet Escriba
e9217d02f0 Thread: remove some minor warnings
[SVN r80854]
2012-10-04 21:57:18 +00:00
Vicente J. Botet Escriba
715928e143 Thread: Allow BOOST_THREAD_PROVIDES_VARIADIC_THREAD only if BOOST_NO_CXX11_HDR_TUPLE is defined + remove some -ansi flags tha make EXPERIMENTAL_CXX0X to be not defined
[SVN r80766]
2012-09-29 23:35:29 +00:00
Vicente J. Botet Escriba
71f864bc5c Thread: Added notify_all_at_thread_exit+join can throw conditionally if not joinable + detach is no more noexcept
[SVN r80351]
2012-09-01 17:10:16 +00:00
Vicente J. Botet Escriba
530aaaae38 Thread: 7045: make boost_thread don't depend on boost_chrono for win and 2797: armonize win behavior with posix one.
[SVN r80236]
2012-08-26 15:17:39 +00:00
Vicente J. Botet Escriba
677113cfbe Thread: fix win regression
[SVN r80152]
2012-08-23 06:25:07 +00:00
Vicente J. Botet Escriba
84d8dea5ba Thread: Add dependency from boost_thread to boost_date_time.
[SVN r80123]
2012-08-21 21:22:35 +00:00
Vicente J. Botet Escriba
3b080058ed Thread: rolled back breaking changes on windows.
[SVN r78919]
2012-06-13 06:00:38 +00:00
Vicente J. Botet Escriba
e09105de98 Thread: fix TIME_UTC, WINVER, constexpr for tags, and don't use local files
[SVN r78802]
2012-06-03 18:11:52 +00:00
Vicente J. Botet Escriba
aea84b03fc Thread: link with Boost.Chrono for vacpp-11.1
[SVN r78451]
2012-05-13 08:46:43 +00:00
Vicente J. Botet Escriba
1f7b8a6583 Thread: Added -ansi -permissive on some compilers
[SVN r77884]
2012-04-10 12:33:51 +00:00
Vicente J. Botet Escriba
d95081094f Thread: remove some warnings
[SVN r77849]
2012-04-09 15:26:40 +00:00
Vicente J. Botet Escriba
011dda9816 Thread: Added packaged_task ctor allocator + result_type + Fix issue signaled on the ML with task_object(task_object const&) in presence of task_object(task_object &&)
[SVN r77845]
2012-04-08 23:51:07 +00:00
Vicente J. Botet Escriba
9d1e1fb64a Thread: Activate share mutex upwards conversions tests
[SVN r77839]
2012-04-08 19:23:34 +00:00
Vicente J. Botet Escriba
80befa1c94 Thread: rollback 76581 partialy so that no link with boost chrono is done on vaccp
[SVN r77728]
2012-04-02 22:33:05 +00:00