annotate ffmpeg/tools/build_libstagefright @ 13:844d341cf643 tip

Back up before ISMIR
author Yading Song <yading.song@eecs.qmul.ac.uk>
date Thu, 31 Oct 2013 13:17:06 +0000
parents f445c3017523
children
rev   line source
yading@11 1 #!/bin/bash
yading@11 2
yading@11 3 if [ "$NDK" = "" ]; then
yading@11 4 echo NDK variable not set, assuming ${HOME}/android-ndk
yading@11 5 export NDK=${HOME}/android-ndk
yading@11 6 fi
yading@11 7
yading@11 8 echo "Fetching Android system headers"
yading@11 9 git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_frameworks_base.git ../android-source/frameworks/base
yading@11 10 git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_system_core.git ../android-source/system/core
yading@11 11
yading@11 12 echo "Fetching Android libraries for linking"
yading@11 13 # Libraries from any froyo/gingerbread device/emulator should work
yading@11 14 # fine, since the symbols used should be available on most of them.
yading@11 15 if [ ! -d "../android-libs" ]; then
yading@11 16 if [ ! -f "../update-cm-7.0.3-N1-signed.zip" ]; then
yading@11 17 wget http://download.cyanogenmod.com/get/update-cm-7.0.3-N1-signed.zip -P../
yading@11 18 fi
yading@11 19 unzip ../update-cm-7.0.3-N1-signed.zip system/lib/* -d../
yading@11 20 mv ../system/lib ../android-libs
yading@11 21 rmdir ../system
yading@11 22 fi
yading@11 23
yading@11 24
yading@11 25 SYSROOT=$NDK/platforms/android-9/arch-arm
yading@11 26 # Expand the prebuilt/* path into the correct one
yading@11 27 TOOLCHAIN=`echo $NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/*-x86`
yading@11 28 export PATH=$TOOLCHAIN/bin:$PATH
yading@11 29 ANDROID_SOURCE=../android-source
yading@11 30 ANDROID_LIBS=../android-libs
yading@11 31 ABI="armeabi-v7a"
yading@11 32
yading@11 33 rm -rf ../build/stagefright
yading@11 34 mkdir -p ../build/stagefright
yading@11 35
yading@11 36 DEST=../build/stagefright
yading@11 37 FLAGS="--target-os=linux --cross-prefix=arm-linux-androideabi- --arch=arm --cpu=armv7-a"
yading@11 38 FLAGS="$FLAGS --sysroot=$SYSROOT"
yading@11 39 FLAGS="$FLAGS --disable-avdevice --disable-decoder=h264 --disable-decoder=h264_vdpau --enable-libstagefright-h264"
yading@11 40
yading@11 41 EXTRA_CFLAGS="-I$ANDROID_SOURCE/frameworks/base/include -I$ANDROID_SOURCE/system/core/include"
yading@11 42 EXTRA_CFLAGS="$EXTRA_CFLAGS -I$ANDROID_SOURCE/frameworks/base/media/libstagefright"
yading@11 43 EXTRA_CFLAGS="$EXTRA_CFLAGS -I$ANDROID_SOURCE/frameworks/base/include/media/stagefright/openmax"
yading@11 44 EXTRA_CFLAGS="$EXTRA_CFLAGS -I$NDK/sources/cxx-stl/gnu-libstdc++/include -I$NDK/sources/cxx-stl/gnu-libstdc++/libs/$ABI/include"
yading@11 45
yading@11 46 EXTRA_CFLAGS="$EXTRA_CFLAGS -march=armv7-a -mfloat-abi=softfp -mfpu=neon"
yading@11 47 EXTRA_LDFLAGS="-Wl,--fix-cortex-a8 -L$ANDROID_LIBS -Wl,-rpath-link,$ANDROID_LIBS -L$NDK/sources/cxx-stl/gnu-libstdc++/libs/$ABI"
yading@11 48 EXTRA_CXXFLAGS="-Wno-multichar -fno-exceptions -fno-rtti"
yading@11 49 DEST="$DEST/$ABI"
yading@11 50 FLAGS="$FLAGS --prefix=$DEST"
yading@11 51
yading@11 52 mkdir -p $DEST
yading@11 53
yading@11 54 echo $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" --extra-cxxflags="$EXTRA_CXXFLAGS" > $DEST/info.txt
yading@11 55 ./configure $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" --extra-cxxflags="$EXTRA_CXXFLAGS" | tee $DEST/configuration.txt
yading@11 56 [ $PIPESTATUS == 0 ] || exit 1
yading@11 57 make clean
yading@11 58 make -j4 || exit 1