#!/bin/sh

if test $# != 2 -o $0 != "./install_gnupoc_s60_12"; then
  echo "Usage: ./install_gnupoc_s60_12 <path-to-sdk-zip> <target-dir>"
  echo " e.g.: ./install_gnupoc_s60_12 nS60_sdk_v1_2.zip ~/symbian-sdks/s60_12"
  exit 1
fi

SRC=$1
DEST=`echo $2 | sed s:/\$::`

mkdir -p $DEST

export PATH=unshield:$PATH

while read a
do
  echo "$a"
  sh -c "$a"
  if test $? != 0; then
    echo "Unexpected error: aborting."
    exit 1
  fi
done << __END

### Unzip & Copy selected files
mkdir -p _e
unzip -qn $SRC -d _e

mkdir -p epoc32/release
unshield -g Binaries x _e/data2.cab
mv Binaries/* epoc32/release; rmdir Binaries
mkdir -p epoc32/data
unshield -g "Epoc Icon" x _e/data2.cab
mv Epoc_Icon/* epoc32/data; rmdir Epoc_Icon
mkdir -p epoc32/include
unshield -g Tools_Include x _e/data2.cab
mv Tools_Include/* epoc32/include; rmdir Tools_Include
mkdir -p epoc32/release/winc
unshield -g aiftool_rh x _e/data2.cab
mv aiftool_rh/* epoc32/include; rmdir aiftool_rh
mkdir -p epoc32/gcc
unshield -g Compiler_GCC x _e/data2.cab
mv Compiler_GCC/* epoc32/gcc; rmdir Compiler_GCC
mkdir -p epoc32/tools
unshield -g abld_pl x _e/data2.cab
mv abld_pl/* epoc32/tools; rmdir abld_pl
unshield -g bldmake_pl x _e/data2.cab
mv bldmake_pl/* epoc32/tools; rmdir bldmake_pl
unshield -g Tools x _e/data2.cab
mv Tools/* epoc32/tools; rmdir Tools
mkdir -p epoc32/wins
unshield -g Emu_Wins x _e/data2.cab
mv Emu_Wins/* epoc32/wins; rmdir Emu_Wins
unshield -g Emu_Data x _e/data2.cab
mv Emu_Data/* epoc32/data; rmdir Emu_Data
mv epoc32 $DEST

unshield -g Symbian_Examples x _e/data2.cab
mv Symbian_Examples $DEST/epoc32ex

unshield -g Nokia_Examples x _e/data2.cab
mv Nokia_Examples $DEST/series60ex

unshield -g Nokia_Docs x _e/data2.cab
mv Nokia_Docs $DEST/series60doc

unshield -g NokiaWizard x _e/data2.cab
mv NokiaWizard $DEST/series60tools


### Fixing
./lowercase $DEST/epoc32/tools
./lowercase -map_paths headers $DEST/epoc32/include
./lowercase -symlink $DEST/epoc32/include
./lowercase -map_files libraries $DEST/epoc32/release
./lowercase -symlink $DEST/epoc32/release
./lowercase $DEST/epoc32/data
./fixinclude $DEST/epoc32/include
./lowercase $DEST/series60ex
./fixinclude $DEST/series60ex
./fixexamples $DEST/series60ex
./lowercase $DEST/epoc32ex
./fixinclude $DEST/epoc32ex
./fixexamples $DEST/epoc32ex
for i in \`find $DEST/epoc32/tools -name \\\*.pl -or -name \\\*.pm\`; do ./dos2unix \$i; done
cp -pR $DEST/epoc32/tools $DEST/epoc32/tools_orig
cat gnupoc-s60_12-patch | (cd $DEST/epoc32/tools; patch -p1 )
find $DEST/epoc32/tools -name \\\*.orig -exec rm {} \\\\;
cd $DEST/epoc32/tools; chmod a+x \*.pl bldmake abld makmake bmconv rcomp makesis epoc eshell petran pfsdump setupcomms rtf2ptml cjpeg

rm -rf _e

__END

exit 0
