Skip to content

Commit

Permalink
virgl_angle: add venus and on device build
Browse files Browse the repository at this point in the history
  • Loading branch information
john-peterson committed Feb 4, 2025
1 parent 1561c12 commit 1da91fb
Showing 1 changed file with 20 additions and 9 deletions.
29 changes: 20 additions & 9 deletions packages/virglrenderer-android/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,16 @@ termux_step_host_build() {
if [ $TERMUX_ARCH = arm ]; then
CCTERMUX_HOST_PLATFORM=armv7a-linux-androideabi$TERMUX_PKG_API_LEVEL
fi

if $TERMUX_ON_DEVICE_BUILD; then
local _INSTALL_PREFIX=$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/opt/$TERMUX_PKG_NAME
CC=clang
CXX=c++
else
local _INSTALL_PREFIX=$TERMUX_PREFIX/opt/$TERMUX_PKG_NAME
CC=$(command -v $CCTERMUX_HOST_PLATFORM-clang)
CXX=$(command -v $CCTERMUX_HOST_PLATFORM-clang++)
CROSS=--cross-file $TERMUX_MESON_CROSSFILE
fi

PKG_CONFIG="$TERMUX_PKG_TMPDIR/host-build-pkg-config"
local _HOST_PKGCONFIG=$(command -v pkg-config)
Expand All @@ -42,20 +50,18 @@ termux_step_host_build() {
chmod +x $PKG_CONFIG

AR=$(command -v llvm-ar)
CC=$(command -v $CCTERMUX_HOST_PLATFORM-clang)
CXX=$(command -v $CCTERMUX_HOST_PLATFORM-clang++)
LD=$(command -v ld.lld)
CFLAGS=""
export CFLAGS="--target=aarch64-linux-android30 -w "
CPPFLAGS=""
CXXFLAGS=""
LDFLAGS="-Wl,-rpath=$_INSTALL_PREFIX/lib"
export LDFLAGS="-Wl,-rpath=$_INSTALL_PREFIX/lib"
STRIP=$(command -v llvm-strip)
termux_setup_meson

# Compile libepoxy
mkdir -p libepoxy-build
$TERMUX_MESON $TERMUX_PKG_SRCDIR/libepoxy libepoxy-build \
--cross-file $TERMUX_MESON_CROSSFILE \
$CROSS \
--prefix=$_INSTALL_PREFIX \
--libdir lib \
-Degl=yes -Dglx=no -Dx11=false
Expand All @@ -64,14 +70,19 @@ termux_step_host_build() {
# Compile virglrenderer
mkdir -p virglrenderer-build
$TERMUX_MESON $TERMUX_PKG_SRCDIR virglrenderer-build \
--cross-file $TERMUX_MESON_CROSSFILE \
$CROSS \
--prefix=$_INSTALL_PREFIX \
--libdir lib \
-Dplatforms=egl
-Dplatforms=egl \
-Dvenus=true
ninja -C virglrenderer-build install -j $TERMUX_PKG_MAKE_PROCESSES

# nobody ever listens to instructions
patchelf --set-rpath $_INSTALL_PREFIX/lib $_INSTALL_PREFIX/bin/virgl_test_server

# Move our virglrenderer binary to regular bin directory.
mv $_INSTALL_PREFIX/bin/virgl_test_server $TERMUX_PREFIX/bin/virgl_test_server_android
mkdir $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/bin
mv $_INSTALL_PREFIX/bin/virgl_test_server $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/bin/virgl_test_server_angle

# Cleanup.
rm -rf $_INSTALL_PREFIX/{bin,include,lib/pkgconfig}
Expand Down

0 comments on commit 1da91fb

Please sign in to comment.