Rework the build scripts and dockerfiles with generic embedded targets
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
set -e
|
||||
|
||||
BASE_FFMPEG_ARGS="--enable-pic --enable-static --disable-shared --disable-all --enable-avcodec --enable-decoder=h264 --enable-decoder=hevc --enable-decoder=av1 --enable-libdrm --enable-decoder=h264_v4l2m2m --enable-decoder=hevc_v4l2m2m --extra-cflags=-I/usr/include/libdrm"
|
||||
BASE_FFMPEG_ARGS="--enable-pic --enable-static --disable-shared --disable-all --disable-vulkan --enable-avcodec --enable-decoder=h264 --enable-decoder=hevc --enable-decoder=av1 --enable-libdrm --enable-decoder=h264_v4l2m2m --enable-decoder=hevc_v4l2m2m --extra-cflags=-I/usr/include/libdrm"
|
||||
|
||||
echo "Building dependencies for $TARGET"
|
||||
if [ "$TARGET" == "rpi" ] || [ "$TARGET" == "rpi64" ]; then
|
||||
@@ -33,6 +33,9 @@ elif [ "$TARGET" == "desktop" ]; then
|
||||
|
||||
# Enable VAAPI, VDPAU, and NVDEC decoders
|
||||
EXTRA_FFMPEG_ARGS="--enable-nvdec --enable-hwaccel=h264_nvdec --enable-hwaccel=hevc_nvdec --enable-hwaccel=av1_nvdec --enable-hwaccel=h264_vaapi --enable-hwaccel=hevc_vaapi --enable-hwaccel=av1_vaapi --enable-hwaccel=h264_vdpau --enable-hwaccel=hevc_vdpau --enable-hwaccel=av1_vdpau"
|
||||
elif [ "$TARGET" == "embedded" ]; then
|
||||
# Enable stateless V4L2 support
|
||||
EXTRA_FFMPEG_ARGS="--enable-v4l2-request --enable-hwaccel=h264_v4l2request --enable-hwaccel=hevc_v4l2request"
|
||||
else
|
||||
echo "Unrecognized target: $TARGET"
|
||||
exit 1
|
||||
|
||||
@@ -18,18 +18,30 @@ if [ "$TARGET" == "rpi" ]; then
|
||||
EXTRA_DEPS="libraspberrypi0 | rbp-userland-osmc"
|
||||
EXTRA_CONFIG="CONFIG+=glslow"
|
||||
elif [ "$TARGET" == "rpi64" ]; then
|
||||
EXTRA_BUILD_DEPS=""
|
||||
EXTRA_DEPS=""
|
||||
EXTRA_CONFIG="CONFIG+=glslow"
|
||||
elif [ "$TARGET" == "l4t" ]; then
|
||||
EXTRA_BUILD_DEPS=""
|
||||
EXTRA_DEPS=""
|
||||
elif [ "$TARGET" == "desktop" ]; then
|
||||
EXTRA_BUILD_DEPS="libwayland-dev, wayland-protocols, libva-dev, libvdpau-dev"
|
||||
elif [ "$TARGET" == "embedded" ]; then
|
||||
EXTRA_CONFIG="CONFIG+=glslow"
|
||||
else
|
||||
echo "Unrecognized target: $TARGET"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Determine extra distro-specific dependencies
|
||||
if [ "$DISTRO" != "buster" ] && [ $DISTRO != "bionic" ]; then
|
||||
EXTRA_BUILD_DEPS="$EXTRA_BUILD_DEPS, libfreetype-dev"
|
||||
else
|
||||
EXTRA_BUILD_DEPS="$EXTRA_BUILD_DEPS, libfreetype6-dev"
|
||||
fi
|
||||
if [ "$DISTRO" != "bionic" ]; then
|
||||
EXTRA_BUILD_DEPS="$EXTRA_BUILD_DEPS, libgl-dev"
|
||||
else
|
||||
EXTRA_BUILD_DEPS="$EXTRA_BUILD_DEPS, libgl1-mesa-dev"
|
||||
fi
|
||||
|
||||
# Create a build directory
|
||||
mkdir /opt/build
|
||||
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
set -e
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
apt-get update
|
||||
apt-get install -y curl g++ make ninja-build python3-pip devscripts fakeroot debhelper git nasm libgbm-dev libdrm-dev libfreetype6-dev libasound2-dev libdbus-1-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev libibus-1.0-dev libpulse-dev libudev-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev libxxf86vm-dev cmake
|
||||
apt-get install -y curl g++ make ninja-build meson devscripts fakeroot debhelper git nasm libgbm-dev libdrm-dev libasound2-dev libdbus-1-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev libibus-1.0-dev libpulse-dev libudev-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev libxxf86vm-dev cmake
|
||||
apt-get install -y --no-install-recommends libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libopus-dev
|
||||
pip3 install meson==0.61.5 # Last version compatible with Python 3.6 on Bionic
|
||||
|
||||
if [ "$DISTRO" != "buster" ] && [ "$DISTRO" != "bionic" ]; then
|
||||
apt-get install -y libfreetype-dev
|
||||
else
|
||||
apt-get install -y libfreetype6-dev
|
||||
fi
|
||||
|
||||
if [ "$DISTRO" != "bionic" ]; then
|
||||
apt-get install -y libgl-dev
|
||||
else
|
||||
apt-get install -y libgl1-mesa-dev
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user