blob: 6baea91f3f268e8129fead5778075ebd70eb9eb3 (
plain) (
tree)
|
|
#!/bin/bash
function common_build_init {
export dir=$(pwd)
if [[ "${installname}" == "" ]]; then
export installname=${package}
fi
export srcdir=$(realpath "${dir}/../src/${package}")
if [ ! -d "${srcdir}" ]; then
echo "Error: Package sources directory not exists for package '${package}'."
exit 3
fi
if [ ! -d "../env" ]; then
mkdir -p "../env"
fi
if [ ! -d "../bin" ]; then
mkdir -p "../bin"
fi
if [ ! -d "../tmp" ]; then
mkdir -p "../tmp"
fi
export builddir=$(realpath "${dir}/../tmp/${package}")
export bindir=$(realpath "${dir}/../bin/${installname}")
rm -rf "${builddir}"
mkdir -p "${builddir}"
}
function common_package_init {
export scriptsdir=$(realpath .)
if [[ "${package}" == "" ]]; then
echo "Error: Missing package name"
echo "Example: ./build.sh virglrenderer"
exit 1
fi
export packagefile="${package}.sh"
if [ ! -f "../packages/${packagefile}" ]; then
echo "Error: Package '${package}' not exists."
exit 2
fi
}
function common_run_package {
cd ../packages
echo "${package}.sh"
source "./${package}.sh"
}
function common_use_package {
cd ${scriptsdir}
export envfile="../env/run${package}.sh"
echo "#!/bin/bash" >${envfile}
echo "" >>${envfile}
echo "package_use"
package_use
echo "\$*" >>${envfile}
chmod 0755 ${envfile}
}
function env_path {
echo "export PATH=${bindir}/$1:\$PATH" >>${envfile}
}
function env_lib_library_path {
echo "export LD_LIBRARY_PATH=${bindir}/$1:\$LD_LIBRARY_PATH" >>${envfile}
}
function env_pkg_config_path {
echo "export PKG_CONFIG_PATH=${bindir}/$1:\$PKG_CONFIG_PATH" >>${envfile}
}
function env_man {
echo "export MANPATH=${bindir}/$1:\$PATH" >>${envfile}
}
function run_autoreconf {
cd "${srcdir}"
echo "make distclean"
make distclean
echo "autoreconf $*"
autoreconf $*
}
function run_configure {
cd "${builddir}"
echo "configure --prefix="${bindir}" $*"
"$srcdir"/configure --prefix="${bindir}" $*
}
function run_cmake {
cd "${builddir}"
echo "cmake -DCMAKE_INSTALL_PREFIX:PATH="${bindir}" "$srcdir" $*"
cmake -DCMAKE_INSTALL_PREFIX:PATH="${bindir}" "$srcdir" $*
}
function run_make {
echo "make"
make
}
function run_make_install {
echo "make install"
make install
}
function run_git_clone {
echo "clone git repository $1"
git clone $1 "../src/${package}"
}
function run_hg_clone {
echo "clone hg repository $1"
hg clone $1 "../src/${package}"
}
function run_git_switch_branch {
cd "${srcdir}"
if [[ "${srcbranch}" == "" ]]; then
export srcbranch="$1"
fi
echo "git checkout ${srcbranch}"
git checkout "${srcbranch}"
}
function run_hg_switch_branch {
cd "${srcdir}"
if [[ "${srcbranch}" == "" ]]; then
export srcbranch="$1"
fi
echo "hg update ${srcbranch}"
hg update ${srcbranch}
}
function package_use {
env_path "bin"
env_lib_library_path "lib"
}
function package_update_source {
cd "../src/${package}"
if [ -d .git ]; then
echo "git fetch origin"
git fetch origin
return
fi
if [ -d .hg ]; then
echo "hg pull"
hg pull
return
fi
}
function common_clean_destination {
echo "clean ${installname}"
rm -rf "${installname}"
}
|