Skip to content

Instantly share code, notes, and snippets.

@yourtion
Last active November 2, 2016 15:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yourtion/dde3dbe1b156e63969c626f5e9b5e4fc to your computer and use it in GitHub Desktop.
Save yourtion/dde3dbe1b156e63969c626f5e9b5e4fc to your computer and use it in GitHub Desktop.

编辑ffmpeg文件夹下面的configure文件,找到

SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'

将其修改成:

SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'

Neon:

--extra-cflags="-fPIC -DANDROID -mfpu=neon -mfloat-abi=softfp -I$NDKROOT/platforms/android-9/arch-arm/usr/include" \
--enable-asm \
--enable-neon \
#!/bin/bash
#Change NDK to your Android NDK location
export NDK=/home/chen/Download/android-ndk-r13
export PLATFORM=$NDK/platforms/android-21/arch-arm64/
export PREBUILT=$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64
export PREFIX=./android/arm64-v8a
echo start make clean
make clean
echo finish clean
echo start configure
./configure \
--logfile=conflog.txt \
--target-os=linux \
--prefix=$PREFIX
--enable-small \
--enable-cross-compile \
--extra-libs="-lgcc" \
--arch=aarch64 \
--cc=$PREBUILT/bin/aarch64-linux-android-gcc \
--cross-prefix=$PREBUILT/bin/aarch64-linux-android- \
--nm=$PREBUILT/bin/aarch64-linux-android-nm \
--sysroot=$PLATFORM \
--extra-cflags="-DANDROID" \
--extra-ldflags=" -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" \
--enable-shared \
--disable-static \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-debug \
--disable-doc \
--enable-zlib \
--enable-gpl
echo finish configure
make -j4
make install
echo Android ARM64 builds finished
#!/bin/bash
#Change NDK to your Android NDK location
export NDK=/home/chen/Download/android-ndk-r13
export PLATFORM=$NDK/platforms/android-18/arch-arm/
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export PREFIX=./android/armeabi-v7a
echo start make clean
make clean
echo finish clean
echo start configure
./configure \
--logfile=conflog.txt \
--target-os=linux \
--prefix=$PREFIX
--enable-small \
--enable-cross-compile \
--extra-libs="-lgcc" \
--arch=arm \
--cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
--nm=$PREBUILT/bin/arm-linux-androideabi-nm \
--sysroot=$PLATFORM \
--extra-cflags="-DANDROID" \
--extra-ldflags=" -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" \
--enable-shared \
--disable-static \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-debug \
--disable-doc \
--enable-zlib \
--enable-gpl
echo finish configure
make -j4
make install
echo Android ARMv7-a builds finished
#!/bin/bash
#Change NDK to your Android NDK location
export NDK=/home/chen/Download/android-ndk-r13
export PLATFORM=$NDK/platforms/android-21/arch-arm/
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export PREFIX=./android/armeabi
echo start make arch-arm clean
make clean
echo finish clean
echo start configure arch-arm
./configure \
--logfile=conflog.txt \
--target-os=linux \
--prefix=$PREFIX
--enable-small \
--enable-cross-compile \
--extra-libs="-lgcc" \
--arch=arm \
--cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
--nm=$PREBUILT/bin/arm-linux-androideabi-nm \
--sysroot=$PLATFORM \
--extra-cflags="-DANDROID" \
--extra-ldflags=" -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog -lz" \
--enable-shared \
--disable-static \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-debug \
--disable-doc \
--enable-zlib \
--enable-gpl
echo finish configure
make -j4
make install
echo Android ARMEABI builds finished
#!/bin/bash
#Change NDK to your Android NDK location
NDK=/home/chen/Download/android-ndk-r13
PLATFORM=$NDK/platforms/android-18/arch-mips/
PREBUILT=$NDK/toolchains/mipsel-linux-android-4.9/prebuilt/linux-x86_64
GENERAL="\
--enable-small \
--enable-cross-compile \
--extra-libs="-lgcc" \
--cc=$PREBUILT/bin/mipsel-linux-android-gcc \
--cross-prefix=$PREBUILT/bin/mipsel-linux-android- \
--nm=$PREBUILT/bin/mipsel-linux-android-nm \
--extra-cflags="-I../x264/android/mips/include" \
--extra-ldflags="-L../x264/android/mips/lib""
MODULES="\
--enable-gpl \
--enable-libx264"
function build_mips
{
./configure \
--logfile=conflog.txt \
--target-os=linux \
--prefix=./android/mips \
--arch=mips \
${GENERAL} \
--sysroot=$PLATFORM \
--enable-shared \
--disable-static \
--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu \
--extra-ldflags="-lx264 -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" \
--enable-zlib \
--disable-doc \
${MODULES}
make clean
make
make install
}
build_mips
echo Android MIPS builds finished
#!/bin/bash
#Change NDK to your Android NDK location
NDK=/Users/yesimroy/Library/Android/sdk/ndk-bundle
PLATFORM=$NDK/platforms/android-18/arch-x86/
PREBUILT=$NDK/toolchains/x86-4.9/prebuilt/darwin-x86_64
PATH_X264=../x264
GENERAL="\
--enable-small \
--enable-cross-compile \
--extra-libs="-lgcc" \
--cc=$PREBUILT/bin/i686-linux-android-gcc \
--cross-prefix=$PREBUILT/bin/i686-linux-android- \
--nm=$PREBUILT/bin/i686-linux-android-nm \
--extra-cflags="-I../x264/android/x86/include" \
--extra-ldflags="-L../x264/android/x86/lib""
MODULES="\
--enable-gpl \
--enable-libx264"
function build_x86
{
./configure \
--logfile=conflog.txt \
--target-os=linux \
--prefix=./android/x86 \
--arch=x86 \
${GENERAL} \
--sysroot=$PLATFORM \
--extra-cflags=" -O3 -DANDROID -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -fomit-frame-pointer -march=k8" \
--enable-shared \
--disable-static \
--extra-cflags="-march=i686 -mtune=intel -mssse3 -mfpmath=sse -m32" \
--extra-ldflags="-lx264 -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" \
--enable-zlib \
--disable-doc \
${MODULES}
make clean
make
make install
}
build_x86
echo Android X86 builds finished
#!/bin/bash
#Change NDK to your Android NDK location
NDK=/Users/yesimroy/Library/Android/sdk/ndk-bundle
PLATFORM=$NDK/platforms/android-21/arch-x86_64/
PREBUILT=$NDK/toolchains/x86_64-4.9/prebuilt/darwin-x86_64
GENERAL="\
--enable-small \
--enable-cross-compile \
--extra-libs="-lgcc" \
--cc=$PREBUILT/bin/x86_64-linux-android-gcc \
--cross-prefix=$PREBUILT/bin/x86_64-linux-android- \
--nm=$PREBUILT/bin/x86_64-linux-android-nm \
--extra-cflags="-I../x264/android/x86_64/include" \
--extra-ldflags="-L../x264/android/x86_64/lib" "
MODULES="\
--enable-gpl \
--enable-libx264"
function build_x86_64
{
./configure \
--logfile=conflog.txt \
--target-os=linux \
--prefix=./android/x86_64 \
--arch=x86_64 \
${GENERAL} \
--sysroot=$PLATFORM \
--extra-cflags="-march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel" \
--enable-shared \
--disable-static \
--extra-ldflags="-lx264 -Wl,-rpath-link=$PLATFORM/usr/lib64 -L$PLATFORM/usr/lib64 -nostdlib -lc -lm -ldl -llog" \
--enable-zlib \
--disable-doc \
${MODULES}
make clean
make
make install
}
build_x86_64
echo Android X86_64 builds finished
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment