A partial implementation of the C++ standard library (C++17 only) for use with avr-gcc/avr-libc.
HTTPS:
git clone --recurse-submodules https://github.com/apcountryman/avr-libcpp.git
SSH:
git clone --recurse-submodules [email protected]:apcountryman/avr-libcpp.git
To use this library as a dependency, simply add the subdirectory containing this
repository to a CMake build, and link with the avr-libcpp
static library.
add_subdirectory( avr-libcpp )
target_link_libraries(
foo
avr-libcpp
)
The avr-libcpp
static library does not include ::avrlibcpp::version()
.
To use ::avrlibcpp::version()
, link with the avr-libcpp-version
static library.
target_link_libraries(
foo
avr-libcpp-version
)
avr-libcpp supports the following general configuration options:
AVRLIBCPP_SUPPRESS_SFR_MACROS
(defaults toOFF
): Suppress SFR macros.
This repository's Git pre-commit.sh
hook script is the simplest way to configure, build,
and test this project during development.
See the pre-commit.sh
script's help text for usage details
./git/hooks/pre-commit.sh --help
Additional checks, such as static analysis, are performed by this project's GitHub Actions CI workflow.
Post version 0.1.0, avr-libcpp will follow the Abseil Live at Head philosophy.
avr-libcpp uses the GitHub flow workflow.
To install this repository's Git hooks, execute the install.sh
script located in the
git/hooks
directory.
See the install.sh
script's help text for usage details.
./git/hooks/install.sh --help
avr-libcpp has adopted the Contributor Covenant 2.0 code of conduct.
For more information, see the CODE_OF_CONDUCT.md
file in this
repository.
If you are interested in contributing to avr-libcpp, please read the CONTRIBUTING.md
file in this repository.
- Andrew Countryman
avr-libcpp is licensed under the Apache License, Version 2.0.
For more information, see the LICENSE
file in this repository.