]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | Intel(R) Intelligent Storage Acceleration Library |
2 | ================================================= | |
3 | ||
f91f0fd5 | 4 | [![Build Status](https://travis-ci.org/intel/isa-l.svg?branch=master)](https://travis-ci.org/intel/isa-l) |
20effc67 | 5 | [![Package on conda-forge](https://img.shields.io/conda/v/conda-forge/isa-l.svg)](https://anaconda.org/conda-forge/isa-l) |
7c673cae | 6 | |
224ce89b WB |
7 | ISA-L is a collection of optimized low-level functions targeting storage |
8 | applications. ISA-L includes: | |
9 | * Erasure codes - Fast block Reed-Solomon type erasure codes for any | |
10 | encode/decode matrix in GF(2^8). | |
11 | * CRC - Fast implementations of cyclic redundancy check. Six different | |
12 | polynomials supported. | |
13 | - iscsi32, ieee32, t10dif, ecma64, iso64, jones64. | |
14 | * Raid - calculate and operate on XOR and P+Q parity found in common RAID | |
15 | implementations. | |
16 | * Compression - Fast deflate-compatible data compression. | |
17 | * De-compression - Fast inflate-compatible data compression. | |
18 | ||
19 | Also see: | |
f91f0fd5 TL |
20 | * [ISA-L for updates](https://github.com/intel/isa-l). |
21 | * For crypto functions see [isa-l_crypto on github](https://github.com/intel/isa-l_crypto). | |
22 | * The [github wiki](https://github.com/intel/isa-l/wiki) including a list of | |
23 | [distros/ports](https://github.com/intel/isa-l/wiki/Ports--Repos) offering binary packages. | |
24 | * ISA-L [mailing list](https://lists.01.org/hyperkitty/list/isal@lists.01.org/). | |
224ce89b | 25 | * [Contributing](CONTRIBUTING.md). |
7c673cae FG |
26 | |
27 | Building ISA-L | |
224ce89b WB |
28 | -------------- |
29 | ||
30 | ### Prerequisites | |
7c673cae | 31 | |
f91f0fd5 TL |
32 | * Make: GNU 'make' or 'nmake' (Windows). |
33 | * Optional: Building with autotools requires autoconf/automake packages. | |
34 | ||
35 | x86_64: | |
36 | * Assembler: nasm v2.11.01 or later (nasm v2.13 or better suggested for building in AVX512 support) | |
37 | or yasm version 1.2.0 or later. | |
38 | * Compiler: gcc, clang, icc or VC compiler. | |
39 | ||
40 | aarch64: | |
41 | * Assembler: gas v2.24 or later. | |
42 | * Compiler: gcc v4.7 or later. | |
43 | ||
44 | other: | |
45 | * Compiler: Portable base functions are available that build with most C compilers. | |
7c673cae | 46 | |
224ce89b WB |
47 | ### Autotools |
48 | To build and install the library with autotools it is usually sufficient to run: | |
7c673cae FG |
49 | |
50 | ./autogen.sh | |
51 | ./configure | |
52 | make | |
53 | sudo make install | |
54 | ||
224ce89b WB |
55 | ### Makefile |
56 | To use a standard makefile run: | |
7c673cae | 57 | |
224ce89b | 58 | make -f Makefile.unx |
7c673cae | 59 | |
224ce89b | 60 | ### Windows |
7c673cae FG |
61 | On Windows use nmake to build dll and static lib: |
62 | ||
63 | nmake -f Makefile.nmake | |
64 | ||
20effc67 TL |
65 | or see [details on setting up environment here](doc/build.md). |
66 | ||
224ce89b WB |
67 | ### Other make targets |
68 | Other targets include: | |
69 | * `make check` : create and run tests | |
70 | * `make tests` : create additional unit tests | |
71 | * `make perfs` : create included performance tests | |
72 | * `make ex` : build examples | |
73 | * `make other` : build other utilities such as compression file tests | |
f91f0fd5 | 74 | * `make doc` : build API manual |