VLC4Android 每次只编译一个库的原因,好像是缺少autopoint

每次只编译一个库的原因,好像是缺少autopoint

root@Ubuntu32:/home/zhangbin/vlc/android/android# sh compile.sh 

For an ARMv6 device without FPU, you need a build without FPU:
$ export NO_FPU=1
For an ARMv5 device or the Android emulator, you need an ARMv5 build:
$ export NO_ARMV6=1


If you plan to use a release build, run 'compile.sh release'
VLC source found
Building tools
You are ready to build VLC and its contribs
Building the contribs
Guessing build system... i686-linux-gnu
Creating configuration file... config.mak
Bootstrap completed.  这好像是vlc的bootstrap


Run "make" to start compilation.



Other targets:
 * make install      same as "make"
 * make prebuilt     fetch and install prebuilt binaries
 * make list         list packages
 * make fetch        fetch required source tarballs
 * make fetch-all    fetch all source tarballs
 * make distclean    clean everything and undo bootstrap
 * make mostlyclean  clean everything except source tarballs
 * make clean        clean everything
 * make package      prepare prebuilt packages
make: Nothing to be done for `fetch'.
mkdir -p -- /home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/share/aclocal && cd gnutls && autoreconf -fiv -I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/share/ aclocal
touch -r .ffmpeg .dep-ffmpeg

cd postproc && 

CC="arm-linux-androideabi-gcc --sysroot=/home/zhangbin/android/android-ndk-r8e/platforms/android-9/arch-arm"

 CXX="arm-linux-androideabi-g++ 

--sysroot=/home/zhangbin/android/android-ndk-r8e/platforms/android-9/arch-arm"

 LD="arm-linux-androideabi-ld" AR="arm-linux-androideabi-ar" 

RANLIB="arm-linux-androideabi-ranlib"

STRIP="arm-linux-androideabi-strip" 

PATH="/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/bin:/home/zhangbin/vlc/android/android/vlc/extras/tools/build/bin:/home/zhangbin/vlc/android/android/vlc/extras/tools/build/bin:/home/zhangbin/android/android-ndk-r8e/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-  这是NDK的工具啊x86/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/zhangbin/android/android-sdk-linux/platform-tools:/home/zhangbin/android/android-sdk-linux/tools"   这SDK的工具

vlc的extra工具,这几个工具,我好像又在系统里头自己装了下???

cmake yasm ragel


VLC4Android 每次只编译一个库的原因,好像是缺少autopoint_第1张图片


root@Ubuntu32:/home/zhangbin/vlc/android/android# apt-get install ragel  安装ragel 库。
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  ragel
0 upgraded, 1 newly installed, 0 to remove and 121 not upgraded.
Need to get 980 kB of archives.
After this operation, 2,221 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/universe ragel i386 6.7-1build1 [980 kB]
Fetched 980 kB in 6s (147 kB/s)                                                                                                                               
Selecting previously unselected package ragel.
(Reading database ... 176015 files and directories currently installed.)
Unpacking ragel (from .../ragel_6.7-1build1_i386.deb) ...
Processing triggers for man-db ...
Setting up ragel (6.7-1build1) ...
root@Ubuntu32:/home/zhangbin/vlc/android/android# 


CPPFLAGS="-g-mfpu=vfpv3-d16 -mcpu=cortex-a8 -mthumb -mfloat-abi=softfp-O2

-I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include 

-I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include

-I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include"


 CFLAGS=" -g -mfpu=vfpv3-d16 -mcpu=cortex-a8 -mthumb -mfloat-abi=softfp -O2

 -I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include 

-I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include

 -I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include 

-g" 


CXXFLAGS=" -g -mfpu=vfpv3-d16 -mcpu=cortex-a8 -mthumb -mfloat-abi=softfp -O2

-I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include -I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include

 -I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include -g" 


LDFLAGS=" -L/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/lib" 

/configure \         这是在配置postproc么???

--extra-cflags="-g -mfpu=vfpv3-d16 -mcpu=cortex-a8 -mthumb -mfloat-abi=softfp -O2 -I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include -I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include"  \

--extra-ldflags=" -L/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/lib" 这居然是contrib里的,难道是系统库?

原来是编译好的vlc的系统静态库都放在这个目录下,作为链接用。

VLC4Android 每次只编译一个库的原因,好像是缺少autopoint_第2张图片

--cc="arm-linux-androideabi-gcc   交叉编译工具链

--sysroot=/home/zhangbin/android/android-ndk-r8e/platforms/android-9/arch-arm"  

这是工具链的sysroot,里头都是android系统相关的库。

VLC4Android 每次只编译一个库的原因,好像是缺少autopoint_第3张图片

我感觉这是ffmpeg的configure指令啊??

--disable-debug 

--enable-gpl 

--enable-postproc   这个库不是ffmpeg的???

--enable-small

 --enable-cross-compile 

--cross-prefix=arm-linux-androideabi-

 --disable-runtime-cpudetect

--arch=arm --cpu=cortex-a8 --enable-neon   这三个很重要啊

--target-os=linux

 --enable-pic 

--enable-pthreads \

--prefix="/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi" 

--enable-static --disable-shared  编译静态库。

autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
Can't exec "autopoint": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 345.  需要autopoint啊。
autoreconf: failed to run autopoint: No such file or directory
autoreconf: autopoint is needed because this package uses Gettext

make: *** [.gnutls] Error 1


root@Ubuntu32:/home/zhangbin/vlc/android/android# apt-get install gettext  已经安装过了。
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gettext is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 121 not upgraded.
root@Ubuntu32:/home/zhangbin/vlc/android/android# 



make: *** Waiting for unfinished jobs....
install prefix            /home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi
source path               .
C compiler                arm-linux-androideabi-gcc --sysroot=/home/zhangbin/android/android-ndk-r8e/platforms/android-9/arch-arm
ARCH                      arm (cortex-a8)

big-endian                no
runtime cpu detection     no
ARMv5TE enabled           yes
ARMv6 enabled             yes
ARMv6T2 enabled           yes
ARM VFP enabled           yes

IWMMXT enabled            no
NEON enabled              no    这个怎么没有被启用呢????NEON 啊。。
debug symbols             no
optimize for size         yes   优化大小。
optimizations             yes

static                    yes
shared                    no
postprocessing support    yes   后处理,这个要,这个是软件的么??这是vlc的配置还是ffmpeg的呢???
threading support         pthreads


License: GPL version 2 or later

Creating config.mak and config.h...


继续编译postproc啊。。。为啥还要make install-libs install-headers 呢?

cd postproc && make install-libs install-headers
make[1]: Entering directory `/home/zhangbin/vlc/android/android/vlc/contrib/android/postproc'
CC libpostproc/postprocess.o
INSTALL libpostproc/postprocess.h

INSTALL libpostproc/libpostproc.pc

postproc是ffmpeg的,而且需要libav库的支持。

In file included from /home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi /include/libavutil/log.h:26:0,  头文件。
                 from /home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include /libavutil/avassert.h:32,
                 from libpostproc/postprocess.c:78:
/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include/libavutil/attributes.h:36:0: warning: "av_always_inline" redefined [enabled by default]
In file included from libpostproc/postprocess.c:76:0:
./config.h:14:0: note: this is the location of the previous definition
AR libpostproc/libpostproc.a  生成了这个静态库
INSTALL libpostproc/libpostproc.a
make[1]: Leaving directory `/home/zhangbin/vlc/android/android /vlc/contrib/android/postproc'   源码存放路径

touch .postproc  这是创建啥呢???


root@Ubuntu32:/home/zhangbin/vlc/android/android# apt-get install autopoint  安装autopoint 
Reading package lists... Done 
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  autopoint
0 upgraded, 1 newly installed, 0 to remove and 121 not upgraded.
Need to get 604 kB of archives.
After this operation, 684 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main autopoint all 0.18.1.1-5ubuntu3 [604 kB]
Fetched 604 kB in 3s (175 kB/s)    
Selecting previously unselected package autopoint.
(Reading database ... 175347 files and directories currently installed.)
Unpacking autopoint (from .../autopoint_0.18.1.1-5ubuntu3_all.deb) ...
Processing triggers for man-db ...

Setting up autopoint (0.18.1.1-5ubuntu3) ...



root@Ubuntu32:/home/zhangbin/vlc/android/android# apt-get install cmake  安装cmake
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  cmake-data emacsen-common libxmlrpc-core-c3
The following NEW packages will be installed:
  cmake cmake-data emacsen-common libxmlrpc-core-c3
0 upgraded, 4 newly installed, 0 to remove and 121 not upgraded.
Need to get 5,348 kB of archives.
After this operation, 13.9 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libxmlrpc-core-c3 i386 1.16.33-3.1ubuntu5.1 [179 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main emacsen-common all 1.4.22ubuntu1 [16.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main cmake-data all 2.8.7-0ubuntu5 [754 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main cmake i386 2.8.7-0ubuntu5 [4,399 kB]
Fetched 5,348 kB in 23s (227 kB/s)                                            
Selecting previously unselected package libxmlrpc-core-c3.
(Reading database ... 175354 files and directories currently installed.)
Unpacking libxmlrpc-core-c3 (from .../libxmlrpc-core-c3_1.16.33-3.1ubuntu5.1_i386.deb) ...
Selecting previously unselected package emacsen-common.
Unpacking emacsen-common (from .../emacsen-common_1.4.22ubuntu1_all.deb) ...
Selecting previously unselected package cmake-data.
Unpacking cmake-data (from .../cmake-data_2.8.7-0ubuntu5_all.deb) ...
Selecting previously unselected package cmake.
Unpacking cmake (from .../cmake_2.8.7-0ubuntu5_i386.deb) ...
Processing triggers for man-db ...
Setting up libxmlrpc-core-c3 (1.16.33-3.1ubuntu5.1) ...
Setting up emacsen-common (1.4.22ubuntu1) ...
emacsen-common: Handling install of emacsen flavor emacs
Setting up cmake-data (2.8.7-0ubuntu5) ...
emacsen-common: Handling install of emacsen flavor emacs
Setting up cmake (2.8.7-0ubuntu5) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

root@Ubuntu32:/home/zhangbin/vlc/android/android# 



root@Ubuntu32:/home/zhangbin/ffmpeg# apt-get install yasm  安装yasm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  yasm
0 upgraded, 1 newly installed, 0 to remove and 121 not upgraded.
Need to get 604 kB of archives.
After this operation, 1,667 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main yasm i386 1.1.0-1 [604 kB]
Fetched 604 kB in 4s (148 kB/s)
Selecting previously unselected package yasm.
(Reading database ... 176055 files and directories currently installed.)
Unpacking yasm (from .../archives/yasm_1.1.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up yasm (1.1.0-1) ...
root@Ubuntu32:/home/zhangbin/ffmpeg# 


================================================

vlc用的这个postproc不在ffmpeg中,看来这个ffmpeg比较老了。

VLC4Android 每次只编译一个库的原因,好像是缺少autopoint_第4张图片



新版的1.2是有的:

VLC4Android 每次只编译一个库的原因,好像是缺少autopoint_第5张图片


=========================================================================================

#!/bin/sh


if [ -z "$ANDROID_NDK" -o -z "$ANDROID_ABI" ]; then
    echo "Please set the ANDROID_NDK environment variable with its path.\n"
    echo "ANDROID_ABI should match your ABI: armeabi-v7a, armeabi or ..."
    exit 1
fi


# Must use android-9 here. Any replacement functions needed are in the vlc-android/jni  必须是9,函数都在 vlc-android/jni  中。
# folder.
ANDROID_API=android-9  这个是指啥


VLC_SOURCEDIR=..   VLC源码目录


CFLAGS="-g -O2 -fstrict-aliasing -funsafe-math-optimizations"
if [ -n "$HAVE_ARM" ]; then
    CFLAGS="${CFLAGS} -mlong-calls"     ARM平台的话,编译选项如下。
fi


LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined"   链接选项。


if [ -n "$HAVE_ARM" ]; then
    if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then      ARMV7A是有neon的,链接是呀有a8这样的。
        EXTRA_PARAMS=" --enable-neon"
        LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
    fi
fi


CPPFLAGS="-I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/include -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}/include"
LDFLAGS="$LDFLAGS -L${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}"


SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-$PLATFORM_SHORT_ARCH
ANDROID_BIN=`echo $ANDROID_NDK/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/\`uname|tr A-Z a-z\`-*/bin/`
CROSS_COMPILE=${ANDROID_BIN}/${TARGET_TUPLE}-


CPPFLAGS="$CPPFLAGS" \
CFLAGS="$CFLAGS ${VLC_EXTRA_CFLAGS}" \
CXXFLAGS="$CFLAGS" \
LDFLAGS="$LDFLAGS" \
CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \
CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}" \
NM="${CROSS_COMPILE}nm" \
STRIP="${CROSS_COMPILE}strip" \
RANLIB="${CROSS_COMPILE}ranlib" \
AR="${CROSS_COMPILE}ar" \
sh $VLC_SOURCEDIR/configure --host=$TARGET_TUPLE --build=x86_64-unknown-linux $EXTRA_PARAMS \   这到底是啥意思。
                --enable-live555 --enable-realrtsp \

                --enable-avformat \
                --enable-swscale \
                --enable-avcodec \
                --enable-opus \
                --enable-opensles \
                --enable-android-surface \
                --enable-mkv \
                --enable-taglib \
                --enable-dvbpsi \
                --disable-vlc --disable-shared \  禁用掉vlc??
                --disable-update-check \
                --disable-vlm \
                --disable-dbus \
                --disable-lua \
                --disable-vcd \
                --disable-v4l2 \  不支持摄像头啊。
                --disable-gnomevfs \
                --disable-dvdread \
                --disable-dvdnav \
                --disable-bluray \       不支持蓝光。
                --disable-linsys \
                --disable-decklink \
                --disable-libva \
                --disable-dv1394 \
                --disable-mod \
                --disable-sid \
                --disable-gme \
                --disable-tremor \
                --disable-mad \
                --disable-dca \
                --disable-sdl-image \
                --disable-zvbi \
                --disable-fluidsynth \
                --disable-jack \
                --disable-pulse \
                --disable-alsa \
                --disable-samplerate \
                --disable-sdl \
                --disable-xcb \
                --disable-atmo \
                --disable-qt \
                --disable-skins2 \
                --disable-mtp \
                --disable-notify \
                --enable-libass \
                --disable-svg \
                --disable-sqlite \
                --disable-udev \
                --enable-libxml2 \
                --disable-caca \
                --disable-glx \
                --disable-egl \
                --disable-goom \
                --disable-projectm \
                --disable-sout \          这是啥?
                --disable-vorbis \
                --disable-faad \
                --disable-x264 \
                --disable-schroedinger --disable-dirac \
                $*


你可能感兴趣的:(Android)