Mirror the zstd handling for xz: add an "xz" matrix dimension that
installs the liblzma development package for the "enabled" variant and
omits it for the "disabled" one, and verify with check-xz.sh that
xz-decompress.c is compiled iff liblzma was available. liblzma ships in
the Arch base image, so the xz-disabled variant is excluded there.
Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Add an Android job to the CI that cross-compiles tqftpserv with the
Android NDK for the arm64-v8a, armeabi-v7a and x86_64 ABIs. libqrtr is
cross-built from source and linked in, matching the Android.bp build.
The NDK download and the per-ABI libqrtr build are cached.
Define the ANDROID macro when building for an Android host so the vendor
firmware paths in translate.c are selected.
Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Add a GitHub Actions workflow modeled on the cdba project's CI. It builds
tqftpserv across a matrix of distributions (Alpine, Arch, Debian, Fedora,
Ubuntu) and compilers (gcc, clang).
The matrix additionally toggles zstd support: the "enabled" variant
installs the libzstd development package, the "disabled" variant does
not, so that both autodetected configurations are exercised. A small
check verifies that the autodetection matched the requested variant.
qrtr is installed from the distribution packages where available; on Arch
(where it only exists in the AUR) it is built from source. zstd is part
of the Arch base image and cannot be removed, so the zstd-disabled
variant is excluded there.
Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>