Compile icecast in the Unix-Like Environment

From TestingMediawiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

這兒是說明如何在 *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."




  • Top Page: Radio, Computer,
  • Next Page: , Previous Page:
  • Main article Author or Maintainer for this page: AndCycle
  • Other Author(s) or Maintainer(s):