Skip to content
/ osstdlib Public

A portable C++14 standard library implementation for embedded/custom OS projects.

Notifications You must be signed in to change notification settings

jsren/osstdlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

osstdlib

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.

Project Status

Done

  • array
  • string_view
  • initializer_list

Mostly Done

  • pointer_traits
  • type_traits
  • allocators
  • stdexcept
  • system_error
  • tuple
  • iterators
  • unique/smart_ptr

Started

  • exception
  • string (w/SSO)
  • ios
  • iostream
  • streambuf
  • locale
  • limits

Targeted

  • vector
  • chrono

Building

  1. Requires GNU Make, Python 2, and G++/Clang with C++14 support
  2. Run make static or make dynamic
  3. Static and shared object files are in build/
  4. Headers are in build/include/

Usage

  1. Add generated include directory to your include directories (e.g. with -I)
  2. (Both static and dynamic) link with osstdc++.o
  3. (Dynamic only) link with libosstdc++.so

Optimisation

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.

Releases

No releases published

Packages

No packages published

Languages