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 |
||
| (13 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
這兒是說明如何在 *nix 下編譯 icecast 的麻瓜用 shellscript ,文件及 [[Shellscript]] 的編寫者為 [[User:AndCycle|AndCycle]] 。 | |||
<pre | (註:整組編譯完的空間約需200MB e_e ) | ||
---- | |||
==Contents of Shellscript== | |||
<pre><nowiki> | |||
#!/bin/bash | #!/bin/bash | ||
| Line 10: | Line 16: | ||
cd install | cd install | ||
installPath=`pwd` | installPath=`pwd` | ||
cd | cd $testCompilePath | ||
gragAndUntar () | gragAndUntar () | ||
| Line 26: | Line 32: | ||
} | } | ||
gragAndUntar "http://curl.haxx.se/download/curl-7.14. | 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. | gragAndUntar "ftp://xmlsoft.org/libxml2-2.6.22.tar.gz" "libxml2-2.6.22.tar.gz" | ||
gragAndUntar "ftp://xmlsoft.org/libxslt-1.1. | 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. | 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/ogg/libogg-1.1.2.tar.gz" "libogg-1.1.2.tar.gz" | ||
gragAndUntar "http://downloads.xiph.org/releases/vorbis/libvorbis-1.1. | 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. | 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. | 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 () | makeInstall () | ||
| Line 48: | Line 56: | ||
fi | fi | ||
echo "make $1" | echo "make $1" | ||
if [ | if [ "$3" ] | ||
then | then | ||
if make $3 | if make $3 | ||
| Line 68: | Line 76: | ||
} | } | ||
makeInstall "curl-7.14. | makeInstall "curl-7.14.1" "--prefix=$installPath" | ||
makeInstall "libxml2-2.6. | makeInstall "libxml2-2.6.22" "--prefix=$installPath" | ||
makeInstall "libxslt-1.1. | makeInstall "libxslt-1.1.15" "--prefix=$installPath --with-libxml-prefix=$installPath" | ||
makeInstall "SDL-1.2. | makeInstall "SDL-1.2.9" "--prefix=$installPath" | ||
makeInstall "libogg-1.1.2" "--prefix=$installPath" | makeInstall "libogg-1.1.2" "--prefix=$installPath" | ||
makeInstall "libvorbis-1.1. | makeInstall "libvorbis-1.1.1" "--prefix=$installPath --with-ogg=$installPath --disable-oggtest" | ||
makeInstall "libtheora-1. | 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 | #icecast need blablabla-config executable | ||
cd libxslt-1.1. | cd libxslt-1.1.15 | ||
chmod +x xslt-config | chmod +x xslt-config | ||
cd $testCompilePath | cd $testCompilePath | ||
cd curl-7.14. | cd curl-7.14.1 | ||
chmod +x curl-config | chmod +x curl-config | ||
cd $testCompilePath | cd $testCompilePath | ||
cp $installPath/bin/icecast ./ | 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."