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