xref: /freebsd/contrib/arm-optimized-routines/README (revision 31914882fca502069810b9e9ddea4bcd8136a4f4)
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