doc: Add build details and contributing

Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
This commit is contained in:
Greg Tucker 2017-02-23 20:45:31 -07:00
parent 81c8c823cd
commit 5ec8ea0e14
4 changed files with 64 additions and 24 deletions

35
CONTRIBUTING.md Normal file
View 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

View File

@ -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

View File

@ -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
View File

@ -0,0 +1,2 @@
#!/bin/sh
indent -npro -kr -i8 -ts8 -sob -l95 -ss -ncs -cp1 -lps "$@"