A portable C++14 standard library implementation for embedded/custom OS projects.
This project is a work in progress.
All source (c) 2017-18 James Renwick except where otherwise stated.
- array
- string_view
- initializer_list
- pointer_traits
- type_traits
- allocators
- stdexcept
- system_error
- tuple
- iterators
- unique/smart_ptr
- exception
- string (w/SSO)
- ios
- iostream
- streambuf
- locale
- limits
- vector
- chrono
- Requires GNU Make, Python 2, and G++/Clang with C++14 support
- Run
make static
ormake dynamic
- Static and shared object files are in
build/
- Headers are in
build/include/
- Add generated include directory to your include directories (e.g. with -I)
- (Both static and dynamic) link with
osstdc++.o
- (Dynamic only) link with
libosstdc++.so
Link-time optimisation builds can be enabled by setting the Make variable LTO
to -flto
.
Optimisation level defaults to Os
, but can be changed via the Make variable OPT_LVL
.