mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
Updated Installation from source (markdown)
parent
fc867043d6
commit
b776760d80
@ -1,8 +1,9 @@
|
|||||||
# Installation from source
|
# Building from source
|
||||||
|
|
||||||
## Install build-dependencies
|
The build system has recently been refactored to be more modular and easier to extend. For that reason,
|
||||||
|
some small but necessary changes were made that might break compatibility with how Hyperscan was built.
|
||||||
|
|
||||||
## Debian/Ubuntu
|
## Common Dependencies (Debian/Ubuntu)
|
||||||
|
|
||||||
In order to build on Debian/Ubuntu make sure you install the following build-dependencies
|
In order to build on Debian/Ubuntu make sure you install the following build-dependencies
|
||||||
|
|
||||||
@ -10,6 +11,10 @@ In order to build on Debian/Ubuntu make sure you install the following build-dep
|
|||||||
$ sudo apt build-essential cmake ragel pkg-config libsqlite3-dev libpcap-dev
|
$ sudo apt build-essential cmake ragel pkg-config libsqlite3-dev libpcap-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Common Dependencies (Other)
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
## Configure & build
|
## Configure & build
|
||||||
|
|
||||||
In order to configure with `cmake` first create and cd into a build directory:
|
In order to configure with `cmake` first create and cd into a build directory:
|
||||||
@ -27,14 +32,29 @@ $ cmake ../
|
|||||||
|
|
||||||
Common options for Cmake are:
|
Common options for Cmake are:
|
||||||
|
|
||||||
* `-DBUILD_STATIC_LIBS=On/Off` Build static libraries
|
* `-DBUILD_STATIC_LIBS=[On|Off]` Build static libraries
|
||||||
* `-DBUILD_SHARED_LIBS=On/Off` Build shared libraries
|
* `-DBUILD_SHARED_LIBS=[On|Off]` Build shared libraries (if none are set static libraries are built by default)
|
||||||
* `-DCMAKE_BUILD_TYPE=[Release|Debug|RelWithDebInfo|MinSizeRel]` Configure build type and determine optimizations and certain features, for examples, Fat runtimes are not compatible with Debug mode at the moment.
|
* `-DCMAKE_BUILD_TYPE=[Release|Debug|RelWithDebInfo|MinSizeRel]` Configure build type and determine optimizations and certain features.
|
||||||
|
* `-DUSE_CPU_NATIVE=[On|Off]` Native CPU detection is off by default, however it is possible to build a performance-oriented non-fat library tuned to your CPU
|
||||||
|
* `-DFAT_RUNTIME=[On|Off]` Fat Runtime is only available for X86 32-bit/64-bit and AArch64 architectures and only on Linux. It is incompatible with `Debug` type and `USE_CPU_NATIVE`.
|
||||||
|
|
||||||
And then you can run `make` in the same directory, if you have a multi-core system with `N` cores, running
|
### Specific options for Intel/AMD CPUs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Specific options for Arm 64-bit CPUs
|
||||||
|
|
||||||
|
* `-DBUILD_SVE=[On|Off]` Enable code for SVE CPUs, like the Graviton3. Not much code is ported just for SVE , but enabling SVE code production, does improve code generation, see [Benchmarks](https://github.com/VectorCamp/vectorscan/wiki/Benchmarks).
|
||||||
|
* `-DBUILD_SVE2=[On|Off]` Enable code for SVE2 CPUs, implies `BUILD_SVE`. Most non-Neon code is written for SVE2
|
||||||
|
* `-DBUILD_SVE2_BITPERM=[On|Off]` Enable code for SVE2_BITPERM harwdare feature, implies `BUILD_SVE2`.
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
If `cmake` has completed successfully you can run `make` in the same directory, if you have a multi-core system with `N` cores, running
|
||||||
|
|
||||||
```
|
```
|
||||||
$ make -j <N>
|
$ make -j <N>
|
||||||
```
|
```
|
||||||
|
|
||||||
will speed up the process. If all goes well, you should have the vectorscan library
|
will speed up the process. If all goes well, you should have the vectorscan library compiled.
|
Loading…
x
Reference in New Issue
Block a user