LinuxVLC

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

(完)

上一篇下一篇

猜你喜欢

热点阅读