Skip to content

Commit 47393aa

Browse files
committed
fix(build): validate Rockchip tooling inputs
1 parent 071cd61 commit 47393aa

3 files changed

Lines changed: 12 additions & 13 deletions

File tree

‎tools/build-dependencies.sh‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
#!/bin/sh
22
set -eu
33

4-
case "${1:-}" in
5-
"" | --toolchain-only) ;;
6-
*)
4+
if [ "$#" -gt 1 ] || { [ "$#" -eq 1 ] && [ "$1" != "--toolchain-only" ]; }; then
75
echo "usage: $0 [--toolchain-only]" >&2
86
exit 1
9-
;;
10-
esac
7+
fi
118

129
ROOT=$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd)
1310
TOOLS="$ROOT/.tools"

‎tools/build-mpp.sh‎

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ if [ -n "${MPP_LINK_LIBRARY:-}" ]; then
4040
exit 1
4141
}
4242
mpp_link=$MPP_LINK_LIBRARY
43-
bundled_mpp=0
43+
mpp_runtime=$MPP_LINK_LIBRARY
4444
else
4545
"$ROOT/tools/build-dependencies.sh" --toolchain-only
4646
# MPP invokes CMAKE_LINKER directly to merge target object files with `-r`.
@@ -53,11 +53,11 @@ else
5353
cmake --build "$BUILD_DIR" --target rockchip_mpp --parallel
5454
mpp_headers="$MPP_SOURCE/inc"
5555
mpp_link="$BUILD_DIR/mpp/librockchip_mpp.so"
56-
"$ZIG_RUN" objcopy --strip-all "$BUILD_DIR/mpp/librockchip_mpp.so.0" \
57-
"$OUTPUT_DIR/librockchip_mpp.so.1"
58-
bundled_mpp=1
56+
mpp_runtime="$BUILD_DIR/mpp/librockchip_mpp.so.0"
5957
fi
6058

59+
"$ZIG_RUN" objcopy --strip-all "$mpp_runtime" "$OUTPUT_DIR/librockchip_mpp.so.1"
60+
6161
"$ZIG_RUN" cc -target aarch64-linux-gnu.2.38 -O2 -fPIC -fvisibility=hidden -shared -s \
6262
-ffile-prefix-map="$ROOT"=. -Werror -Wall -Wextra \
6363
-I"$ROOT/src/media/video" -I"$mpp_headers" \
@@ -76,9 +76,7 @@ fi
7676
-ldl -Wl,-rpath,'$ORIGIN' -o "$OUTPUT_DIR/greenovercast-mpp-bridge-test.aarch64"
7777

7878
file "$OUTPUT_DIR/libgreenovercast-mpp.so"
79-
if [ "$bundled_mpp" -eq 1 ]; then
80-
file "$OUTPUT_DIR/librockchip_mpp.so.1"
81-
fi
79+
file "$OUTPUT_DIR/librockchip_mpp.so.1"
8280
printf 'built: %s\n' "$OUTPUT_DIR/libgreenovercast-mpp.so"
8381
printf 'built: %s\n' "$OUTPUT_DIR/greenovercast-mpp-probe.aarch64"
8482
printf 'built: %s\n' "$OUTPUT_DIR/greenovercast-mpp-bridge-test.aarch64"

‎tools/video-diagnostics.sh‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set -u
33

44
app_dir=${1:-.}
55
mpp_plugin=${GREENOVERCAST_MPP_LIBRARY:-$app_dir/libgreenovercast-mpp.so}
6-
if [ -x "$app_dir/rockchip/greenovercast-mpp-probe.aarch64" ]; then
6+
if [ -f "$app_dir/rockchip/greenovercast-mpp-probe.aarch64" ]; then
77
mpp_probe="$app_dir/rockchip/greenovercast-mpp-probe.aarch64"
88
private_mpp_dir="$app_dir/rockchip"
99
else
@@ -38,6 +38,10 @@ if command -v ldd >/dev/null 2>&1; then
3838
printf 'MPP dependencies using firmware libraries:\n'
3939
LD_LIBRARY_PATH="$app_dir:${LD_LIBRARY_PATH:-}" ldd "$mpp_plugin" 2>&1
4040
fi
41+
if [ -f "$mpp_probe" ] && [ ! -x "$mpp_probe" ]; then
42+
printf 'MPP probe: not executable\n'
43+
exit 1
44+
fi
4145
if [ -x "$mpp_probe" ]; then
4246
printf 'MPP firmware probe:\n'
4347
if GREENOVERCAST_MPP_LIBRARY="$mpp_plugin" \

0 commit comments

Comments
 (0)