xref: /freebsd/contrib/arm-optimized-routines/README (revision ebacd8013fe5f7fdf9f6a5b286f6680dd2891036)
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 v21.02.
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