xref: /aosp_15_r20/external/arm-optimized-routines/README (revision 412f47f9e737e10ed5cc46ec6a8d7fa2264f8a14)
1*412f47f9SXin LiArm Optimized Routines
2*412f47f9SXin Li----------------------
3*412f47f9SXin Li
4*412f47f9SXin LiThis repository contains implementations of library functions
5*412f47f9SXin Liprovided by Arm. The outbound license is available under a dual
6*412f47f9SXin Lilicense, at the user’s election, as reflected in the LICENSE file.
7*412f47f9SXin LiContributions to this project are accepted, but Contributors have
8*412f47f9SXin Lito sign an Assignment Agreement, please follow the instructions in
9*412f47f9SXin Licontributor-agreement.pdf. This is needed so upstreaming code
10*412f47f9SXin Lito projects that require copyright assignment is possible. Further
11*412f47f9SXin Licontribution requirements are documented in README.contributors of
12*412f47f9SXin Lithe appropriate subdirectory.
13*412f47f9SXin Li
14*412f47f9SXin LiRegular quarterly releases are tagged as vYY.MM, the latest
15*412f47f9SXin Lirelease is v24.05.
16*412f47f9SXin Li
17*412f47f9SXin LiSource code layout:
18*412f47f9SXin Li
19*412f47f9SXin Libuild/          - build directory (created by make).
20*412f47f9SXin Limath/           - math subproject sources.
21*412f47f9SXin Limath/include/   - math library public headers.
22*412f47f9SXin Limath/test/      - math test and benchmark related sources.
23*412f47f9SXin Limath/tools/     - tools used for designing the algorithms.
24*412f47f9SXin Linetworking/     - networking subproject sources.
25*412f47f9SXin Linetworking/include/ - networking library public headers.
26*412f47f9SXin Linetworking/test/ - networking test and benchmark related sources.
27*412f47f9SXin Listring/         - string routines subproject sources.
28*412f47f9SXin Listring/include/ - string library public headers.
29*412f47f9SXin Listring/test/    - string test and benchmark related sources.
30*412f47f9SXin Lipl/...          - separately maintained performance library code.
31*412f47f9SXin Li
32*412f47f9SXin LiThe steps to build the target libraries and run the tests:
33*412f47f9SXin Li
34*412f47f9SXin Licp config.mk.dist config.mk
35*412f47f9SXin Li# edit config.mk if necessary ...
36*412f47f9SXin Limake
37*412f47f9SXin Limake check
38*412f47f9SXin Li
39*412f47f9SXin LiOr building outside of the source directory:
40*412f47f9SXin Li
41*412f47f9SXin Liln -s path/to/src/Makefile Makefile
42*412f47f9SXin Licp path/to/src/config.mk.dist config.mk
43*412f47f9SXin Liecho 'srcdir = path/to/src' >> config.mk
44*412f47f9SXin Li# further edits to config.mk
45*412f47f9SXin Limake
46*412f47f9SXin Limake check
47*412f47f9SXin Li
48*412f47f9SXin LiOr building and testing the math subproject only:
49*412f47f9SXin Li
50*412f47f9SXin Limake all-math
51*412f47f9SXin Limake check-math
52*412f47f9SXin Li
53*412f47f9SXin LiThe test system requires libmpfr and libmpc.
54*412f47f9SXin LiFor example on debian linux they can be installed as:
55*412f47f9SXin Li
56*412f47f9SXin Lisudo apt-get install libmpfr-dev libmpc-dev
57*412f47f9SXin Li
58*412f47f9SXin LiFor cross build, CROSS_COMPILE should be set in config.mk and EMULATOR
59*412f47f9SXin Lishould be set for cross testing (e.g. using qemu-user or remote access
60*412f47f9SXin Lito a target machine), see the examples in config.mk.dist.
61