blob: 76fe0184e68f6cdaf5b98cccbb46c53ae3ac69fb [file] [log] [blame]
Szabolcs Nagy78892282018-04-24 17:10:05 +01001Arm Optimized Routines
2----------------------
George Landerda55ef92015-11-19 12:05:06 +00003
Szabolcs Nagy709020e2019-11-27 15:00:10 +00004This repository contains implementations of 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 Nagy709020e2019-11-27 15:00:10 +00009Regular quarterly releases are tagged as vYY.MM (e.g. v19.11).
10
Szabolcs Nagy78892282018-04-24 17:10:05 +010011Source code layout:
George Landerda55ef92015-11-19 12:05:06 +000012
Szabolcs Nagy78892282018-04-24 17:10:05 +010013build/ - build directory (created by make).
Szabolcs Nagy0af9fce2019-07-18 10:21:43 +010014math/ - math subproject sources.
Szabolcs Nagy78892282018-04-24 17:10:05 +010015math/include/ - math library public headers.
Szabolcs Nagy0af9fce2019-07-18 10:21:43 +010016math/test/ - math test and benchmark related sources.
17math/tools/ - tools used for designing the algorithms.
Szabolcs Nagy6b594432019-07-18 17:45:08 +010018string/ - string routines subproject sources.
19string/include/ - string library public headers.
20string/test/ - string test and benchmark related sources.
George Landerda55ef92015-11-19 12:05:06 +000021
Szabolcs Nagy0af9fce2019-07-18 10:21:43 +010022The steps to build the target libraries and run the tests:
George Landerda55ef92015-11-19 12:05:06 +000023
Szabolcs Nagy78892282018-04-24 17:10:05 +010024cp config.mk.dist config.mk
25# edit config.mk if necessary ...
George Landerda55ef92015-11-19 12:05:06 +000026make
27make check
28
Szabolcs Nagy78892282018-04-24 17:10:05 +010029Or building outside of the source directory:
George Landerda55ef92015-11-19 12:05:06 +000030
Szabolcs Nagy78892282018-04-24 17:10:05 +010031ln -s path/to/src/Makefile Makefile
32cp path/to/src/config.mk.dist config.mk
33echo 'srcdir = path/to/src' >> config.mk
34# further edits to config.mk
35make
36make check
George Landerda55ef92015-11-19 12:05:06 +000037
Szabolcs Nagy39dc36a2019-10-08 10:46:50 +010038Or building and testing the math subproject only:
39
40make all-math
41make check-math
42
Szabolcs Nagy78892282018-04-24 17:10:05 +010043The test system requires libmpfr and libmpc.
Szabolcs Nagy32fe1c52019-10-08 10:41:03 +010044For example on debian linux they can be installed as:
45
46sudo apt-get install libmpfr-dev libmpc-dev
George Landerda55ef92015-11-19 12:05:06 +000047
Szabolcs Nagy78892282018-04-24 17:10:05 +010048For cross build, CROSS_COMPILE should be set in config.mk and EMULATOR
49should be set for cross testing (e.g. using qemu-user or remote access
50to a target machine), see the examples in config.mk.dist.