#!/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