xref: /aosp_15_r20/external/XNNPACK/scripts/build-linux-armhf.sh (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1#!/usr/bin/env bash
2#
3# This source code is licensed under the BSD-style license found in the
4# LICENSE file in the root directory of this source tree.
5
6set -e
7
8mkdir -p build/linux/armhf
9
10CMAKE_ARGS=()
11
12# CMake-level configuration
13CMAKE_ARGS+=("-DCMAKE_TOOLCHAIN_FILE=$PWD/cmake/armhf.toolchain")
14CMAKE_ARGS+=("-DCMAKE_BUILD_TYPE=RelWithDebInfo")
15
16# If Ninja is installed, prefer it to Make
17if [ -x "$(command -v ninja)" ]
18then
19  CMAKE_ARGS+=("-GNinja")
20fi
21
22CMAKE_ARGS+=("-DXNNPACK_LIBRARY_TYPE=static")
23
24CMAKE_ARGS+=("-DXNNPACK_BUILD_BENCHMARKS=ON")
25CMAKE_ARGS+=("-DXNNPACK_BUILD_TESTS=ON")
26
27# Cross-compilation options for Google Benchmark
28CMAKE_ARGS+=("-DHAVE_POSIX_REGEX=0")
29CMAKE_ARGS+=("-DHAVE_STEADY_CLOCK=0")
30CMAKE_ARGS+=("-DHAVE_STD_REGEX=0")
31
32# Use-specified CMake arguments go last to allow overridding defaults
33CMAKE_ARGS+=($@)
34
35cd build/linux/armhf && cmake ../../.. \
36    "${CMAKE_ARGS[@]}"
37
38cmake --build . -- "-j$(nproc)"
39