From 63f3a707c103fb7071a316ddfb197d9713d227f3 Mon Sep 17 00:00:00 2001 From: John Sebastian Peterson Date: Wed, 5 Feb 2025 09:25:33 +1100 Subject: [PATCH] virgl_angle: add venus and on device build --- packages/virglrenderer-android/build.sh | 30 +++++++++++++++++-------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/packages/virglrenderer-android/build.sh b/packages/virglrenderer-android/build.sh index 86f6380736ffac7..2cd927d5fee75d9 100644 --- a/packages/virglrenderer-android/build.sh +++ b/packages/virglrenderer-android/build.sh @@ -28,8 +28,17 @@ 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++ + CROSS= +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) @@ -42,20 +51,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 @@ -64,14 +71,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}