|
Ivan Mahonin |
87fe10 |
#!/bin/bash
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
function print_section() {
|
|
Ivan Mahonin |
87fe10 |
echo "-----------------------"
|
|
Ivan Mahonin |
87fe10 |
echo " $1"
|
|
Ivan Mahonin |
87fe10 |
echo "-----------------------"
|
|
Ivan Mahonin |
87fe10 |
}
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
function echocall() {
|
|
Ivan Mahonin |
87fe10 |
echo "$@"
|
|
Ivan Mahonin |
87fe10 |
"$@"
|
|
Ivan Mahonin |
87fe10 |
}
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
function unpacklib() {
|
|
Ivan Mahonin |
87fe10 |
local lib=$1
|
|
Ivan Mahonin |
87fe10 |
mkdir -p $lib
|
|
Ivan Mahonin |
87fe10 |
cd $lib
|
|
Ivan Mahonin |
87fe10 |
echocall $AR -x "$prefix/lib/lib$lib.a"
|
|
Ivan Mahonin |
87fe10 |
cd ..
|
|
Ivan Mahonin |
87fe10 |
}
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
function download() {
|
|
Ivan Mahonin |
87fe10 |
mkdir -p download
|
|
Ivan Mahonin |
87fe10 |
cd download
|
|
Ivan Mahonin |
87fe10 |
for package in $packages; do
|
|
Ivan Mahonin |
87fe10 |
if [ ! -f "$package.done" ]; then
|
|
Ivan Mahonin |
87fe10 |
print_section "download $package"
|
|
Ivan Mahonin |
87fe10 |
local vu=url_$package
|
|
Ivan Mahonin |
87fe10 |
local vt=tar_$package
|
|
Ivan Mahonin |
87fe10 |
local vs=sha_$package
|
|
Ivan Mahonin |
87fe10 |
wget -c "${!vu}"
|
|
Ivan Mahonin |
87fe10 |
echo "${!vs} ${!vt}" | sha256sum -c
|
|
Ivan Mahonin |
87fe10 |
touch "$package.done"
|
|
Ivan Mahonin |
87fe10 |
fi
|
|
Ivan Mahonin |
87fe10 |
done
|
|
Ivan Mahonin |
87fe10 |
cd ..
|
|
Ivan Mahonin |
87fe10 |
}
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
function unpack() {
|
|
Ivan Mahonin |
87fe10 |
mkdir -p unpack
|
|
Ivan Mahonin |
87fe10 |
cd unpack
|
|
Ivan Mahonin |
87fe10 |
for package in $packages; do
|
|
Ivan Mahonin |
87fe10 |
if [ ! -f "$package.done" ]; then
|
|
Ivan Mahonin |
87fe10 |
print_section "unpack $package"
|
|
Ivan Mahonin |
87fe10 |
local v=tar_$package
|
|
Ivan Mahonin |
87fe10 |
tar -xf ../download/${!v}
|
|
Ivan Mahonin |
87fe10 |
touch "$package.done"
|
|
Ivan Mahonin |
87fe10 |
fi
|
|
Ivan Mahonin |
87fe10 |
done
|
|
Ivan Mahonin |
87fe10 |
cd ..
|
|
Ivan Mahonin |
87fe10 |
}
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
function build() {
|
|
Ivan Mahonin |
87fe10 |
bits=$1
|
|
Ivan Mahonin |
87fe10 |
host=$2
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
toolchain $host
|
|
Ivan Mahonin |
1b8859 |
prefix="$ROOT/usr-$bits"
|
|
Ivan Mahonin |
1b8859 |
export CFLAGS="$ADDCFLAGS -I$prefix/include"
|
|
Ivan Mahonin |
87fe10 |
export CPPFLAGS="-I$prefix/include"
|
|
Ivan Mahonin |
87fe10 |
export LDFLAGS="-L$prefix/lib"
|
|
Ivan Mahonin |
87fe10 |
export PKG_CONFIG_PATH="$prefix/lib/pkgconfig"
|
|
Ivan Mahonin |
87fe10 |
export PKG_CONFIG_LIBDIR="$prefix/lib/pkgconfig"
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
1b8859 |
mkdir -p build-$bits
|
|
Ivan Mahonin |
1b8859 |
cd build-$bits
|
|
Ivan Mahonin |
87fe10 |
for package in $packages $newpackages; do
|
|
Ivan Mahonin |
87fe10 |
if [ ! -f "$package.done" ]; then
|
|
Ivan Mahonin |
1b8859 |
print_section "build-$bits $package"
|
|
Ivan Mahonin |
87fe10 |
local v=dir_$package
|
|
Ivan Mahonin |
87fe10 |
srcdir="$ROOT/unpack/${!v}"
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
mkdir -p $package
|
|
Ivan Mahonin |
87fe10 |
cd $package
|
|
Ivan Mahonin |
87fe10 |
build_$package
|
|
Ivan Mahonin |
87fe10 |
cd ..
|
|
Ivan Mahonin |
87fe10 |
|
|
Ivan Mahonin |
87fe10 |
touch "$package.done"
|
|
Ivan Mahonin |
87fe10 |
fi
|
|
Ivan Mahonin |
87fe10 |
done
|
|
Ivan Mahonin |
87fe10 |
cd ..
|
|
Ivan Mahonin |
87fe10 |
}
|
|
Ivan Mahonin |
87fe10 |
|