Compile icecast in the Unix-Like Environment: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m Reverted edit of 192.44.60.146, changed back to last version by AndCycle |
||
(27 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
這兒是說明如何在 *nix 下編譯 icecast 的麻瓜用 shellscript ,文件及 [[Shellscript]] 的編寫者為 [[User:AndCycle|AndCycle]] 。 | |||
(註:整組編譯完的空間約需200MB e_e ) | |||
---- | |||
==Contents of Shellscript== | |||
<pre><nowiki> | |||
#!/bin/bash | |||
mkdir testCompile | mkdir testCompile | ||
cd testCompile | cd testCompile | ||
testCompilePath=`pwd` | |||
mkdir install | mkdir install | ||
wget http:// | cd install | ||
installPath=`pwd` | |||
cd $testCompilePath | |||
gragAndUntar () | |||
{ | |||
echo "grab $1" | |||
tar | if wget $1 | ||
then echo "Done" | |||
else exit 1 | |||
fi | |||
echo "untar $1" | |||
if tar --extract --ungzip --file $2 | |||
then echo "Done" | |||
else exit 1 | |||
fi | |||
} | |||
gragAndUntar "http://curl.haxx.se/download/curl-7.14.1.tar.gz" "curl-7.14.1.tar.gz" | |||
gragAndUntar "ftp://xmlsoft.org/libxml2-2.6.22.tar.gz" "libxml2-2.6.22.tar.gz" | |||
gragAndUntar "ftp://xmlsoft.org/libxslt-1.1.15.tar.gz" "libxslt-1.1.15.tar.gz" | |||
gragAndUntar "http://www.libsdl.org/release/SDL-1.2.9.tar.gz" "SDL-1.2.9.tar.gz" | |||
gragAndUntar "http://downloads.xiph.org/releases/ogg/libogg-1.1.2.tar.gz" "libogg-1.1.2.tar.gz" | |||
gragAndUntar "http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.1.tar.gz" "libvorbis-1.1.1.tar.gz" | |||
gragAndUntar "http://downloads.xiph.org/releases/theora/libtheora-1.0alpha5.tar.gz" "libtheora-1.0alpha5.tar.gz" | |||
gragAndUntar "http://downloads.xiph.org/releases/icecast/icecast-2.3.1.tar.gz" "icecast-2.3.1.tar.gz" | |||
gragAndUntar "http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz" "ucl-1.03.tar.gz" | |||
gragAndUntar "http://upx.sourceforge.net/download/upx-1.25-src.tar.gz" "upx-1.25-src.tar.gz" | |||
makeInstall () | |||
{ | |||
echo "working in $1" | |||
if cd $1 | |||
then echo "Done" | |||
else exit 1 | |||
fi | |||
echo "configure $1" | |||
if ./configure $2 | |||
then echo "Done" | |||
else exit 1 | |||
fi | |||
echo "make $1" | |||
if [ "$3" ] | |||
then | |||
if make $3 | |||
then echo "Done" | |||
else exit 1 | |||
fi | |||
else | |||
if make | |||
then echo "Done" | |||
else exit 1 | |||
fi | |||
fi | |||
echo "make installe $1" | |||
if make install | |||
then echo "Done" | |||
else exit 1 | |||
fi | |||
cd $testCompilePath | |||
} | |||
libxml | makeInstall "curl-7.14.1" "--prefix=$installPath" | ||
. | makeInstall "libxml2-2.6.22" "--prefix=$installPath" | ||
makeInstall "libxslt-1.1.15" "--prefix=$installPath --with-libxml-prefix=$installPath" | |||
makeInstall "SDL-1.2.9" "--prefix=$installPath" | |||
makeInstall "libogg-1.1.2" "--prefix=$installPath" | |||
makeInstall "libvorbis-1.1.1" "--prefix=$installPath --with-ogg=$installPath --disable-oggtest" | |||
makeInstall "libtheora-1.0alpha5" "--prefix=$installPath --with-ogg=$installPath --with-vorbis=$installPath --with-sdl-prefix=$installPath --disable-oggtest --disable-vorbistest --disable-sdltest" | |||
libxslt | #icecast need blablabla-config executable | ||
cd libxslt-1.1.15 | |||
chmod +x xslt-config | |||
cd $testCompilePath | |||
cd curl-7.14.1 | |||
chmod +x curl-config | |||
cd $testCompilePath | |||
makeInstall "icecast-2.3.1" "--prefix=$installPath --with-xslt-config=$testCompilePath/libxslt-1.1.15/xslt-config --with-curl-config=$testCompilePath/curl-7.14.1/curl-config --with-vorbis=$installPath --with-theora=$installPath" "static" | |||
. | |||
cp $installPath/bin/icecast $testCompilePath | |||
makeInstall "ucl-1.03" "--prefix=$installPath" | |||
. | cd ucl-1.03 | ||
export UCLDIR=`pwd` | |||
cd $testCompilePath | |||
cd upx-1.25 | |||
cd src | |||
make | |||
chmod 755 upx | |||
./upx -9 $testCompilePath/icecast | |||
cd $testCompilePath | |||
mkdir build | |||
cd build | |||
cp --recursive $installPath/share/icecast/* ./ | |||
mv $testCompilePath/icecast ./ | |||
echo "we have done all the need in testCompile/build directory." | |||
</nowiki></pre> | </nowiki></pre> | ||
{{Menu:Category|Radio|Computer|AndCycle}} |
Latest revision as of 04:00, 28 February 2006
這兒是說明如何在 *nix 下編譯 icecast 的麻瓜用 shellscript ,文件及 Shellscript 的編寫者為 AndCycle 。
(註:整組編譯完的空間約需200MB e_e )
Contents of Shellscript
#!/bin/bash mkdir testCompile cd testCompile testCompilePath=`pwd` mkdir install cd install installPath=`pwd` cd $testCompilePath gragAndUntar () { echo "grab $1" if wget $1 then echo "Done" else exit 1 fi echo "untar $1" if tar --extract --ungzip --file $2 then echo "Done" else exit 1 fi } gragAndUntar "http://curl.haxx.se/download/curl-7.14.1.tar.gz" "curl-7.14.1.tar.gz" gragAndUntar "ftp://xmlsoft.org/libxml2-2.6.22.tar.gz" "libxml2-2.6.22.tar.gz" gragAndUntar "ftp://xmlsoft.org/libxslt-1.1.15.tar.gz" "libxslt-1.1.15.tar.gz" gragAndUntar "http://www.libsdl.org/release/SDL-1.2.9.tar.gz" "SDL-1.2.9.tar.gz" gragAndUntar "http://downloads.xiph.org/releases/ogg/libogg-1.1.2.tar.gz" "libogg-1.1.2.tar.gz" gragAndUntar "http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.1.tar.gz" "libvorbis-1.1.1.tar.gz" gragAndUntar "http://downloads.xiph.org/releases/theora/libtheora-1.0alpha5.tar.gz" "libtheora-1.0alpha5.tar.gz" gragAndUntar "http://downloads.xiph.org/releases/icecast/icecast-2.3.1.tar.gz" "icecast-2.3.1.tar.gz" gragAndUntar "http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz" "ucl-1.03.tar.gz" gragAndUntar "http://upx.sourceforge.net/download/upx-1.25-src.tar.gz" "upx-1.25-src.tar.gz" makeInstall () { echo "working in $1" if cd $1 then echo "Done" else exit 1 fi echo "configure $1" if ./configure $2 then echo "Done" else exit 1 fi echo "make $1" if [ "$3" ] then if make $3 then echo "Done" else exit 1 fi else if make then echo "Done" else exit 1 fi fi echo "make installe $1" if make install then echo "Done" else exit 1 fi cd $testCompilePath } makeInstall "curl-7.14.1" "--prefix=$installPath" makeInstall "libxml2-2.6.22" "--prefix=$installPath" makeInstall "libxslt-1.1.15" "--prefix=$installPath --with-libxml-prefix=$installPath" makeInstall "SDL-1.2.9" "--prefix=$installPath" makeInstall "libogg-1.1.2" "--prefix=$installPath" makeInstall "libvorbis-1.1.1" "--prefix=$installPath --with-ogg=$installPath --disable-oggtest" makeInstall "libtheora-1.0alpha5" "--prefix=$installPath --with-ogg=$installPath --with-vorbis=$installPath --with-sdl-prefix=$installPath --disable-oggtest --disable-vorbistest --disable-sdltest" #icecast need blablabla-config executable cd libxslt-1.1.15 chmod +x xslt-config cd $testCompilePath cd curl-7.14.1 chmod +x curl-config cd $testCompilePath makeInstall "icecast-2.3.1" "--prefix=$installPath --with-xslt-config=$testCompilePath/libxslt-1.1.15/xslt-config --with-curl-config=$testCompilePath/curl-7.14.1/curl-config --with-vorbis=$installPath --with-theora=$installPath" "static" cp $installPath/bin/icecast $testCompilePath makeInstall "ucl-1.03" "--prefix=$installPath" cd ucl-1.03 export UCLDIR=`pwd` cd $testCompilePath cd upx-1.25 cd src make chmod 755 upx ./upx -9 $testCompilePath/icecast cd $testCompilePath mkdir build cd build cp --recursive $installPath/share/icecast/* ./ mv $testCompilePath/icecast ./ echo "we have done all the need in testCompile/build directory."