#!/bin/sh
mkdir -p /tmp/logs/libchewing
#################
# compile flags #
#################
export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export LDFLAGS="-Wl,-O1"
#################
# load packages #
#################
echo Fetching build essentials
tce-load -w autoconf automake cmake compiletc git libtool-dev ncurses-dev sqlite3-dev squashfs-tools 1>> /tmp/logs/libchewing/tce-load-w.log 2>> /tmp/logs/libchewing/tce-load-w-debug.log
echo Loading build essentials
tce-load -i autoconf automake cmake compiletc git libtool-dev ncurses-dev sqlite3-dev squashfs-tools 1>> /tmp/logs/libchewing/tce-load-i.log 2>> /tmp/logs/libchewing/tce-load-i-debug.log
##############
# get source #
##############
cd /tmp && pwd && echo Git cloning source code
git clone https://github.com/chewing/libchewing.git
cd libchewing && pwd && echo Building from source
###########################
# enable `subdir-objects` #
###########################
sed -i 's/AM_INIT_AUTOMAKE/AM_INIT_AUTOMAKE(\[subdir-objects\])/g' configure.ac
###########
# compile #
###########
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DCMAKE_INSTALL_LIBDIR:PATH=lib . 1> /tmp/logs/libchewing/cmake.log 2> /tmp/logs/libchewing/cmake-debug.log
make VERBOSE=1 -j 1> /tmp/logs/libchewing/make.log 2> /tmp/logs/libchewing/make-debug.log
make DESTDIR=/tmp/libchewing-root install 1> /tmp/logs/libchewing/install.log 2> /tmp/logs/libchewing/install-debug.log
cd /tmp/
cp -a libchewing-root libchewing-base
#############
# stripping #
#############
cd libchewing-base/
find . -exec file {} + | grep "not stripped" | cut -d : -f 1 | xargs strip --strip-unneeded
#########
## dev ##
#########
cd /tmp/libchewing-base
for file in `find . -name *.a -o -name *.la -o -name *.h -o -name *.m4 -o -name *.pc`; do
  path=${file#./};path=${path%/*}
  mkdir -p /tmp/libchewing-dev/$path
  mv $file /tmp/libchewing-dev/$path
done 2> /dev/null
##########
## base ##
##########
cd /tmp/libchewing-base
find . -depth -type d -exec rmdir {} + 2> /dev/null
#########
## doc ##
#########
mkdir -p /tmp/libchewing-doc/usr/local/share/doc/libchewing/
cp /tmp/libchewing/AUTHORS /tmp/libchewing/COPYING /tmp/libchewing-doc/usr/local/share/doc/libchewing/
#########
# chown #
#########
sudo chown -R root:root /tmp/libchewing-doc/ /tmp/libchewing-base/ /tmp/libchewing-dev/
###########
# packing #
###########
cd /tmp && pwd && echo Building tcz packages
mkdir -p output
mksquashfs /tmp/libchewing-base output/libchewing.tcz > /dev/null
mksquashfs /tmp/libchewing-dev output/libchewing-dev.tcz > /dev/null
mksquashfs /tmp/libchewing-doc output/libchewing-doc.tcz > /dev/null
cd output
md5sum libchewing.tcz > libchewing.tcz.md5.txt
md5sum libchewing-dev.tcz > libchewing-dev.tcz.md5.txt
md5sum libchewing-doc.tcz > libchewing-doc.tcz.md5.txt
############
# dep file #
############
for dep in libchewing libtool-dev ncurses-dev sqlite3-dev
do echo $dep".tcz" >> libchewing-dev.tcz.dep
done
echo sqlite3.tcz > libchewing.tcz.dep
