vlc-3.0.8在飞凌开发板i.mx6q上移植
2020-03-05 本文已影响0人
小桥流水啦啦啦
1、vlc-3.0.8交叉编译脚本
#!/bin/sh
echo "========================================================"
make clean
make distclean
echo "========================================================"
# export PKG_CONFIG_PATH="\
# /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/pkgconfig:\
# /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/share/pkgconfig:\
# $PLUG_LIB_DIR/ffmpeg/lib/pkgconfig "
# export CFLAGS="-ggdb3 -O0 -O2 -pipe -g -feliminate-unused-debug-types \
# -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/work/x86_64-nativesdk-pokysdk-linux/meta-environment-imx6qsabresd/1.0-r8=/usr/src/debug/meta-environment-imx6qsabresd/1.0-r8 \
# -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-linux= \
# -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-nativesdk-pokysdk-linux= \
# -I/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include \
# -I$PLUG_LIB_DIR/ffmpeg/include "
export SDKTARGETSYSROOT=/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi
export PATH=/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/sbin:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/bin:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/sbin:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/../x86_64-pokysdk-linux/bin:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-uclibc:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-musl:$PATH
export CCACHE_PATH=/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/../x86_64-pokysdk-linux/bin:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-uclibc:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-musl:$CCACHE_PATH
export PKG_CONFIG_SYSROOT_DIR=$SDKTARGETSYSROOT
#export PKG_CONFIG_PATH=$SDKTARGETSYSROOT/usr/lib/pkgconfig
export CONFIG_SITE=/opt/fsl-imx-x11/4.1.15-2.1.0/site-config-cortexa9hf-neon-poky-linux-gnueabi
export OECORE_NATIVE_SYSROOT="/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux"
export OECORE_TARGET_SYSROOT="$SDKTARGETSYSROOT"
export OECORE_ACLOCAL_OPTS="-I /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/share/aclocal"
export CC="arm-poky-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export CXX="arm-poky-linux-gnueabi-g++ -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export CPP="arm-poky-linux-gnueabi-gcc -E -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export AS="arm-poky-linux-gnueabi-as "
export LD="arm-poky-linux-gnueabi-ld --sysroot=$SDKTARGETSYSROOT"
export GDB=arm-poky-linux-gnueabi-gdb
export STRIP=arm-poky-linux-gnueabi-strip
export RANLIB=arm-poky-linux-gnueabi-ranlib
export OBJCOPY=arm-poky-linux-gnueabi-objcopy
export OBJDUMP=arm-poky-linux-gnueabi-objdump
export AR=arm-poky-linux-gnueabi-ar
export NM=arm-poky-linux-gnueabi-nm
export M4=m4
export TARGET_PREFIX=arm-poky-linux-gnueabi-
export CONFIGURE_FLAGS="--target=arm-poky-linux-gnueabi --host=arm-poky-linux-gnueabi --build=x86_64-linux --with-libtool-sysroot=$SDKTARGETSYSROOT"
#export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/work/x86_64-nativesdk-pokysdk-linux/meta-environment-imx6qsabresd/1.0-r8=/usr/src/debug/meta-environment-imx6qsabresd/1.0-r8 -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-linux= -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-nativesdk-pokysdk-linux= "
#export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/work/x86_64-nativesdk-pokysdk-linux/meta-environment-imx6qsabresd/1.0-r8=/usr/src/debug/meta-environment-imx6qsabresd/1.0-r8 -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-linux= -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-nativesdk-pokysdk-linux= "
#export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
export CPPFLAGS=""
export KCFLAGS="--sysroot=$SDKTARGETSYSROOT"
export OECORE_DISTRO_VERSION="4.1.15-2.1.0"
export OECORE_SDK_VERSION="4.1.15-2.1.0"
export ARCH=arm
export CROSS_COMPILE=arm-poky-linux-gnueabi-
PLUG_LIB_DIR="/home/imhqq/share/huqiqiao/vlc-3.0.8-plugin/lib"
VLC_SRC_DIR="/home/imhqq/share/huqiqiao/vlc-3.0.8"
export PKG_CONFIG_PATH="$SDKTARGETSYSROOT/usr/lib/pkgconfig:\
${SDKTARGETSYSROOT}/usr/lib/pkgconfig:\
${SDKTARGETSYSROOT}/usr/share/pkgconfig:\
${PLUG_LIB_DIR}/a52/lib/pkgconfig:\
${PLUG_LIB_DIR}/alsa/lib/pkgconfig:\
${PLUG_LIB_DIR}/dbus/lib/pkgconfig:\
${PLUG_LIB_DIR}/faad/lib/pkgconfig:\
${PLUG_LIB_DIR}/ffmpeg/lib/pkgconfig:\
${PLUG_LIB_DIR}/flac/lib/pkgconfig:\
${PLUG_LIB_DIR}/freetype/lib/pkgconfig:\
${PLUG_LIB_DIR}/libmad/lib/pkgconfig:\
${PLUG_LIB_DIR}/libmpeg2/lib/pkgconfig:\
${PLUG_LIB_DIR}/libogg/lib/pkgconfig:\
${PLUG_LIB_DIR}/libsndfile/lib/pkgconfig:\
${PLUG_LIB_DIR}/libgcrypt/lib/pkgconfig:\
${PLUG_LIB_DIR}/libgpg-error/lib/pkgconfig:\
${PLUG_LIB_DIR}/libvorbis/lib/pkgconfig:\
${PLUG_LIB_DIR}/live/lib/pkgconfig:\
${PLUG_LIB_DIR}/lua5.3/lib/pkgconfig:\
${PLUG_LIB_DIR}/SDL1/lib/pkgconfig:\
${PLUG_LIB_DIR}/SDL2/lib/pkgconfig:\
${PLUG_LIB_DIR}/SDL2_image/lib/pkgconfig:\
${PLUG_LIB_DIR}/x264/lib/pkgconfig"
export CFLAGS=" -ggdb3 -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/work/x86_64-nativesdk-pokysdk-linux/meta-environment-imx6qsabresd/1.0-r8=/usr/src/debug/meta-environment-imx6qsabresd/1.0-r8 -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-linux= -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-nativesdk-pokysdk-linux= \
-I${SDKTARGETSYSROOT}/usr/include \
-I${PLUG_LIB_DIR}/a52/include \
-I${PLUG_LIB_DIR}/alsa/include \
-L${PLUG_LIB_DIR}/dbus/include \
-I${PLUG_LIB_DIR}/faad/include \
-I${PLUG_LIB_DIR}/ffmpeg/include \
-I${PLUG_LIB_DIR}/ffmpeg/include/libavcodec \
-I${PLUG_LIB_DIR}/flac/include \
-I${PLUG_LIB_DIR}/freetype/include \
-I${PLUG_LIB_DIR}/libmad/include \
-I${PLUG_LIB_DIR}/libmpeg2/include/mpeg2dec \
-I${PLUG_LIB_DIR}/libogg/include \
-I${PLUG_LIB_DIR}/libsndfile/include \
-I${PLUG_LIB_DIR}/libgcrypt/include \
-I${PLUG_LIB_DIR}/libgpg-error/include \
-I${PLUG_LIB_DIR}/libvorbis/include \
-I${PLUG_LIB_DIR}/live/include \
-I${PLUG_LIB_DIR}/lua5.3/include \
-I${PLUG_LIB_DIR}/SDL1/include \
-I${PLUG_LIB_DIR}/SDL2/include \
-I${PLUG_LIB_DIR}/SDL2_image/include \
-I${PLUG_LIB_DIR}/x264/include \
-I/home/imhqq/share/huqiqiao/vlc-2.2.1-plugin/PicoGL/include "
export CXXFLAGS=" -ggdb3 -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/work/x86_64-nativesdk-pokysdk-linux/meta-environment-imx6qsabresd/1.0-r8=/usr/src/debug/meta-environment-imx6qsabresd/1.0-r8 -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-linux= -fdebug-prefix-map=/data/fsl-release-bsp/build-x11/tmp/sysroots/x86_64-nativesdk-pokysdk-linux= \
-I${SDKTARGETSYSROOT}/usr/include \
-I${PLUG_LIB_DIR}/a52/include \
-I${PLUG_LIB_DIR}/alsa/include \
-L${PLUG_LIB_DIR}/dbus/include \
-I${PLUG_LIB_DIR}/faad/include \
-I${PLUG_LIB_DIR}/ffmpeg/include \
-I${PLUG_LIB_DIR}/ffmpeg/include/libavcodec \
-I${PLUG_LIB_DIR}/flac/include \
-I${PLUG_LIB_DIR}/freetype/include \
-I${PLUG_LIB_DIR}/libmad/include \
-I${PLUG_LIB_DIR}/libmpeg2/include/mpeg2dec \
-I${PLUG_LIB_DIR}/libogg/include \
-I${PLUG_LIB_DIR}/libsndfile/include \
-I${PLUG_LIB_DIR}/libvorbis/include \
-I${PLUG_LIB_DIR}/libgcrypt/include \
-I${PLUG_LIB_DIR}/libgpg-error/include \
-I${PLUG_LIB_DIR}/live/include \
-I${PLUG_LIB_DIR}/lua5.3/include \
-I${PLUG_LIB_DIR}/SDL1/include \
-I${PLUG_LIB_DIR}/SDL2/include \
-I${PLUG_LIB_DIR}/SDL2_image/include \
-I${PLUG_LIB_DIR}/x264/include \
-I/home/imhqq/share/huqiqiao/vlc-2.2.1-plugin/PicoGL/include "
export LDFLAGS=" -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed \
-L${SDKTARGETSYSROOT}/usr/lib \
-L${PLUG_LIB_DIR}/a52/lib \
-L${PLUG_LIB_DIR}/alsa/lib \
-L${PLUG_LIB_DIR}/dbus/lib \
-L${PLUG_LIB_DIR}/faad/lib \
-L${PLUG_LIB_DIR}/ffmpeg/lib \
-L${PLUG_LIB_DIR}/flac/lib \
-L${PLUG_LIB_DIR}/freetype/lib \
-L${PLUG_LIB_DIR}/libmad/lib \
-L${PLUG_LIB_DIR}/libmpeg2/lib \
-L${PLUG_LIB_DIR}/libogg/lib \
-L${PLUG_LIB_DIR}/libsndfile/lib \
-L${PLUG_LIB_DIR}/libgpg-error/lib \
-L${PLUG_LIB_DIR}/libgcrypt/lib \
-L${PLUG_LIB_DIR}/libvorbis/lib \
-L${PLUG_LIB_DIR}/live/lib \
-L${PLUG_LIB_DIR}/lua5.3/lib \
-L${PLUG_LIB_DIR}/SDL1/lib \
-L${PLUG_LIB_DIR}/SDL2/lib \
-L${PLUG_LIB_DIR}/SDL2_image/lib \
-L${PLUG_LIB_DIR}/x264/lib "
export dependency_libs="$dependency_libs \
-L${PLUG_LIB_DIR}/a52/lib \
-L${PLUG_LIB_DIR}/alsa/lib \
-L${PLUG_LIB_DIR}/dbus/lib \
-L${PLUG_LIB_DIR}/faad/lib \
-L${PLUG_LIB_DIR}/ffmpeg/lib -lavcodec -lavfilter -lavformat -lavutil -lswscale \
-L${PLUG_LIB_DIR}/flac/lib \
-L${PLUG_LIB_DIR}/freetype/lib \
-L${PLUG_LIB_DIR}/libmad/lib \
-L${PLUG_LIB_DIR}/libmpeg2/lib \
-L${PLUG_LIB_DIR}/libogg/lib \
-L${PLUG_LIB_DIR}/libsndfile/lib \
-L${PLUG_LIB_DIR}/libgcrypt/lib \
-L${PLUG_LIB_DIR}/libgpg-error/lib \
-L${PLUG_LIB_DIR}/libvorbis/lib \
-L${PLUG_LIB_DIR}/live/lib \
-L${PLUG_LIB_DIR}/lua5.3/lib \
-L${PLUG_LIB_DIR}/SDL1/lib \
-L${PLUG_LIB_DIR}/SDL2/lib \
-L${PLUG_LIB_DIR}/SDL2_image/lib \
-L${PLUG_LIB_DIR}/x264/lib \
-L/home/imhqq/share/huqiqiao/vlc-2.2.1-plugin/PicoGL/lib \
/home/imhqq/share/huqiqiao/vlc-3.0.8/arm_vlc_build/lib/libvlccore.la -lrt -ldl "
# ------------------------------------------------------------------------------------------------------------
# dependency_libs填写的方式:
# ------------------------------------------------------------------------------------------------------------
# 1、-L/home/imhqq/share/huqiqiao/vlc-2.2.1-plugin/lib/live/lib -lBasicUsageEnvironment -lgroupsock -lliveMedia -lUsageEnvironment
# 2、/home/imhqq/share/huqiqiao/vlc-2.2.1-plugin/lib/liba52/lib/liba52.la'
# ------------------------------------------------------------------------------------------------------------
# contrib patch
cd contrib
./bootstrap
cd src
make -n > contrib-debug.txt 2>&1
cd ${VLC_SRC_DIR}
./configure -C \
--build=x86_64-linux-gnu \
--target=arm-poky-linux-gnueabi \
--host=arm-poky-linux-gnueabi \
--prefix=/home/imhqq/share/huqiqiao/vlc-3.0.8/arm_vlc_build \
--enable-run-as-root \
--enable-vlc \
--enable-sout \
--enable-vlm \
--enable-realrtsp \
--enable-sout \
--enable-libass \
--disable-optimizations \
--enable-ncurses \
--enable-ogg \
--enable-oggspots \
--enable-debug \
--enable-merge-ffmpeg \
--enable-mpc \
--enable-qt \
--enable-xvideo \
--enable-xcb \
--enable-libxml2 \
--enable-lua \
--enable-avcodec \
--enable-gles2 \
--enable-freetype \
--enable-a52 \
--enable-jpeg \
--enable-swscale \
--enable-mad \
--enable-pulse \
--enable-postproc \
--enable-faad \
--enable-sdl-image \
--enable-libgcrypt \
--enable-live555 \
--disable-mod \
--disable-screen \
--disable-macosx \
--disable-macosx-qtkit \
--disable-altivec \
--disable-coverage \
--disable-taglib \
--disable-dvdread \
--disable-dvdnav \
--disable-dvbpsi \
--disable-v4l2 \
--disable-vcd \
--disable-dca \
--disable-tremor \
--disable-gme \
--disable-speex \
--disable-theora \
--disable-schroedinger \
--disable-png \
--disable-telx \
--disable-kate \
--disable-fribidi \
--disable-fontconfig \
--disable-gnutls \
--disable-lirc \
--disable-silent-rules \
--disable-neon \
--disable-dc1394 \
--disable-vlm \
--disable-twolame \
--disable-sftp \
--disable-notify \
--disable-shout \
--disable-aa \
--disable-caca \
--disable-jack \
--disable-libva \
--disable-dxva2 \
--disable-shine \
--disable-zvbi \
--disable-tiger \
--disable-maintainer-mode \
--disable-dependency-tracking \
--disable-gprof \
--disable-cprof \
--disable-libcddb \
--disable-wma-fixed \
--disable-omxil \
--disable-fluidsynth \
--disable-svg \
--disable-upnp \
--disable-goom \
--disable-projectm \
--disable-mtp \
--disable-update-check \
--disable-linsys \
--disable-bluray \
--disable-smbclient \
--disable-decklink \
--disable-vnc \
--disable-freerdp \
--disable-macosx-avfoundation \
--disable-asdcp \
--disable-udev \
--disable-gst-decode \
--disable-vdpau \
--disable-avahi
make -j16
make install
2、编译出来的vlc版本
root@imhqq-B360M-D3V:/home/imhqq/share/huqiqiao/vlc-3.0.8/arm_vlc_build# tree -L 2
.
├── bin
│ ├── cvlc
│ ├── nvlc
│ ├── qvlc
│ ├── rvlc
│ ├── vlc
│ └── vlc-wrapper
├── include
│ └── vlc
├── lib
│ ├── libvlccore.la
│ ├── libvlccore.so -> libvlccore.so.9.0.0
│ ├── libvlccore.so.9 -> libvlccore.so.9.0.0
│ ├── libvlccore.so.9.0.0
│ ├── libvlc.la
│ ├── libvlc.so -> libvlc.so.5.6.0
│ ├── libvlc.so.5 -> libvlc.so.5.6.0
│ ├── libvlc.so.5.6.0
│ ├── pkgconfig
│ └── vlc
└── share
├── applications
├── doc
├── icons
├── kde4
├── locale
├── man
├── metainfo
└── vlc
15 directories, 14 files
(完)