libmad-0.15.1b.tar.gz
1.
tar -zxvf libmad-0.15.1b.tar.gz && cd libmad-0.15.1b
./configure --enable-fpm=mips --host=mipsel-openwrt-linux --disable-shared --disable-debugging --prefix=/usr/local/mplayer_mipsel CC=mipsel-openwrt-linux-gcc
2.删除-fforce-mem
vi Makefile
移植
./configure --prefix=/usr/local/mplayer_mipsel --disable-broken-oss --enable-alsa-mmap --host=mipsel-openwrt-linux CC=mipsel-openwrt-linux-gcc --disable-esd --disable-arts --disable-nas --disable-pulse
参考
./configure --prefix=`pwd`/../_install/ao-1.2.0-op --disable-broken-oss --enable-alsa-mmap --host=mipsel-openwrt-linux CC=mipsel-openwrt-linux-gcc LIBS="-L/home/seven/work/mtk/mtk7620a/openwrt/rakHiveSDK/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/" CPPFLAGS="-I/home/seven/work/mtk/mtk7620a/openwrt/rakHiveSDK/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include" --disable-esd --disable-arts --disable-nas --disable-pulse
vi fixed.h
300 # elif defined(FPM_MIPS)
添加如下内容
/
/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
#if defined (__GNUC__) && defined (__GNUC_MINOR__)
#define __GNUC_PREREQ(maj, min) \
((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
#else
#define __GNUC_PREREQ(maj, min) 0
#endif
#if __GNUC_PREREQ(4,4)
typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
# define MAD_F_MLX(hi, lo, x, y) \
do { \
u64_di_t __ll = (u64_di_t) (x) * (y); \
hi = __ll >> 32; \
lo = __ll; \
} while (0)
#else
///
346 # define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo))
348 添加# endif
# if defined(OPT_SPEED)
vi mad.h
345 # elif defined(FPM_MIPS)
添加
/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
#if defined (__GNUC__) && defined (__GNUC_MINOR__)
#define __GNUC_PREREQ(maj, min) \
((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
#else
#define __GNUC_PREREQ(maj, min) 0
#endif
#if __GNUC_PREREQ(4,4)
typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
# define MAD_F_MLX(hi, lo, x, y) \
do { \
u64_di_t __ll = (u64_di_t) (x) * (y); \
hi = __ll >> 32; \
lo = __ll; \
} while (0)
#else
///
393
# if defined(OPT_SPEED)
添加
393 # endif
394 # if defined(OPT_SPEED)
编译mplayer
//error
./configure --cc=mipsel-openwrt-linux-gcc --target=mips-linux --prefix=/usr/local/mplayer_mipsel --disable-win32dll --disable-dvdread --disable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --language=zh_CN --with-extraincdir=/usr/local/mplayer_mipsel/include --with-extralibdir=/usr/local/mplayer_mipsel/lib --host-cc=gcc --enable-ossaudio
//ok here
./configure --host-cc=gcc --cc=mipsel-openwrt-linux-gcc --target=mips-linux --enable-static --prefix=/usr/local/mplayer_mipsel --disable-win32waveout --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --disable-ivtv --disable-tv --with-extraincdir=/usr/local/mplayer_mipsel/include --with-extralibdir=/usr/local/mplayer_mipsel/lib
//error
./configure --cc=mipsel-openwrt-linux-gcc --target=mips-linux --enable-static --prefix=/usr/local/mplayer_mipsel --disable-win32dll --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --disable-armv5te --disable-armv6 --language=zh_CN --with-extraincdir=/usr/local/mplayer_mipsel/include --with-extralibdir=/usr/local/mplayer_mipsel/lib --host-cc=gcc --enable-ossaudio --disable-ivtv --disable-tv
1.
修改
vi ./libavutil/bswap.h
#ifdef HAVE_BYTESWAP_H
改为
#if 1 //def HAVE_BYTESWAP_H
mipsel-openwrt-linux-gcc -o mplayer mplayer.o m_property.o mp_fifo.o mp_msg.o mixer.o parser-mpcmd.o subopt-helper.o command.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o get_path.o m_config.o m_option.o m_struct.o mpcommon.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subreader.o vobsub.o unrarlib.o libvo/libvo.a libao2/libao2.a input/libinput.a libmpcodecs/libmpcodecs.a libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libswscale/libswscale.a libvo/libosd.a libavformat/libavformat.a libavcodec/libavcodec.a libavutil/libavutil.a libpostproc/libpostproc.a liba52/liba52.a libmpeg2/libmpeg2.a libfaad2/libfaad2.a tremor/libvorbisidec.a dvdread/libdvdread.a libdvdcss/libdvdcss.a osdep/libosdep.a -Wl,-z,noexecstack,-Bdynamic -lgcc_s -lpthread -L/usr/local/mplayer_mipsel/lib -lmad -static -lm
将
EXTRA_LIB = -Wl,-z,noexecstack -L/usr/local/mplayer_mipsel/lib -lmad -static -lm
改为
EXTRA_LIB = -Wl,-z,noexecstack,-Bdynamic -lgcc_s -lpthread -L/usr/local/mplayer_mipsel/lib -lmad -static -lm
make clean && make
mipsel-openwrt-linux-gcc -o mplayer mplayer.o m_property.o mp_fifo.o mp_msg.o mixer.o parser-mpcmd.o subopt-helper.o command.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o get_path.o m_config.o m_option.o m_struct.o mpcommon.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subreader.o vobsub.o unrarlib.o libvo/libvo.a libao2/libao2.a input/libinput.a libmpcodecs/libmpcodecs.a libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libswscale/libswscale.a libvo/libosd.a libavformat/libavformat.a libavcodec/libavcodec.a libavutil/libavutil.a libpostproc/libpostproc.a liba52/liba52.a libmpeg2/libmpeg2.a libfaad2/libfaad2.a tremor/libvorbisidec.a dvdread/libdvdread.a libdvdcss/libdvdcss.a osdep/libosdep.a -Wl,-z,noexecstack,-Bdynamic -lgcc_s -L/usr/local/mplayer_mipsel/lib -lmad -static -lm -lpthread
./configure --host-cc=gcc --cc=mipsel-openwrt-linux-gcc --target=mips-linux --enable-static --prefix=/usr/local/mplayer_mipsel --disable-win32waveout --disable-dvdread --enable-fbdev --enable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --disable-ivtv --disable-tv --with-extraincdir=/usr/local/mplayer_mipsel/include --with-extralibdir=/usr/local/mplayer_mipsel/lib
mipsel-openwrt-linux-gcc -o md_op madop.c -lao -lpthread -lmad -I/usr/local/mplayer_mipsel/include -L/usr/local/mplayer_mipsel/lib
./configure --disable-mencoder --disable-lirc --disable-lircc --disable-apple-remote --disable-vm --disable-xf86keysym --disable-tv --disable-tv-v4l1 --disable-tv-v4l2 --disable-tv-bsdbt848 --disable-tv-teletext --disable-pvr --disable-dvdnav --disable-dvdread --disable-dvdread-internal --disable-libdvdcss-internal --disable-cdparanoia --disable-cddb --disable-sortsub --disable-macosx --disable-gif --disable-png --disable-fbdev --disable-directfb --disable-v4l2 --disable-x11 --disable-md5sum --disable-tga --disable-pnm --enable-alsa --cc=mipsel-openwrt-linux-gcc --host-cc=gcc --target=mips-linux --enable-static --language=zh_CN --disable-3dnow --disable-3dnowext --enable-debug --disable-mp3lib --enable-mad --disable-live --enable-libavcodec_a --with-extraincdir=/home/zhihao/work_place/mplayer/mplayer_mipsel/include --with-extralibdir=/home/zhihao/work_place/mplayer/mplayer_mipsel/lib --prefix=/home/zhihao/work_place/mplayer/mplayer_mipsel --disable-win32waveout