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