blob: 28b49d73e085c31d652f7b231b258329e4081ab2 [file] [log] [blame]
Szabolcs Nagy78892282018-04-24 17:10:05 +01001Arm Optimized Routines
2----------------------
George Landerda55ef92015-11-19 12:05:06 +00003
Szabolcs Nagy78892282018-04-24 17:10:05 +01004This repository contains implementations of math library functions
Szabolcs Nagy11253b02018-11-12 11:10:57 +00005provided by Arm under MIT License (See LICENSE). Contributions
Szabolcs Nagy78892282018-04-24 17:10:05 +01006to this project are accepted, but the terms will need negotiation (so
7relicensing and copyright assignment to the FSF is possible later).
George Landerda55ef92015-11-19 12:05:06 +00008
Szabolcs Nagy78892282018-04-24 17:10:05 +01009Source code layout:
George Landerda55ef92015-11-19 12:05:06 +000010
Szabolcs Nagy78892282018-04-24 17:10:05 +010011build/ - build directory (created by make).
Szabolcs Nagy0af9fce2019-07-18 10:21:43 +010012math/ - math subproject sources.
Szabolcs Nagy78892282018-04-24 17:10:05 +010013math/include/ - math library public headers.
Szabolcs Nagy0af9fce2019-07-18 10:21:43 +010014math/test/ - math test and benchmark related sources.
15math/tools/ - tools used for designing the algorithms.
George Landerda55ef92015-11-19 12:05:06 +000016
Szabolcs Nagy0af9fce2019-07-18 10:21:43 +010017The steps to build the target libraries and run the tests:
George Landerda55ef92015-11-19 12:05:06 +000018
Szabolcs Nagy78892282018-04-24 17:10:05 +010019cp config.mk.dist config.mk
20# edit config.mk if necessary ...
George Landerda55ef92015-11-19 12:05:06 +000021make
22make check
23
Szabolcs Nagy78892282018-04-24 17:10:05 +010024Or building outside of the source directory:
George Landerda55ef92015-11-19 12:05:06 +000025
Szabolcs Nagy78892282018-04-24 17:10:05 +010026ln -s path/to/src/Makefile Makefile
27cp path/to/src/config.mk.dist config.mk
28echo 'srcdir = path/to/src' >> config.mk
29# further edits to config.mk
30make
31make check
George Landerda55ef92015-11-19 12:05:06 +000032
Szabolcs Nagy78892282018-04-24 17:10:05 +010033The test system requires libmpfr and libmpc.
George Landerda55ef92015-11-19 12:05:06 +000034
Szabolcs Nagy78892282018-04-24 17:10:05 +010035For cross build, CROSS_COMPILE should be set in config.mk and EMULATOR
36should be set for cross testing (e.g. using qemu-user or remote access
37to a target machine), see the examples in config.mk.dist.