mirror of
https://github.com/intel/isa-l.git
synced 2024-12-12 09:23:50 +01:00
doc: Add build details and contributing
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
This commit is contained in:
parent
81c8c823cd
commit
5ec8ea0e14
35
CONTRIBUTING.md
Normal file
35
CONTRIBUTING.md
Normal file
@ -0,0 +1,35 @@
|
||||
# Contributing to ISA-L
|
||||
|
||||
Everyone is welcome to contribute. Patches may be submitted using GitHub pull
|
||||
requests (PRs). All commits must be signed off by the developer (--signoff)
|
||||
which indicates that you agree to the Developer Certificate of Origin. Patch
|
||||
discussion will happen directly on the GitHub PR. Design pre-work and general
|
||||
discussion occurs on the [mailing list]. Anyone can provide feedback in either
|
||||
location and all discussion is welcome. Decisions on whether to merge patches
|
||||
will be handled by the maintainer.
|
||||
|
||||
## License
|
||||
|
||||
ISA-L is licensed using a BSD 3-clause [license]. All code submitted to
|
||||
the project is required to carry that license.
|
||||
|
||||
## Certificate of Origin
|
||||
|
||||
In order to get a clear contribution chain of trust we use the
|
||||
[signed-off-by language] used by the Linux kernel project.
|
||||
|
||||
## Mailing List
|
||||
|
||||
Contributors and users are welcome to submit new request on our roadmap, submit
|
||||
patches, file issues, and ask questions on our [mailing list].
|
||||
|
||||
## Coding Style
|
||||
|
||||
The coding style for ISA-L C code roughly follows linux kernel guidelines. Use
|
||||
the included indent script to format C code.
|
||||
|
||||
./tools/iindent your_files.c
|
||||
|
||||
[mailing list]:https://lists.01.org/mailman/listinfo/isal
|
||||
[license]:LICENSE
|
||||
[signed-off-by language]:https://01.org/community/signed-process
|
@ -1,4 +1,4 @@
|
||||
EXTRA_DIST = autogen.sh Makefile.unx make.inc Makefile.nmake isa-l.def LICENSE README.md Doxyfile
|
||||
EXTRA_DIST = autogen.sh Makefile.unx make.inc Makefile.nmake isa-l.def LICENSE README.md Doxyfile CONTRIBUTING.md
|
||||
CLEANFILES =
|
||||
LDADD =
|
||||
AM_MAKEFLAGS = --no-print-directory
|
||||
|
49
README.md
49
README.md
@ -6,52 +6,55 @@ Intel(R) Intelligent Storage Acceleration Library
|
||||
|
||||
ISA-L is a collection of optimized low-level functions targeting storage
|
||||
applications. ISA-L includes:
|
||||
|
||||
* Erasure codes - Fast block Reed-Solomon type erasure codes for any
|
||||
encode/decode matrix in GF(2^8).
|
||||
|
||||
* CRC - Fast implementations of cyclic redundancy check. Six different
|
||||
polynomials supported.
|
||||
- iscsi32, ieee32, t10dif, ecma64, iso64, jones64.
|
||||
|
||||
* Raid - calculate and operate on XOR and P+Q parity found in common RAID
|
||||
implementations.
|
||||
|
||||
* Compression - Fast deflate-compatible data compression.
|
||||
|
||||
* De-compression - Fast inflate-compatible data compression.
|
||||
|
||||
See [ISA-L for updates.](https://github.com/01org/isa-l)
|
||||
For crypto functions see [isa-l_crypto on github.](https://github.com/01org/isa-l_crypto)
|
||||
|
||||
Build Prerequisites
|
||||
===================
|
||||
|
||||
ISA-L requires yasm version 1.2.0 or later or nasm v2.11.01 or later. Building
|
||||
with autotools requires autoconf/automake packages.
|
||||
Also see:
|
||||
* [ISA-L for updates](https://github.com/01org/isa-l).
|
||||
* For crypto functions see [isa-l_crypto on github](https://github.com/01org/isa-l_crypto).
|
||||
* The [github wiki](https://github.com/01org/isa-l/wiki).
|
||||
* ISA-L [mailing list](https://lists.01.org/mailman/listinfo/isal).
|
||||
* [Contributing](CONTRIBUTING.md).
|
||||
|
||||
Building ISA-L
|
||||
==============
|
||||
--------------
|
||||
|
||||
Autotools
|
||||
---------
|
||||
### Prerequisites
|
||||
|
||||
To build and install the library with autotools it is usually sufficient to run
|
||||
the following:
|
||||
* yasm version 1.2.0 or later or nasm v2.11.01 or later.
|
||||
* gcc, clang, icc or VC compiler.
|
||||
* GNU 'make' or 'nmake' (Windows).
|
||||
* Building with autotools requires autoconf/automake packages.
|
||||
|
||||
### Autotools
|
||||
To build and install the library with autotools it is usually sufficient to run:
|
||||
|
||||
./autogen.sh
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
|
||||
Other targets include: make check, make tests, make perfs, make ex (examples)
|
||||
and make other.
|
||||
### Makefile
|
||||
To use a standard makefile run:
|
||||
|
||||
Windows
|
||||
-------
|
||||
make -f Makefile.unx
|
||||
|
||||
### Windows
|
||||
On Windows use nmake to build dll and static lib:
|
||||
|
||||
nmake -f Makefile.nmake
|
||||
|
||||
Other targes include: nmake check.
|
||||
### Other make targets
|
||||
Other targes include:
|
||||
* `make check` : create and run tests
|
||||
* `make tests` : create additional unit tests
|
||||
* `make perfs` : create included performance tests
|
||||
* `make ex` : build examples
|
||||
* `make other` : build other utilities such as compression file tests
|
||||
|
2
tools/iindent
Executable file
2
tools/iindent
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
indent -npro -kr -i8 -ts8 -sob -l95 -ss -ncs -cp1 -lps "$@"
|
Loading…
Reference in New Issue
Block a user