129 lines
3.4 KiB
Bash
129 lines
3.4 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
function build_one {
|
||
|
|
||
|
echo "Cleaning..."
|
||
|
make clean
|
||
|
|
||
|
echo "Configuring..."
|
||
|
|
||
|
./configure --target-os=linux \
|
||
|
--prefix=$PREFIX \
|
||
|
--enable-cross-compile \
|
||
|
--extra-libs="-lgcc" \
|
||
|
--arch=$ARCH \
|
||
|
--cc=$CC \
|
||
|
--cross-prefix=$CROSS_PREFIX \
|
||
|
--nm=$NM \
|
||
|
--sysroot=$PLATFORM \
|
||
|
--extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -fasm -Wno-psabi -fno-short-enums -Dipv6mr_interface=ipv6mr_ifindex -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " \
|
||
|
--disable-shared \
|
||
|
--enable-static \
|
||
|
--extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl" \
|
||
|
\
|
||
|
--disable-everything \
|
||
|
--disable-network \
|
||
|
--enable-small \
|
||
|
--enable-zlib \
|
||
|
--disable-avfilter \
|
||
|
--disable-avdevice \
|
||
|
--disable-programs \
|
||
|
--disable-doc \
|
||
|
--disable-lsp \
|
||
|
--disable-dwt \
|
||
|
--disable-dct \
|
||
|
--enable-stripping \
|
||
|
--disable-postproc \
|
||
|
--disable-fft \
|
||
|
--disable-lzo \
|
||
|
--disable-rdft \
|
||
|
--disable-mdct \
|
||
|
--disable-debug \
|
||
|
\
|
||
|
--enable-muxer='mp4' \
|
||
|
--enable-protocol='file' \
|
||
|
--enable-encoder='aac,mpeg4' \
|
||
|
--enable-decoder='aac,amrnb,amrwb,flv,h263,h264' \
|
||
|
--enable-demuxer='flv,mpegvideo,mov' \
|
||
|
--enable-hwaccel='mpeg4_vaapi,mpeg4_vdpau' \
|
||
|
--enable-swresample \
|
||
|
--enable-swscale \
|
||
|
--enable-asm \
|
||
|
$ADDITIONAL_CONFIGURE_FLAG
|
||
|
|
||
|
echo "continue?"
|
||
|
read
|
||
|
make -j8 install
|
||
|
|
||
|
#$AR d libavcodec/libavcodec.a inverse.o
|
||
|
|
||
|
#$LD -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffmpeg.a -static -nostdlib -z noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a -lc -lm -lz -ldl --dynamic-linker=/system/bin/linker $GCCLIB
|
||
|
|
||
|
}
|
||
|
|
||
|
NDK=/Users/DrKLO/ndk9
|
||
|
|
||
|
#arm platform
|
||
|
PLATFORM=$NDK/platforms/android-8/arch-arm
|
||
|
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64
|
||
|
LD=$PREBUILT/bin/arm-linux-androideabi-ld
|
||
|
AR=$PREBUILT/bin/arm-linux-androideabi-ar
|
||
|
NM=$PREBUILT/bin/arm-linux-androideabi-nm
|
||
|
GCCLIB=$PREBUILT/lib/gcc/arm-linux-androideabi/4.8/libgcc.a
|
||
|
ARCH=arm
|
||
|
CC=$PREBUILT/bin/arm-linux-androideabi-gcc
|
||
|
CROSS_PREFIX=$PREBUILT/bin/arm-linux-androideabi-
|
||
|
|
||
|
#arm v6
|
||
|
CPU=armv6
|
||
|
OPTIMIZE_CFLAGS="-marm -march=$CPU"
|
||
|
PREFIX=/Users/DrKLO/ndk9/platforms/android-9/arch-$ARCH/usr
|
||
|
ADDITIONAL_CONFIGURE_FLAG=
|
||
|
build_one
|
||
|
|
||
|
#arm v7vfpv3
|
||
|
#CPU=armv7-a
|
||
|
#OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU "
|
||
|
#PREFIX=./android/$CPU
|
||
|
#ADDITIONAL_CONFIGURE_FLAG=
|
||
|
#build_one
|
||
|
|
||
|
#arm v7vfp
|
||
|
#CPU=armv7-a
|
||
|
#OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
|
||
|
#PREFIX=./android/$CPU-vfp
|
||
|
#ADDITIONAL_CONFIGURE_FLAG=
|
||
|
#build_one
|
||
|
|
||
|
#arm v7n
|
||
|
#CPU=armv7-a
|
||
|
#OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -march=$CPU -mtune=cortex-a8"
|
||
|
#PREFIX=./android/$CPU
|
||
|
#ADDITIONAL_CONFIGURE_FLAG=--enable-neon
|
||
|
#build_one
|
||
|
|
||
|
#arm v6+vfp
|
||
|
#CPU=armv6
|
||
|
#OPTIMIZE_CFLAGS="-DCMP_HAVE_VFP -mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU"
|
||
|
#PREFIX=./android/${CPU}_vfp
|
||
|
#ADDITIONAL_CONFIGURE_FLAG=
|
||
|
#build_one
|
||
|
|
||
|
#x86 platform
|
||
|
PLATFORM=$NDK/platforms/android-9/arch-x86
|
||
|
PREBUILT=$NDK/toolchains/x86-4.8/prebuilt/darwin-x86_64
|
||
|
LD=$PREBUILT/bin/i686-linux-android-ld
|
||
|
AR=$PREBUILT/bin/i686-linux-android-ar
|
||
|
NM=$PREBUILT/bin/i686-linux-android-nm
|
||
|
GCCLIB=$PREBUILT/lib/gcc/i686-linux-android/4.8/libgcc.a
|
||
|
ARCH=x86
|
||
|
CC=$PREBUILT/bin/i686-linux-android-gcc
|
||
|
CROSS_PREFIX=$PREBUILT/bin/i686-linux-android-
|
||
|
|
||
|
CPU=i686
|
||
|
OPTIMIZE_CFLAGS="-march=$CPU"
|
||
|
PREFIX=/Users/DrKLO/ndk9/platforms/android-9/arch-$ARCH/usr
|
||
|
ADDITIONAL_CONFIGURE_FLAG="--disable-mmx --disable-yasm"
|
||
|
build_one
|
||
|
|