From a8b211395fc3ec45c1b70f490db71b5f3bb53a2d Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 22 Jan 2025 10:25:27 +0100 Subject: [PATCH] [android,scripts] update android native build * update dependencies to current versions * build openh264 with static runtime * use curl for download instead of wget, fall back to wget in case no curl installed. --- scripts/android-build-32.conf | 12 ++++++------ scripts/android-build-64.conf | 12 ++++++------ scripts/android-build-common.sh | 15 +++++++++++++-- scripts/android-build-freerdp.sh | 16 ++++++++-------- scripts/android-build-openh264.sh | 8 ++++---- scripts/android-build-release.conf | 12 ++++++------ scripts/android-build.conf | 12 ++++++------ 7 files changed, 49 insertions(+), 38 deletions(-) diff --git a/scripts/android-build-32.conf b/scripts/android-build-32.conf index 166dbd2dc..dc0a6586f 100644 --- a/scripts/android-build-32.conf +++ b/scripts/android-build-32.conf @@ -18,12 +18,12 @@ DEPS_ONLY=0 NDK_TARGET=21 WITH_MEDIACODEC=0 -OPENH264_TAG=v2.4.1 -OPENH264_HASH=8ffbe944e74043d0d3fb53d4a2a14c94de71f58dbea6a06d0dc92369542958ea -OPENSSL_TAG=openssl-3.3.1 -OPENSSL_HASH=777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e -FFMPEG_TAG=n7.0.1 -FFMPEG_HASH=8dab1da0c7ebccb2dce99265901f22ac40f8e0fbbe4a89a368d7645f2e79caa0 +OPENH264_TAG=v2.5.0 +OPENH264_HASH=94c8ca364db990047ec4ec3481b04ce0d791e62561ef5601443011bdc00825e3 +OPENSSL_TAG=openssl-3.4.0 +OPENSSL_HASH=e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27709b7294bf +FFMPEG_TAG=n7.1 +FFMPEG_HASH=7ddad2d992bd250a6c56053c26029f7e728bebf0f37f80cf3f8a0e6ec706431a CJSON_TAG=v1.7.18 CJSON_HASH=3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5 diff --git a/scripts/android-build-64.conf b/scripts/android-build-64.conf index a85ab0e47..5944d34de 100644 --- a/scripts/android-build-64.conf +++ b/scripts/android-build-64.conf @@ -18,12 +18,12 @@ DEPS_ONLY=0 NDK_TARGET=21 WITH_MEDIACODEC=0 -OPENH264_TAG=v2.4.1 -OPENH264_HASH=8ffbe944e74043d0d3fb53d4a2a14c94de71f58dbea6a06d0dc92369542958ea -OPENSSL_TAG=openssl-3.3.1 -OPENSSL_HASH=777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e -FFMPEG_TAG=n7.0.1 -FFMPEG_HASH=8dab1da0c7ebccb2dce99265901f22ac40f8e0fbbe4a89a368d7645f2e79caa0 +OPENH264_TAG=v2.5.0 +OPENH264_HASH=94c8ca364db990047ec4ec3481b04ce0d791e62561ef5601443011bdc00825e3 +OPENSSL_TAG=openssl-3.4.0 +OPENSSL_HASH=e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27709b7294bf +FFMPEG_TAG=n7.1 +FFMPEG_HASH=7ddad2d992bd250a6c56053c26029f7e728bebf0f37f80cf3f8a0e6ec706431a CJSON_TAG=v1.7.18 CJSON_HASH=3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5 diff --git a/scripts/android-build-common.sh b/scripts/android-build-common.sh index f1922c3fb..9430da3d7 100644 --- a/scripts/android-build-common.sh +++ b/scripts/android-build-common.sh @@ -256,13 +256,24 @@ function common_update { echo "Preparing checkout..." BASE=$(pwd) - CACHE=$SCRIPT_PATH/../cache + CACHE=$(realpath $SCRIPT_PATH/../cache) common_run mkdir -p $CACHE TARFILE="$CACHE/$SCM_TAG.tar.gz" if [[ ! -f "$TARFILE" ]]; then - common_run wget -O "$TARFILE" "$SCM_URL/$SCM_TAG.tar.gz" + WGET=$(which wget) + CURL=$(which curl) + if [ -x "$CURL" ]; + then + common_run $CURL -L -o "$TARFILE" "$SCM_URL/$SCM_TAG.tar.gz" + elif [ -x "$WGET" ]; + then + common_run $WGET -O "$TARFILE" "$SCM_URL/$SCM_TAG.tar.gz" + else + echo "Neither wget nor curl installed, aborting" + exit -1 + fi fi echo "$SCM_HASH $TARFILE" > $TARFILE.sha256sum diff --git a/scripts/android-build-freerdp.sh b/scripts/android-build-freerdp.sh index 8dfb25676..05740d49b 100755 --- a/scripts/android-build-freerdp.sh +++ b/scripts/android-build-freerdp.sh @@ -1,13 +1,13 @@ #!/bin/bash -OPENH264_TAG=v2.3.1 -OPENH264_HASH=453afa66dacb560bc5fd0468aabee90c483741571bca820a39a1c07f0362dc32 -OPENSSL_TAG=openssl-3.3.1 -OPENSSL_HASH=777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e -FFMPEG_TAG=n6.0 -FFMPEG_HASH=9a1fa94608300e835bf89bdfcd7d77deceba67bff3494f609816f84bd69a459e -CJSON_TAG=v1.7.15 -CJSON_HASH=d348621ca93571343a56862df7de4ff3bc9b5667 +OPENH264_TAG=v2.5.0 +OPENH264_HASH=94c8ca364db990047ec4ec3481b04ce0d791e62561ef5601443011bdc00825e3 +OPENSSL_TAG=openssl-3.4.0 +OPENSSL_HASH=e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27709b7294bf +FFMPEG_TAG=n7.1 +FFMPEG_HASH=7ddad2d992bd250a6c56053c26029f7e728bebf0f37f80cf3f8a0e6ec706431a +CJSON_TAG=v1.7.18 +CJSON_HASH=3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5 WITH_OPENH264=0 WITH_OPENSSL=0 diff --git a/scripts/android-build-openh264.sh b/scripts/android-build-openh264.sh index 8e405b246..19f580eef 100755 --- a/scripts/android-build-openh264.sh +++ b/scripts/android-build-openh264.sh @@ -1,7 +1,7 @@ #!/bin/bash SCM_URL=https://github.com/cisco/openh264/archive -SCM_TAG=v2.4.1 -SCM_HASH=8ffbe944e74043d0d3fb53d4a2a14c94de71f58dbea6a06d0dc92369542958ea +SCM_TAG=v2.5.0 +SCM_HASH=94c8ca364db990047ec4ec3481b04ce0d791e62561ef5601443011bdc00825e3 source $(dirname "${BASH_SOURCE[0]}")/android-build-common.sh @@ -10,7 +10,7 @@ function build { BASE=$(pwd) common_run cd $BUILD_SRC PATH=$ANDROID_NDK:$PATH - MAKE="make PATH=$PATH ENABLEPIC=Yes OS=android NDKROOT=$ANDROID_NDK NDK_TOOLCHAIN_VERSION=clang TARGET=android-$2 NDKLEVEL=$2 ARCH=$1 -j libraries" + MAKE="make LDFLAGS=-static-libstdc++ PATH=$PATH ENABLEPIC=Yes OS=android NDKROOT=$ANDROID_NDK NDK_TOOLCHAIN_VERSION=clang TARGET=android-$2 NDKLEVEL=$2 ARCH=$1 -j libraries" common_run export QUIET_AR="$CCACHE " common_run export QUIET_ASM="$CCACHE " @@ -18,7 +18,7 @@ function build { common_run export QUIET_CCAR="$CCACHE " common_run export QUIET_CXX="$CCACHE " - common_run $MAKE -j + common_run $MAKE # Install creates a non optimal directory layout, fix that common_run $MAKE PREFIX=$BUILD_SRC/libs/$1 install common_run cd $BASE diff --git a/scripts/android-build-release.conf b/scripts/android-build-release.conf index 052c1dadd..f166f38f8 100644 --- a/scripts/android-build-release.conf +++ b/scripts/android-build-release.conf @@ -18,12 +18,12 @@ DEPS_ONLY=0 NDK_TARGET=23 WITH_MEDIACODEC=0 -OPENH264_TAG=v2.4.1 -OPENH264_HASH=8ffbe944e74043d0d3fb53d4a2a14c94de71f58dbea6a06d0dc92369542958ea -OPENSSL_TAG=openssl-3.3.1 -OPENSSL_HASH=777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e -FFMPEG_TAG=n7.0.1 -FFMPEG_HASH=8dab1da0c7ebccb2dce99265901f22ac40f8e0fbbe4a89a368d7645f2e79caa0 +OPENH264_TAG=v2.5.0 +OPENH264_HASH=94c8ca364db990047ec4ec3481b04ce0d791e62561ef5601443011bdc00825e3 +OPENSSL_TAG=openssl-3.4.0 +OPENSSL_HASH=e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27709b7294bf +FFMPEG_TAG=n7.1 +FFMPEG_HASH=7ddad2d992bd250a6c56053c26029f7e728bebf0f37f80cf3f8a0e6ec706431a CJSON_TAG=v1.7.18 CJSON_HASH=3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5 diff --git a/scripts/android-build.conf b/scripts/android-build.conf index 0db04e690..5f6494e97 100644 --- a/scripts/android-build.conf +++ b/scripts/android-build.conf @@ -18,12 +18,12 @@ DEPS_ONLY=0 NDK_TARGET=21 WITH_MEDIACODEC=0 -OPENH264_TAG=v2.4.1 -OPENH264_HASH=8ffbe944e74043d0d3fb53d4a2a14c94de71f58dbea6a06d0dc92369542958ea -OPENSSL_TAG=openssl-3.3.1 -OPENSSL_HASH=777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e -FFMPEG_TAG=n7.0.1 -FFMPEG_HASH=8dab1da0c7ebccb2dce99265901f22ac40f8e0fbbe4a89a368d7645f2e79caa0 +OPENH264_TAG=v2.5.0 +OPENH264_HASH=94c8ca364db990047ec4ec3481b04ce0d791e62561ef5601443011bdc00825e3 +OPENSSL_TAG=openssl-3.4.0 +OPENSSL_HASH=e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27709b7294bf +FFMPEG_TAG=n7.1 +FFMPEG_HASH=7ddad2d992bd250a6c56053c26029f7e728bebf0f37f80cf3f8a0e6ec706431a CJSON_TAG=v1.7.18 CJSON_HASH=3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5