📄 build_ffmpeg_osx.sh
字号:
#!/bin/shcd ..if [ ! -d ffmpeg ]; then svn co -r7430 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg || exit 1ficd ffmpeg# the snow encoder is added since the i386 version can't be compiled without it, in r7430FLAGS="--disable-encoders --disable-decoders --disable-protocols --disable-muxers --disable-demuxers --disable-parsers --enable-decoder=mpeg1video --enable-encoder=mpeg1video --enable-encoder=mp2 --enable-muxer=mpeg1system --enable-encoder=snow"FLAGS="--enable-shared $FLAGS"./configure \ --arch=powerpc --cross-compile \ --extra-cflags="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc $EXTRA_CFLAGS" \ --extra-ldflags="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc $EXTRA_LDFLAGS" \ $FLAGS || exit 1[ -f .depend ] || make dependmake clean lib || exit 1cp libavcodec/libavcodec.a libavcodec/libavcodec.a.ppccp libavformat/libavformat.a libavformat/libavformat.a.ppccp libavutil/libavutil.a libavutil/libavutil.a.ppc[ -f libswscale/libswscale.a ] && cp libswscale/libswscale.a libswscale/libswscale.a.ppccp libavcodec/libavcodec.dylib libavcodec/libavcodec.dylib.ppccp libavformat/libavformat.dylib libavformat/libavformat.dylib.ppccp libavutil/libavutil.dylib libavutil/libavutil.dylib.ppc[ -f libswscale/libswscale.dylib ] && cp libswscale/libswscale.dylib libswscale/libswscale.dylib.ppc./configure \ --arch=x86_32 --cross-compile \ --extra-cflags="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 $EXTRA_CFLAGS" \ --extra-ldflags="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386 $EXTRA_LDFLAGS" \ $FLAGS || exit 1make clean lib || exit 1cp libavcodec/libavcodec.a libavcodec/libavcodec.a.i386cp libavformat/libavformat.a libavformat/libavformat.a.i386cp libavutil/libavutil.a libavutil/libavutil.a.i386[ -f libswscale/libswscale.a ] && cp libswscale/libswscale.a libswscale/libswscale.a.i386cp libavcodec/libavcodec.dylib libavcodec/libavcodec.dylib.i386cp libavformat/libavformat.dylib libavformat/libavformat.dylib.i386cp libavutil/libavutil.dylib libavutil/libavutil.dylib.i386[ -f libswscale/libswscale.dylib ] && cp libswscale/libswscale.dylib libswscale/libswscale.dylib.i386make clean(cd libavcodec && lipo -create -output libavcodec.a libavcodec.a.ppc libavcodec.a.i386 && ranlib libavcodec.a)(cd libavformat && lipo -create -output libavformat.a libavformat.a.ppc libavformat.a.i386 && ranlib libavformat.a)(cd libavutil && lipo -create -output libavutil.a libavutil.a.ppc libavutil.a.i386 && ranlib libavutil.a)[ -f libswscale/libswscale.a.ppc ] && (cd libswscale && lipo -create -output libswscale.a libswscale.a.ppc libswscale.a.i386 && ranlib libswscale.a)function fix_dylib { name=$1 if [ ! -f $name/$name.dylib.ppc ] ; then return fi lipo -create -output $name/$name.dylib $name/$name.dylib.ppc $name/$name.dylib.i386 PREFIX=@loader_path/../Frameworks install_name_tool -id $PREFIX/$name.dylib $name/$name.dylib install_name_tool -change /usr/local/lib/libavutil.dylib $PREFIX/libavutil.dylib $name/$name.dylib install_name_tool -change /usr/local/lib/libavcodec.dylib $PREFIX/libavcodec.dylib $name/$name.dylib install_name_tool -change /usr/local/lib/libavformat.dylib $PREFIX/libavformat.dylib $name/$name.dylib}fix_dylib libavutilfix_dylib libavcodecfix_dylib libavformatfix_dylib libswscale
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -