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