1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-27 12:52:27 +00:00

use std::thread instead of boost; final boost cleanup

- no boost:: classes used anymore
- no boost/*.hpp headers included anymore
- significantly improved compilation speed
This commit is contained in:
wfjm
2018-12-19 11:53:54 +01:00
parent dcaf39ff84
commit 4e2f1c3d19
16 changed files with 71 additions and 70 deletions

View File

@@ -31,6 +31,8 @@ The full set of tests is only run for tagged releases.
- the Coverity results triggered a general backend code review
- fix coverity detected defects
- get backend code `-Wall -Wextra -Wpedantic` clean
- exploit c++11 language constructs (e.g. emplace,lambda,auto,move,...)
- completely replace boost with std
- add KW11-P (programmable clock) to all w11 systems. It is usefull in test
benches (fast interrupt source) and enables on the long run to port the
2.10BSD kernel profiling code to 2.11BSD.
@@ -102,11 +104,12 @@ The full set of tests is only run for tagged releases.
- use auto, emplace() and range loops
- use unique_ptr instead of free pointers, avoid explicit `delete`
- add and use move semantic in RlinkCommandExpect
- replace boost with std
- completely replace boost with std
- use std::unique_ptr instead of boost::scoped_ptr
- use std::shared_ptr instead of boost
- use std::function instead of boost
- use std::bind or in most cases a lambda instead of boost::bind
- use std::bind or in most cases a lambda, instead of boost::bind
- use std::thread instead of boost
- use mutex and friends from std:: instead from boost::
- use std::mutex
- use std::recursive_mutex

View File

@@ -57,9 +57,6 @@ distributions should be straight forward.
- building and using the rlink backend software requires:
- full C/C++ development chain (gcc,g++,cpp,make)
-> package: `build-essential`
- Boost C++ library (>= 1.40), with date-time, thread, and regex
-> package: `libboost-dev` `libboost-date-time-dev` `libboost-thread-dev`
`libboost-regex-dev`
- libusb 1.0 (>= 1.0.6)
-> package: `libusb-1.0-0-dev`
- Perl (>= 5.10) (usually included in base installations)
@@ -108,8 +105,9 @@ For bash and alike use
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RETROBASE/tools/lib
export MANPATH=$MANPATH:$RETROBASE/tools/man
In most cases the boost library version coming with the distribution will
work, similar for Tcl, in those cases simply use
Boost was essential in the pre-c++11 times, but has been completely replaced
by std:: classes provided by c++11. In most cases the Tcl version coming with
the distribution will work, in those cases simply use
export TCLINC=/usr/include/tcl8.6
export TCLLIBNAME=tcl8.6
@@ -147,7 +145,6 @@ A C++ compiler with full `c++11` support is therefore needed, so either
Required tools and libraries:
g++ >= 4.8.1 (see c++11 usage above)
boost >= 1.35 (boost::thread api changed, new one is used)
libusb >= 1.0.5 (timerfd support)
Build was tested under: