Add an rpi4ub-armv8 build variant
This commit is contained in:
parent
8cea2cbfec
commit
0f698133aa
|
@ -213,6 +213,27 @@ The path of the system tree can be overridden from the default values defined in
|
||||||
cd ../STT/native_client
|
cd ../STT/native_client
|
||||||
make TARGET=<system> stt
|
make TARGET=<system> stt
|
||||||
|
|
||||||
|
RPi4 ARMv8 (Ubuntu 21.10)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
We support cross-compilation from Linux hosts. The following ``--config`` flags can be specified when building with bazel:
|
||||||
|
|
||||||
|
* ``--config=rpi4ub-armv8_opt`` for Ubuntu / ARM64
|
||||||
|
|
||||||
|
Your command line should look like:
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
bazel build --workspace_status_command="bash native_client/bazel_workspace_status_cmd.sh" -c opt --config=rpi4ub-armv8_opt //native_client:libstt.so
|
||||||
|
|
||||||
|
The ``stt`` binary can also be cross-built, with ``TARGET=rpi4ub-armv8``. This might require you to setup a system tree using the tool ``multistrap`` and the multistrap configuration file: ``native_client/multistrap-ubuntu64-impish.conf``.
|
||||||
|
The path of the system tree can be overridden from the default values defined in ``definitions.mk`` through the ``RASPBIAN`` ``make`` variable.
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
cd ../STT/native_client
|
||||||
|
make TARGET=rpi4ub-armv8 stt
|
||||||
|
|
||||||
Building ``libstt.so`` for Android
|
Building ``libstt.so`` for Android
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,13 @@ config_setting(
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
config_setting(
|
||||||
|
name = "rpi4ub-armv8",
|
||||||
|
define_values = {
|
||||||
|
"target_system": "rpi4ub-armv8"
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
genrule(
|
genrule(
|
||||||
name = "workspace_status",
|
name = "workspace_status",
|
||||||
outs = ["workspace_status.cc"],
|
outs = ["workspace_status.cc"],
|
||||||
|
|
|
@ -112,6 +112,28 @@ NODE_PLATFORM_TARGET := --target_arch=arm64 --target_platform=linux
|
||||||
TOOLCHAIN_LDD_OPTS := --root $(RASPBIAN)/
|
TOOLCHAIN_LDD_OPTS := --root $(RASPBIAN)/
|
||||||
endif # ($(TARGET),rpi3-armv8)
|
endif # ($(TARGET),rpi3-armv8)
|
||||||
|
|
||||||
|
# Custom: RPi 4, Ubuntu 21.10, Arm v8 (64-bit)
|
||||||
|
ifeq ($(TARGET),rpi4ub-armv8)
|
||||||
|
TOOLCHAIN_DIR ?= ${TFDIR}/bazel-$(shell basename "${TFDIR}")/external/LinaroAarch64Gcc72/bin
|
||||||
|
TOOLCHAIN ?= $(TOOLCHAIN_DIR)/aarch64-linux-gnu-
|
||||||
|
RASPBIAN ?= $(abspath $(NC_DIR)/../multistrap-ubuntu64-impish)
|
||||||
|
CFLAGS := -march=armv8-a -mtune=cortex-a72 -D_GLIBCXX_USE_CXX11_ABI=0 --sysroot $(RASPBIAN)
|
||||||
|
CXXFLAGS := $(CFLAGS)
|
||||||
|
LDFLAGS := -Wl,-rpath-link,$(RASPBIAN)/lib/aarch64-linux-gnu/ -Wl,-rpath-link,$(RASPBIAN)/usr/lib/aarch64-linux-gnu/
|
||||||
|
|
||||||
|
SOX_CFLAGS := -I$(RASPBIAN)/usr/include
|
||||||
|
SOX_LDFLAGS := $(RASPBIAN)/usr/lib/aarch64-linux-gnu/libsox.so
|
||||||
|
|
||||||
|
PYVER := $(shell python -c "import platform; maj, min, _ = platform.python_version_tuple(); print(maj+'.'+min);")
|
||||||
|
PYTHON_PACKAGES :=
|
||||||
|
PYTHON_PATH := PYTHONPATH=$(RASPBIAN)/usr/lib/python$(PYVER)/:$(RASPBIAN)/usr/lib/python3/dist-packages/
|
||||||
|
PYTHON_SYSCONFIGDATA := _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_m_linux_aarch64-linux-gnu
|
||||||
|
NUMPY_INCLUDE := NUMPY_INCLUDE=$(RASPBIAN)/usr/include/python3.9/
|
||||||
|
PYTHON_PLATFORM_NAME := --plat-name linux_aarch64
|
||||||
|
NODE_PLATFORM_TARGET := --target_arch=arm64 --target_platform=linux
|
||||||
|
TOOLCHAIN_LDD_OPTS := --root $(RASPBIAN)/
|
||||||
|
endif # ($(TARGET),rpi4ub-armv8)
|
||||||
|
|
||||||
ifeq ($(TARGET),ios-simulator)
|
ifeq ($(TARGET),ios-simulator)
|
||||||
CFLAGS := -isysroot $(shell xcrun -sdk iphonesimulator13.5 -show-sdk-path)
|
CFLAGS := -isysroot $(shell xcrun -sdk iphonesimulator13.5 -show-sdk-path)
|
||||||
SOX_CFLAGS :=
|
SOX_CFLAGS :=
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
[General]
|
||||||
|
arch=arm64
|
||||||
|
noauth=false
|
||||||
|
unpack=true
|
||||||
|
debootstrap=Debian
|
||||||
|
aptsources=Debian
|
||||||
|
cleanup=true
|
||||||
|
|
||||||
|
[Debian]
|
||||||
|
packages=apt libc6 libc6-dev libstdc++-7-dev linux-libc-dev libffi-dev libpython3.9-dev libsox-dev python3-numpy python3-setuptools
|
||||||
|
source=http://ports.ubuntu.com/ubuntu-ports
|
||||||
|
keyring=ubuntu-keyring
|
||||||
|
components=main universe
|
||||||
|
suite=impish
|
Loading…
Reference in New Issue