How to compile MPlayer for WIN32 using MinGW
Milen Manev <[email protected]> Mon, 16 Mar 2009 14:10:04 +0200
| Newsgroups | gmane.comp.video.mplayer.cygwin |
|---|---|
| Message-ID | <[email protected]> |
Hi all, http://www.mplayerhq.hu/MPlayer/contrib/win32/MPlayer-MinGW-Howto.txt is quite old. No one update it. There are many places where pre-compiled version of MPlayer for Windows can be found. But I found nowhere "How To", moreover in these versions there is no support for cdda and dvdnav. That is why i decided to write this article. How to compile MPlayer for WIN32 using MinGW I. Install MinGW/MSYS Get following packages from: http://sourceforge.net/project/showfiles.php?group_id=2435 gcc-core-3.4.5-20060117-3.tar.gz gcc-g++-3.4.5-20060117-3.tar.gz binutils-2.19.1-mingw32-bin.tar.gz gdb-6.8-mingw-3.tar.bz2 mingw32-make-3.81-20080326-3.tar.gz mingw-runtime-3.14.tar.gz mingw-utils-0.3.tar.gz w32api-3.13-mingw32-dev.tar.gz msysCORE-1.0.11-20080826.tar.gz MSYS-1.0.11-20090120-dll.tar.gz tar-1.19.90-MSYS-1.0.11-2-bin.tar.gz findutils-4.3.0-MSYS-1.0.11-3-bin.tar.gz autoconf2.5-2.61-1-bin.tar.bz2 autoconf-4-1-bin.tar.bz2 automake1.9-1.9.6-2-bin.tar.bz2 automake-3-1-bin.tar.bz2 bison-2.3-MSYS-1.0.11-1.tar.bz2 crypt-1.1-1-MSYS-1.0.11-1.tar.bz2 libtool1.5-1.5.25a-1-bin.tar.bz2 libtool1.5-1.5.25a-1-dll.tar.bz2 perl-5.6.1-MSYS-1.0.11-1.tar.bz2 Important: - Do not take mingw-runtime-3.15 because mplayer liba52 crashes. - automake1.9 is required by faac. Use it instead of automake1.10 - I have problems with compilation using gcc 4.3.0. MPlayer can't link static pthreads. 1) creare folder c:\MinGW 2) Extract: gcc-core-3.4.5-20060117-3.tar.gz gcc-g++-3.4.5-20060117-3.tar.gz binutils-2.19.1-mingw32-bin.tar.gz gdb-6.8-mingw-3.tar.bz2 mingw32-make-3.81-20080326-3.tar.gz mingw-runtime-3.14.tar.gz mingw-utils-0.3.tar.gz w32api-3.13-mingw32-dev.tar.gz in folder c:\MinGW 3) Create folder msys\1.0.11 in c:\MinGW 4) Extract: msysCORE-1.0.11-20080826.tar.gz MSYS-1.0.11-20090120-dll.tar.gz tar-1.19.90-MSYS-1.0.11-2-bin.tar.gz findutils-4.3.0-MSYS-1.0.11-3-bin.tar.gz autoconf2.5-2.61-1-bin.tar.bz2 autoconf-4-1-bin.tar.bz2 automake1.9-1.9.6-2-bin.tar.bz2 automake-3-1-bin.tar.bz2 bison-2.3-MSYS-1.0.11-1.tar.bz2 crypt-1.1-1-MSYS-1.0.11-1.tar.bz2 libtool1.5-1.5.25a-1-bin.tar.bz2 libtool1.5-1.5.25a-1-dll.tar.bz2 perl-5.6.1-MSYS-1.0.11-1.tar.bz2 in c:\MinGW\msys\1.0.11 5) create folder mingw in c:\MinGW\msys\1.0.11 6) Move folder c:\MinGW\msys\1.0.11\usr\local to c:\MinGW\msys\1.0.11 - do not remove folder usr even it is empty 7) create file fstab in folder c:\MinGW\msys\1.0.11\ using example file c:\MinGW\msys\1.0.11\fstab.sample II. Running MSYS. Start c:\MinGW\msys\1.0.11\msys.bat Folder c:\MinGW\msys\1.0.11\home\yourname will be created for you III. Compilation of packages 1) To compile packages in your home folder (without spoil MinGW/MSYS) following folders must be created: - /home/yourname/bin - /home/yourname/lib - /home/yourname/include - /home/yourname/man/man1 Start c:\MinGW\msys\1.0.11\msys.bat and create folders using mkdir ..... 2) Export following variables: export PATH="$PATH:/home/yourname/bin" export CPPFLAGS="$CPPFLAGS -I/home/yourname/include" export LDFLAGS="$LDFLAGS -L/home/yourname/lib" 3) To enable DirectX support extract dx7headers.tgz from http://www.mplayerhq.hu/MPlayer/contrib/win32/ to /home/yourname/include 4) To enable 64 bit file support patch MinGW with following patch file64_mingw.diff from http://oss.netfarm.it/mplayer/misc/file64_mingw.diff 5) Here is the list of packages that will be used: http://www.gnu.org/software/libiconv/ libiconv-1.12.tar.gz http://pkg-config.freedesktop.org/wiki/ pkg-config-0.23.tar.gz http://sourceware.org/pthreads-win32/announcement.html pthreads-w32-2-8-0-release.tar.gz http://www.videolan.org/developers/libdca.html libdca-0.0.5.tar.bz2 http://www.underbit.com/products/mad/ libmad-0.15.1b.tar.gz http://www.oberhumer.com/opensource/lzo/download/ lzo-2.03.tar.gz http://sourceforge.net/projects/faac faac-1.28.tar.bz2 http://www.musepack.net/index.php?pg=src libmpcdec-1.2.6.tar.bz2 http://downloads.xiph.org/releases/ogg/ libogg-1.1.3.tar.gz http://downloads.xiph.org/releases/vorbis/ libvorbis-1.2.0.tar.bz2 http://downloads.xiph.org/releases/theora/ libtheora-1.0beta3.tar.bz2 http://www.speex.org/downloads/ speex-1.2rc1.tar.gz http://sourceforge.net/projects/freetype/ freetype-2.3.8.tar.bz2 http://www.zlib.net/ zlib-1.2.3.tar.bz2 http://www.bzip.org/index.html bzip2-1.0.5.tar.gz http://sourceforge.net/projects/libpng/ libpng-1.2.35.tar.bz2 http://www.littlecms.com/ lcms-1.17.tar.gz http://www.ijg.org/ jpegsrc.v6b.tar.gz http://www.libpng.org/pub/mng/ libmng-1.0.10.tar.bz2 http://sourceforge.net/projects/giflib/ libungif-4.1.4.tar.bz2 http://sourceforge.net/projects/nasm/ nasm-2.05.01.tar.bz2 http://www.tortall.net/projects/yasm/ yasm-0.7.2.tar.gz http://lame.sourceforge.net/download/download.html lame-398-2.tar.gz http://www.twolame.org/ twolame-0.3.12.tar.gz http://www.xvid.org/downloads.html xvidcore-1.2.1.tar.gz http://www.videolan.org/developers/x264.html x264-snapshot-YYYYMMDD-2245.tar.bz2 http://www.live555.com/liveMedia/ live.YYYY.MM.DD.tar.gz http://libcaca.zoy.org/download.html libcaca-0.99.beta16.tar.gz http://fribidi.freedesktop.org/wiki/ fribidi-0.10.9.tar.gz http://www.gnu.org/software/libcdio/ libcdio-0.81.tar.gz http://libdv.sourceforge.net/ libdv-1.0.0.tar.gz http://www.penguin.cz/~utx/amr amrnb-7.0.0.2.tar.bz2 http://www.3gpp.org/ftp/Specs/html-info/26104.htm 26104-800.zip . http://www.penguin.cz/~utx/amr amrwb-7.0.0.3.tar.bz2 http://www.3gpp.org/ftp/Specs/html-info/26204.htm 26204-800.zip . http://www.nut-container.org/ svn checkout svn://svn.mplayerhq.hu/nut/trunk nut http://diracvideo.org/ dirac-1.0.2.tar.gz http://liboil.freedesktop.org/wiki/ liboil-0.3.15.tar.gz http://diracvideo.org/download/schroedinger/ schroedinger-1.0.5.tar.gz http://expat.sourceforge.net/ expat-2.0.1.tar.gz http://fontconfig.org/wiki/ fontconfig-2.6.0.tar.gz 6) All packages will be compiled with static linking. Standard procedure for compilation is: ./configure --prefix=/home/yourname --disable-shared --with-extraincdir=/home/yourname/include --extralibdir=/home/yourname/lib make make install 7) Specifics and patches To compile packages with MinGW sometimes pathes are needed. In this section specific compilation of some packages is described: - libiconv - replace $(PACKAGE_VERSION) with hard coded version (libiconv-1.12.diff) - pkg-config - link with -lwsock32 and to change -lglib-2.0 with -lglib (pkg-config-0.22.diff) - libtheora - stddef.h has to be included to have definition of size_t (libtheora-1.0beta3.diff) - bzip2 - add .exe to executable files (bzip2-1.0.5.diff) - libmng - enable lcms (libmng-1.0.10.diff) - linungif - do not compile utils (libungif-4.1.4.diff) - libtwolame - enable static linking (twolame-static-0.3.9.diff) - fribidi - enable static linking + use of time.h insted of sys/times.h (fribidi-0.10.9.diff) - libcdio - time functions fixes (libcdio-0.81.diff) - libdv - disable test programs and players (libdv-1.0.0.diff) - amr - update amr to 8.0 and disable downloading of packages (amrnb-7.0.0.2.diff, amrwb-7.0.0.3.diff) - nut - 64 bit file access (nut-SVN-r517.diff) - fontconfig - remove dll from library file names (fontconfig-2.6.0.diff) - glib - make manual install: a) copy glib.h glibconfig.h to /home/yourname/include b) copy .libs/*.* to /home/yourname/lib - pkg-config - after compiling execute: export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/yourname/lib/pkgconfig/" - pthreads - make manula install: a) copy libpthreadGC2.a to /home/yourname/lib b) copy pthread.h and sched.h /home/yourname/include/ - libmpcdec - manual copy of header files from include/mpcdec/*.h to /home/yourname/include/mpcdec - bzip2 - install using make install PREFIX=/home/yourname - jpeg - make manual install a) copy .libs/libjpeg.a to /home/yourname/lib/ b) copy jpeglib.h jconfig.h jmorecfg.h to /home/yourname/include/ - libmng - install using make install INSTALL_PREFIX=/home/yourname/ - do not forget / and the end of /home/yourname - xvid - rename /home/yourname/lib/xvidcore.a to /home/yourname/lib/libxvidcore.a - live a) set compiler to gcc b) after compiling copy live folder to /home/yourname/lib/ - nut - make manual install a) copy libnut/libnut.h /home/yourname/include b) copy libnut/libnut.a /home/yourname/lib IV. Compiling MPlayer Get latest sources from SVN svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer or daily snapshot http://www.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2 Patch Mplayer with xx_pthread_static.diff from http://oss.netfarm.it/mplayer/patches/xx_pthread_static.diff and xx_fontconfig_check.diff from http://oss.netfarm.it/mplayer/patches/xx_fontconfig_check.diff to have pthreads linked static and fontconfig linked. Configure using: ./configure --prefix=/home/yourname --enable-static --with-extralibdir=/home/yourname/lib --with-extraincdir=/home/yourname/include --enable-mng --disable-tremor-internal --enable-caca Then make and install. V. Running MPlayer When run MPlayer for the first time folder mplayer will be created. Copy configuration files from mplayer source/etc/ to this folder. VI Extras 1) Attached script InstallMinGW.bat do all things described in section I To run the script you will need 7za.exe - command line version of 7zip, which can be found here: http://downloads.sourceforge.net/sevenzip/7za465.zip. Put 7za.exe in the same folder as MinGW/MSYS packages. Example: To install MinGW/MSYS in folder c:\MinGW if packages are downloaded in c:\Install\MinGW and c:\Temp is used as TEMP folder call: InstallMinGW.bat c:\Install\MinGW c:\Temp c:\MinGW c:/MinGW 4-th parameter is the same as 3-rd but "\" is changed with "/" 2) Attached script InstallMplayer.sh do all things described in section III and IV Example: To compile MPlayer in your home folder and source packages in c:\Install\Mplayer call: InstallMPlayer.sh /home/yourname /home/yourname /c/Install/MPlayer For this you will need also unzip.exe from info-zip - ftp:/tug.ctan.org/tex-archive/tools/zip/info-zip/WIN32/unz552xN.exe Do not forget to get latest x264, live and mplayer P.S. Remove .txt from names of attachment files InstallMPlayer.sh.txt and InstallMinGW.bat.txt. -- Milen Manev _______________________________________________ MPlayer-cygwin mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin
InstallMinGW.bat.txt
(text/plain, 5.1 KB)
: %1 - where are archives : %2 - temp directory : %4 - where to install : %4 - where to map /mingw : http://downloads.sourceforge.net/sevenzip/7za465.zip : extract 7az.exe in folder with MinGW/MSYS archives :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82723 %1\7za x -y %1\gcc-core-3.4.5-20060117-3.tar.gz -o%2 %1\7za x -y %2\gcc-core-3.4.5-20060117-3.tar -o%3 del %2\gcc-core-3.4.5-20060117-3.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82723 %1\7za x -y %1\gcc-g++-3.4.5-20060117-3.tar.gz -o%2 %1\7za x -y %2\gcc-g++-3.4.5-20060117-3.tar -o%3 del %2\gcc-g++-3.4.5-20060117-3.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=11290 %1\7za x -y %1\binutils-2.19.1-mingw32-bin.tar.gz -o%2 %1\7za x -y %2\binutils-2.19.1-mingw32-bin.tar -o%3 del %2\binutils-2.19.1-mingw32-bin.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=20507 %1\7za x -y %1\gdb-6.8-mingw-3.tar.bz2 -o%2 %1\7za x -y %2\gdb-6.8-mingw-3.tar -o%3 del %2\gdb-6.8-mingw-3.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=23918 %1\7za x -y %1\mingw32-make-3.81-20080326-3.tar.gz -o%2 %1\7za x -y %2\mingw32-make-3.81-20080326-3.tar -o%3 del %2\mingw32-make-3.81-20080326-3.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=11598 : Do not use 3.15 because liba52 crashes %1\7za x -y %1\mingw-runtime-3.14.tar.gz -o%2 %1\7za x -y %2\mingw-runtime-3.14.tar -o%3 del %2\mingw-runtime-3.14.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=61599 %1\7za x -y %1\mingw-utils-0.3.tar.gz -o%2 %1\7za x -y %2\mingw-utils-0.3.tar -o%3 del %2\mingw-utils-0.3.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=11550 %1\7za x -y %1\w32api-3.13-mingw32-dev.tar.gz -o%2 %1\7za x -y %2\w32api-3.13-mingw32-dev.tar -o%3 del %2\w32api-3.13-mingw32-dev.tar mkdir %3\msys mkdir %3\msys\1.0.11 :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963 %1\7za x -y %1\msysCORE-1.0.11-20080826.tar.gz -o%2 %1\7za x -y %2\msysCORE-1.0.11-20080826.tar -o%3\msys\1.0.11 del %2\msysCORE-1.0.11-20080826.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963 %1\7za x -y %1\MSYS-1.0.11-20090120-dll.tar.gz -o%2 %1\7za x -y %2\MSYS-1.0.11-20090120-dll.tar -o%3\msys\1.0.11 del %2\MSYS-1.0.11-20090120-dll.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963 %1\7za x -y %1\tar-1.19.90-MSYS-1.0.11-2-bin.tar.gz -o%2 %1\7za x -y %2\tar-1.19.90-MSYS-1.0.11-2-bin.tar -o%3\msys\1.0.11 del %2\tar-1.19.90-MSYS-1.0.11-2-bin.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963 %1\7za x -y %1\findutils-4.3.0-MSYS-1.0.11-3-bin.tar.gz -o%2 %1\7za x -y %2\findutils-4.3.0-MSYS-1.0.11-3-bin.tar -o%3\msys\1.0.11 del %2\findutils-4.3.0-MSYS-1.0.11-3-bin.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 %1\7za x -y %1\autoconf2.5-2.61-1-bin.tar.bz2 -o%2 %1\7za x -y %2\autoconf2.5-2.61-1-bin.tar -o%3\msys\1.0.11 del %2\autoconf2.5-2.61-1-bin.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 %1\7za x -y %1\autoconf-4-1-bin.tar.bz2 -o%2 %1\7za x -y %2\autoconf-4-1-bin.tar -o%3\msys\1.0.11 del %2\autoconf-4-1-bin.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 : Because of faac compilation install automake1.9 instead of automake1.10 %1\7za x -y %1\automake1.9-1.9.6-2-bin.tar.bz2 -o%2 %1\7za x -y %2\automake1.9-1.9.6-2-bin.tar -o%3\msys\1.0.11 del %2\automake1.9-1.9.6-2-bin.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 %1\7za x -y %1\automake-3-1-bin.tar.bz2 -o%2 %1\7za x -y %2\automake-3-1-bin.tar -o%3\msys\1.0.11 del %2\automake-3-1-bin.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 %1\7za x -y %1\bison-2.3-MSYS-1.0.11-1.tar.bz2 -o%2 %1\7za x -y %2\bison-2.3-MSYS-1.0.11-1.tar -o%3\msys\1.0.11 del %2\bison-2.3-MSYS-1.0.11-1.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 %1\7za x -y %1\crypt-1.1-1-MSYS-1.0.11-1.tar.bz2 -o%2 %1\7za x -y %2\crypt-1.1-1-MSYS-1.0.11-1.tar -o%3\msys\1.0.11 del %2\crypt-1.1-1-MSYS-1.0.11-1.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 %1\7za x -y %1\libtool1.5-1.5.25a-1-bin.tar.bz2 -o%2 %1\7za x -y %2\libtool1.5-1.5.25a-1-bin.tar -o%3\msys\1.0.11 del %2\libtool1.5-1.5.25a-1-bin.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 %1\7za x -y %1\libtool1.5-1.5.25a-1-dll.tar.bz2 -o%2 %1\7za x -y %2\libtool1.5-1.5.25a-1-dll.tar -o%3\msys\1.0.11 del %2\libtool1.5-1.5.25a-1-dll.tar :http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 %1\7za x -y %1\perl-5.6.1-MSYS-1.0.11-1.tar.bz2 -o%2 %1\7za x -y %2\perl-5.6.1-MSYS-1.0.11-1.tar -o%3\msys\1.0.11 del %2\perl-5.6.1-MSYS-1.0.11-1.tar mkdir %3\msys\1.0.11\mingw move /Y %3\msys\1.0.11\usr\local %3\msys\1.0.11\ echo %4 /mingw > %3\msys\1.0.11\etc\fstab
patches.zip
(application/zip, 11.5 KB) - not displayed
InstallMplayer.sh.txt
(text/plain, 11.8 KB)
# $1 -> /home/username (where to install) # $2 -> /home/username (where to compile) # $3 -> /c/Install/MPlayer (where are packages) mkdir $1/bin mkdir $1/lib mkdir $1/include mkdir $1/man mkdir $1/man/man1 export PATH="$PATH:$1/bin" export CPPFLAGS="$CPPFLAGS -I$1/include" export LDFLAGS="$LDFLAGS -L$1/lib" # DirectX headers # http://www.mplayerhq.hu/MPlayer/contrib/win32/ cd $1/include tar -xvzf $3/dx7headers.tgz # http://www.info-zip.org/UnZip.html#Downloads # ftp://tug.ctan.org/tex-archive/tools/zip/info-zip/WIN32/unz552xN.exe cp $3/unzip.exe $1/bin # MinGW with enabled 64 bit file access # http://oss.netfarm.it/mplayer-win32.php # http://oss.netfarm.it/mplayer/misc/file64_mingw.diff cd /mingw patch -p1 < $3/file64_mingw.diff cd $2 # http://www.gnu.org/software/libiconv/ tar -xvzf $3/libiconv-1.12.tar.gz cd "libiconv-1.12" patch -p1 < $3/libiconv-1.12.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://pkg-config.freedesktop.org/wiki/ tar -xvzf $3/pkg-config-0.23.tar.gz cd pkg-config-0.23 patch -p1 < $3/pkg-config-0.22.diff # glib cd glib-1.2.10 ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include --disable-threads make make install cp glib.h glibconfig.h $1/include cp .libs/*.* $1/lib #pkg-config cd .. ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$1/lib/pkgconfig/" cd $2 # http://sourceware.org/pthreads-win32/announcement.html # ftp://sources.redhat.com/pub/pthreads-win32 tar -xvzf $3/pthreads-w32-2-8-0-release.tar.gz cd "pthreads-w32-2-8-0-release" make clean GC-static cp libpthreadGC2.a $1/lib cp pthread.h sched.h $1/include/ cd $2 # http://www.videolan.org/developers/libdca.html # http://www.freshports.org/multimedia/libdts/ tar -xvjf $3/libdca-0.0.5.tar.bz2 cd "libdca-0.0.5" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.underbit.com/products/mad/ # ftp://ftp.mars.org/pub/mpeg/ tar -xvzf $3/libmad-0.15.1b.tar.gz cd "libmad-0.15.1b" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.oberhumer.com/opensource/lzo/download/ # http://www.oberhumer.com/opensource/lzo/download/LZO-v1/ tar -xvzf $3/lzo-2.03.tar.gz cd "lzo-2.03" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://sourceforge.net/projects/faac # http://sourceforge.net/project/showfiles.php?group_id=704 tar -xvjf $3/faac-1.28.tar.bz2 cd "faac-1.28" ./bootstrap ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include --without-mp4v2 make make install cd $2 # http://www.musepack.net/index.php?pg=src tar -xvjf $3/libmpcdec-1.2.6.tar.bz2 cd "libmpcdec-1.2.6" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install # Some header files are not copied cp include/mpcdec/*.h $1/include/mpcdec cd $2 # http://downloads.xiph.org/releases/ogg/ tar -xvzf $3/libogg-1.1.3.tar.gz cd "libogg-1.1.3" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://downloads.xiph.org/releases/vorbis/ tar -xvjf $3/libvorbis-1.2.0.tar.bz2 cd "libvorbis-1.2.0" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://downloads.xiph.org/releases/theora/ tar -xvjf $3/libtheora-1.0beta3.tar.bz2 cd "libtheora-1.0beta3" patch -p1 < $3/libtheora-1.0beta3.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.speex.org/downloads/ tar -xvzf $3/speex-1.2rc1.tar.gz cd "speex-1.2rc1" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://sourceforge.net/projects/freetype/ # http://sourceforge.net/project/showfiles.php?group_id=3157 tar -xvjf $3/freetype-2.3.8.tar.bz2 cd "freetype-2.3.8" ./configure --prefix=$1 --disable-shared make make install # error appear but do not take care cd $2 # http://www.zlib.net/ tar -xvjf $3/zlib-1.2.3.tar.bz2 cd "zlib-1.2.3" ./configure --prefix=$1 make make install cd $2 # http://www.bzip.org/index.html # http://www.bzip.org/downloads.html tar -xvzf $3/bzip2-1.0.5.tar.gz cd "bzip2-1.0.5" patch -p1 < $3/bzip2-1.0.5.diff make make install PREFIX=$1 cd $2 # http://sourceforge.net/projects/libpng/ # http://sourceforge.net/project/showfiles.php?group_id=5624 tar -xvjf $3/libpng-1.2.35.tar.bz2 cd "libpng-1.2.35" ./configure --prefix=$1 --disable-shared make make install cd $2 # http://www.littlecms.com/ # http://www.littlecms.com/downloads.htm tar -xvzf $3/lcms-1.17.tar.gz cd "lcms-1.17" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.ijg.org/ # ftp://ftp.uu.net/graphics/jpeg/ tar -xvzf $3/jpegsrc.v6b.tar.gz cd "jpeg-6b" ./configure --prefix=$1 --enable-static --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cp .libs/libjpeg.a $1/lib/ cp jpeglib.h jconfig.h jmorecfg.h $1/include/ cd $2 #http://www.libpng.org/pub/mng/ # http://www.libpng.com/ # http://www.libmng.com/download.html?cat=25 tar -xvjf $3/libmng-1.0.10.tar.bz2 cd "libmng-1.0.10" cp makefiles/makefile.mingw Makefile patch -p1 < $3/libmng-1.0.10.diff make make install INSTALL_PREFIX=$1/ cd $2 # http://sourceforge.net/projects/giflib/ tar -xvjf $3/libungif-4.1.4.tar.bz2 cd "libungif-4.1.4" patch -p1 < $3/libungif-4.1.4.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://sourceforge.net/projects/nasm/ # http://sourceforge.net/project/showfiles.php?group_id=6208 tar -xvjf $3/nasm-2.05.01.tar.bz2 cd "nasm-2.05.01" ./configure --prefix=$1 make make install cd $2 # http://www.tortall.net/projects/yasm/ # http://www.tortall.net/projects/yasm/wiki/Download tar -xvzf $3/yasm-0.7.2.tar.gz cd "yasm-0.7.2" ./configure --prefix=$1 make make install cd $2 # http://lame.sourceforge.net/download/download.html # http://sourceforge.net/project/showfiles.php?group_id=290 tar -xvzf $3/lame-398-2.tar.gz cd "lame-398-2" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.twolame.org/ # http://sourceforge.net/project/showfiles.php?group_id=136040 tar -xvzf $3/twolame-0.3.12.tar.gz cd "twolame-0.3.12" patch -p1 < $3/twolame-static-0.3.9.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.xvid.org/downloads.html tar -xvzf $3/xvidcore-1.2.1.tar.gz cd "xvidcore/build/generic" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install mv $1/lib/xvidcore.a $1/lib/libxvidcore.a cd $2 # http://www.videolan.org/developers/x264.html # ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ tar -xvjf $3/x264-snapshot-20090220-2245.tar.bz2 cd "x264-snapshot-20090220-2245" ./configure --prefix=$1 --enable-avis-input --enable-pthread make make install cd $2 # http://www.live555.com/liveMedia/ # http://www.live555.com/liveMedia/public/ tar -xvzf $3/live.2009.02.13.tar.gz cd "live" genMakefiles mingw make CC=gcc cd .. cp -R live $1/lib cd $2 # http://libcaca.zoy.org/download.html tar -xvzf $3/libcaca-0.99.beta16.tar.gz cd libcaca-0.99.beta16 ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://fribidi.freedesktop.org/wiki/ tar -xvzf $3/fribidi-0.10.9.tar.gz cd fribidi-0.10.9 patch -p1 < $3/fribidi-0.10.9.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.gnu.org/software/libcdio/ tar -xvzf $3/libcdio-0.81.tar.gz cd libcdio-0.81 patch -p1 < $3/libcdio-0.81.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://libdv.sourceforge.net/ # http://sourceforge.net/project/showfiles.php?group_id=4393 tar -xvzf $3/libdv-1.0.0.tar.gz cd "libdv-1.0.0" patch -p1 < $3/libdv-1.0.0.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include --disable-gtk --disable-asm CFLAGS=-DPTW32_STATIC_LIB make make install cd $2 # http://www.penguin.cz/~utx/amr tar -xvjf $3/amrnb-7.0.0.2.tar.bz2 cd "amrnb-7.0.0.2" # http://www.3gpp.org/ftp/Specs/html-info/26104.htm cp $3/amr/26104-800.zip . patch -p1 < $3/amrnb-7.0.0.2.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.penguin.cz/~utx/amr tar -xvjf $3/amrwb-7.0.0.3.tar.bz2 cd "amrwb-7.0.0.3" # http://www.3gpp.org/ftp/Specs/html-info/26204.htm cp $3/amr/26204-800.zip . patch -p1 < $3/amrwb-7.0.0.3.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.nut-container.org/ # http://wiki.multimedia.cx/index.php?title=NUT # svn checkout svn://svn.mplayerhq.hu/nut/trunk nut # archive is self made tar -xvjf $3/nut-SVN-r661.tar.bz2 cd "nut" patch -p1 < $3/nut-SVN-r517.diff make cp libnut/libnut.h $1/include cp libnut/libnut.a $1/lib cd $2 # http://diracvideo.org/ # http://diracvideo.org/download/dirac-research/ tar -xvzf $3/dirac-1.0.2.tar.gz cd "dirac-1.0.2" ./configure --prefix=$1 --disable-shared make make install cd $2 # http://liboil.freedesktop.org/wiki/ # http://liboil.freedesktop.org/download/ tar -xvzf $3/liboil-0.3.15.tar.gz cd "liboil-0.3.15" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://diracvideo.org/ # http://diracvideo.org/download/schroedinger/ tar -xvzf $3/schroedinger-1.0.5.tar.gz cd "schroedinger-1.0.5" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://expat.sourceforge.net/ # http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=10780 tar -xvzf $3/expat-2.0.1.tar.gz cd "expat-2.0.1" ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://fontconfig.org/wiki/ # http://fontconfig.org/release/ tar -xvzf $3/fontconfig-2.6.0.tar.gz cd "fontconfig-2.6.0" patch -p1 < $3/fontconfig-2.6.0.diff ./configure --prefix=$1 --disable-shared --with-extralibdir=$1/lib --with-extraincdir=$1/include make make install cd $2 # http://www.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2 # svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer # archive is self made tar -xvjf $3/mplayer.tar.bz2 cd "mplayer" # http://oss.netfarm.it/mplayer/patches/xx_pthreadsw32_static.diff patch -p1 < $3/xx_pthreadsw32_static.diff # http://oss.netfarm.it/mplayer/patches/xx_fontconfig_check.diff patch -p1 < $3/xx_fontconfig_check.diff ./configure --prefix=$1 --enable-static --with-extralibdir=$1/lib --with-extraincdir=$1/include --enable-mng --disable-tremor-internal --enable-caca make make install cd $2