1Arm Optimized Routines 2---------------------- 3 4This repository contains implementations of library functions 5provided by Arm under MIT License (See LICENSE). Contributions 6to this project are accepted, but Contributors have to sign an 7Assignment Agreement, please follow the instructions in 8contributor-agreement.pdf. This is needed so upstreaming code 9to projects that require copyright assignment is possible. 10 11Regular quarterly releases are tagged as vYY.MM, the latest 12release is v20.11. 13 14Source code layout: 15 16build/ - build directory (created by make). 17math/ - math subproject sources. 18math/include/ - math library public headers. 19math/test/ - math test and benchmark related sources. 20math/tools/ - tools used for designing the algorithms. 21networking/ - networking subproject sources. 22networking/include/ - networking library public headers. 23networking/test/ - networking test and benchmark related sources. 24string/ - string routines subproject sources. 25string/include/ - string library public headers. 26string/test/ - string test and benchmark related sources. 27 28The steps to build the target libraries and run the tests: 29 30cp config.mk.dist config.mk 31# edit config.mk if necessary ... 32make 33make check 34 35Or building outside of the source directory: 36 37ln -s path/to/src/Makefile Makefile 38cp path/to/src/config.mk.dist config.mk 39echo 'srcdir = path/to/src' >> config.mk 40# further edits to config.mk 41make 42make check 43 44Or building and testing the math subproject only: 45 46make all-math 47make check-math 48 49The test system requires libmpfr and libmpc. 50For example on debian linux they can be installed as: 51 52sudo apt-get install libmpfr-dev libmpc-dev 53 54For cross build, CROSS_COMPILE should be set in config.mk and EMULATOR 55should be set for cross testing (e.g. using qemu-user or remote access 56to a target machine), see the examples in config.mk.dist. 57