#!/bin/sh
#
######################################################
# Build script for TinyCore 2.x                      #
#                                                    #
# See .info for details                              #
#                                                    #
# November 25, 2009                                  #
######################################################

######################################################
# This script can be used to create extensions in the form:
# XXX.tczl & XXX-devs.tcz
######################################################

######################################################
# Build dependency list:
# compiletc
# Xorg-dev
# SDL,SDL-dev
#
# Extension creation dependency list:
# squashfs-tools
######################################################
######################################################
# Configure extension creation parameters            #
######################################################

SRCNAM=SDL_gfx-2.0.20.tar.gz
WRKDIR=SDL_gfx-2.0.20
EXTNAM=SDL_gfx
TMPDIR=/tmp/$EXTNAM
EXTYPE="l"

LIBNAM=libSDL_gfx.so

######################################################
# Prepare extension creation                         #
######################################################

# Remove dirs and files left from previous creation

rm -r -f $WRKDIR

rm -r -f $TMPDIR

# Create temporary directory

mkdir -p $TMPDIR

######################################################
# Compile extension                                  #
######################################################

# Export variables needed for compilation

export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti"
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

# Unpack source in current directory

tar -xf $SRCNAM

# Configure it

cd $WRKDIR

./configure --prefix=/usr/local --disable-sdltest --with-x \
--with-sdl-prefix=/usr/local

# Compile

make

# Install in base temp dir

make install DESTDIR=$TMPDIR

# Delete compilation work directory

cd ..
rm -r -f $WRKDIR

# Remove unneeded dirs and files

cd $TMPDIR
mkdir -p $EXTNAM/usr/local/lib

mkdir $EXTNAM-devs
mv usr $EXTNAM-devs
cd $EXTNAM-devs/usr/local/lib
cp -P $LIBNAM* $TMPDIR/$EXTNAM/usr/local/lib
rm -f $LIBNAM*

# Adjust directory access rigths

find $TMPDIR/ -type d | xargs chmod -v 755;

# Strip executables

find $TMPDIR | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded

###################################################
# Create extension in TMPDIR                      #
###################################################

cd $TMPDIR
mksquashfs $EXTNAM $EXTNAM.tcz$EXTYPE
cd $EXTNAM
find usr -not -type d > $EXTNAM.tcz$EXTYPE.list
mv ../$EXTNAM.tcz$EXTYPE .

# Create md5 file

md5sum $EXTNAM.tcz$EXTYPE > $EXTNAM.tcz$EXTYPE.md5.txt

rm -r -f usr 

cd $TMPDIR
mksquashfs $EXTNAM-devs $EXTNAM-devs.tcz
cd $EXTNAM-devs
find usr -not -type d > $EXTNAM-devs.tcz.list
mv ../$EXTNAM-devs.tcz .

# Create md5 file

md5sum $EXTNAM-devs.tcz > $EXTNAM-devs.tcz.md5.txt
# Cleanup temp directory

rm -r -f usr 