termux-packages/packages/uftrace/build.sh

32 lines
1.4 KiB
Bash

TERMUX_PKG_HOMEPAGE=https://uftrace.github.io/slide
TERMUX_PKG_DESCRIPTION="Function (graph) tracer for user-space"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=0.11
TERMUX_PKG_SRCURL=https://github.com/namhyung/uftrace/archive/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=101dbb13cb3320ee76525ec26426f2aa1de4e3ee5af74f79cb403ae4d2c6c871
TERMUX_PKG_DEPENDS="capstone, libandroid-glob, libandroid-spawn, libelf, libdw, ncurses, python"
# On x86_64 utils/script-luajit.c:154:12 uses some sse2 feature even if sse2 is disabled.
# `error: sse2 register return with sse2 disabled`
[[ "${TERMUX_ARCH}" != "x86_64" ]] && TERMUX_PKG_DEPENDS+=", libluajit"
TERMUX_PKG_BUILD_DEPENDS="argp"
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_UPDATE_TAG_TYPE="newest-tag"
termux_step_pre_configure() {
# uftrace uses custom configure script implementation, so we need to provide some flags
local _PYTHON_VERSION
_PYTHON_VERSION=$(
source $TERMUX_SCRIPTDIR/packages/python/build.sh
echo $_MAJOR_VERSION
)
export CFLAGS="${CFLAGS} -I${TERMUX_PREFIX}/include -I${TERMUX_PREFIX}/include/python${_PYTHON_VERSION} -DEFD_SEMAPHORE=1 -DEF_ARM_ABI_FLOAT_HARD=0x400 -w"
export LDFLAGS="${LDFLAGS} -Wl,--wrap=_Unwind_Resume -landroid-glob -largp -lpython${_PYTHON_VERSION}"
if [ "$TERMUX_ARCH" = "i686" ]; then
export ARCH="i386"
else
export ARCH="$TERMUX_ARCH"
fi
}