mirror of
https://github.com/felixjones/agbabi.git
synced 2026-10-21 19:13:36 +00:00
Pull mirror of https://github.com/felixjones/agbabi
- C 54%
- Assembly 39%
- CMake 3.4%
- Meson 2.2%
- PHP 1.4%
| cross | ||
| docs | ||
| include | ||
| source | ||
| test | ||
| CMakeLists.txt | ||
| LICENSE.md | ||
| meson.build | ||
| README.md | ||
AGB ABI Library (agbabi)
Quick Start Guide
Link with libagbabi.a via the normal means for your build environment (eg: -Lagbabi for GCC and Clang), and add the include directory via the normal means for your build environment (eg: -Iagbabi/include).
Linking will implicitly activate the armeabi library.
Include the armeabi.h and agbabi.h headers to access the armeabi and agbabi C functions.
#include <aeabi.h>
#include <agbabi.h>
#include <sys/ucontext.h> /* POSIX context switching */
int main() {
unsigned int a = __aeabi_uidiv(9u, 3u);
int b = __agbabi_sqrt(25u);
ucontext_t c;
getcontext(&c);
return 0;
}
API Reference
- Arm Standard Compiler Helper Function Library (aeabi)
- AGB Support Library (agbabi)
- POSIX Support Library
Building
Requires gcc-arm-none-eabi cross compiler, and either cmake or meson for configuration.
CMake 3.18+
To cross-build libagbabi.a in directory build/:
cmake -S . -B build --toolchain=cross/agb.cmake
cmake --build build
Meson 0.56.2+
To cross-build libagbabi.a in directory build/:
meson setup build --cross-file=cross/agb.ini
meson compile -C build