131914882SAlex RichardsonArm Optimized Routines 231914882SAlex Richardson---------------------- 331914882SAlex Richardson 431914882SAlex RichardsonThis repository contains implementations of library functions 5*072a4ba8SAndrew Turnerprovided by Arm. The outbound license is available under a dual 6*072a4ba8SAndrew Turnerlicense, at the user’s election, as reflected in the LICENSE file. 7*072a4ba8SAndrew TurnerContributions to this project are accepted, but Contributors have 8*072a4ba8SAndrew Turnerto sign an Assignment Agreement, please follow the instructions in 931914882SAlex Richardsoncontributor-agreement.pdf. This is needed so upstreaming code 10*072a4ba8SAndrew Turnerto projects that require copyright assignment is possible. Further 11*072a4ba8SAndrew Turnercontribution requirements are documented in README.contributors of 12*072a4ba8SAndrew Turnerthe appropriate subdirectory. 1331914882SAlex Richardson 1431914882SAlex RichardsonRegular quarterly releases are tagged as vYY.MM, the latest 15*072a4ba8SAndrew Turnerrelease is v23.01. 1631914882SAlex Richardson 1731914882SAlex RichardsonSource code layout: 1831914882SAlex Richardson 1931914882SAlex Richardsonbuild/ - build directory (created by make). 2031914882SAlex Richardsonmath/ - math subproject sources. 2131914882SAlex Richardsonmath/include/ - math library public headers. 2231914882SAlex Richardsonmath/test/ - math test and benchmark related sources. 2331914882SAlex Richardsonmath/tools/ - tools used for designing the algorithms. 2431914882SAlex Richardsonnetworking/ - networking subproject sources. 2531914882SAlex Richardsonnetworking/include/ - networking library public headers. 2631914882SAlex Richardsonnetworking/test/ - networking test and benchmark related sources. 2731914882SAlex Richardsonstring/ - string routines subproject sources. 2831914882SAlex Richardsonstring/include/ - string library public headers. 2931914882SAlex Richardsonstring/test/ - string test and benchmark related sources. 30*072a4ba8SAndrew Turnerpl/... - separately maintained performance library code. 3131914882SAlex Richardson 3231914882SAlex RichardsonThe steps to build the target libraries and run the tests: 3331914882SAlex Richardson 3431914882SAlex Richardsoncp config.mk.dist config.mk 3531914882SAlex Richardson# edit config.mk if necessary ... 3631914882SAlex Richardsonmake 3731914882SAlex Richardsonmake check 3831914882SAlex Richardson 3931914882SAlex RichardsonOr building outside of the source directory: 4031914882SAlex Richardson 4131914882SAlex Richardsonln -s path/to/src/Makefile Makefile 4231914882SAlex Richardsoncp path/to/src/config.mk.dist config.mk 4331914882SAlex Richardsonecho 'srcdir = path/to/src' >> config.mk 4431914882SAlex Richardson# further edits to config.mk 4531914882SAlex Richardsonmake 4631914882SAlex Richardsonmake check 4731914882SAlex Richardson 4831914882SAlex RichardsonOr building and testing the math subproject only: 4931914882SAlex Richardson 5031914882SAlex Richardsonmake all-math 5131914882SAlex Richardsonmake check-math 5231914882SAlex Richardson 5331914882SAlex RichardsonThe test system requires libmpfr and libmpc. 5431914882SAlex RichardsonFor example on debian linux they can be installed as: 5531914882SAlex Richardson 5631914882SAlex Richardsonsudo apt-get install libmpfr-dev libmpc-dev 5731914882SAlex Richardson 5831914882SAlex RichardsonFor cross build, CROSS_COMPILE should be set in config.mk and EMULATOR 5931914882SAlex Richardsonshould be set for cross testing (e.g. using qemu-user or remote access 6031914882SAlex Richardsonto a target machine), see the examples in config.mk.dist. 61