#!/bin/bash
# Script to make a glib-2.16.4.tcel extension from source.
# Requires the compiletc.dsl extension
# Glib license: LGPL

export CFLAGS="-march=i486 -mtune=i686 -0s -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -0s -pipe"

NAME=glib
VERSION=2.18.4
DOWNLOAD=http://ftp.gnome.org/pub/GNOME/sources/glib/2.16
SOURCE="$NAME"-"$VERSION".tar.bz2
MD5SUM=2ab79b3c93258827cc6ea8ee50128e49
TMPDIR=/mnt/hda2/"$NAME"456
PKG="$TMPDIR"/pkg
DEV="$TMPDIR"/dev
LIST="$TMPDIR"/"$NAME".list
LIST1="$TMPDIR"/"$NAME".list1
SRCDIR=/tmp
DIALOG=dialog

download() {
cd "$SRCDIR"
if [ -e "$SOURCE" ]; then
if [ $(md5sum "$SOURCE" | cut -c1-32) != "$MD5SUM" ]; then
rm "$SOURCE"
fi
fi
if [ ! -e "$SOURCE" ]; then
wget "$DOWNLOAD"/"$SOURCE"
fi
if [ $(md5sum "$SOURCE" | cut -c1-32) = "$MD5SUM" ]; then
echo ""$NAME"-"$VERSION".tar.bz2md5sum passed."
sleep 2
else
echo "Download failed. aborting"
exit 1;
fi
}


build_source() {
tar xjvf "$SOURCE" -C "$TMPDIR"
cd "$TMPDIR"/"$NAME"-"$VERSION"
./configure --prefix=/usr/local --enable-static --enable-shared --enable-debug=minimum 
make
make DESTDIR="$PKG" install
cd "$PKG"
find . | xargs file | grep "executable" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip -g 2> /dev/null
cd "$TMPDIR"
}

remove_docs() {
if [ -e "$PKG"/usr/local/share/gtk-doc ]; then
rm -r "$PKG"/usr/local/share/gtk-doc
fi
if [ -e "$PKG"/usr/local/share/man ]; then
rm -r "$PKG"/usr/local/share/man
fi
}

split_package() {
mkdir -p "$DEV"/usr/local
mv "$PKG"/usr/local/bin "$DEV"/usr/local/
mv "$PKG"/usr/local/include "$DEV"/usr/local/
mv "$PKG"/usr/local/share "$DEV"/usr/local/
mkdir -p "$DEV"/usr/local/lib
mv "$PKG"/usr/local/lib/pkgconfig "$DEV"/usr/local/lib/
mv "$PKG"/usr/local/lib/glib-2.0 "$DEV"/usr/local/lib/
mv "$PKG"/usr/local/lib/*.a "$DEV"/usr/local/lib/
mv "$PKG"/usr/local/lib/*.la "$DEV"/usr/local/lib/
}

make_extension() {
cd "$PKG"
find . -not -type d > "$LIST"
tar -T "$LIST" -czvf /home/tc/"$NAME"-"$VERSION".tcel
cd "$DEV"
find . -not -type d > "$LIST1"
tar -T "$LIST1" -czvf /home/tc/"$NAME"-"$VERSION"-devs.tce
}



if [ -e "$TMPDIR" ]; then
rm -rf "$TMPDIR"
fi
mkdir -p "$DEV" &&
mkdir -p "$PKG" &&
#download &&
build_source &&
remove_docs &&
split_package &&
make_extension &&
echo ""$NAME"-"$VERSION".tcel and "$NAME"-"$VERSION"-devs.tce is now in your home directory."