The build system defaults to building the library for the host system
and therefore uses instructions that might not be available on the
target system.
This patch changes that we will build the library so that it will choose
the most optimised functions at runtime.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
# smaller machines
MAX_PARALLELISM = $(shell echo $$(( $(SYSTEM_MEMORY) / 1024)))
+ifeq "$(BUILD_ARCH)" "aarch64"
+ EXTRA_ARGS += \
+ -DFAT_RUNTIME=ON \
+ -DBUILD_SVE=ON \
+ -DBUILD_SVE2=ON \
+ -DBUILD_SVE2_BITPERM=ON
+endif
+
+ifeq "$(BUILD_ARCH)" "x86_64"
+ EXTRA_ARGS += \
+ -DFAT_RUNTIME=ON \
+ -DBUILD_AVX2=ON \
+ -DBUILD_AVX512=ON \
+ -DBUILD_AVX512VBMI=ON
+endif
+
###############################################################################
# Top-level Rules
###############################################################################
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=RELEASE \
- -DBUILD_EXAMPLES=OFF
+ -DBUILD_EXAMPLES=OFF \
+ $(EXTRA_ARGS)
+ -Wno-dev
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)