Compile icecast in the Unix-Like Environment

From TestingMediawiki
Jump to navigation Jump to search

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