Installation of the EPOC SDK for Linux. 

Olaf Flebbe:         olaf at oflebbe.de
9.10.1999   V0.1

I cannot distribute a self contained SDK, because of the license
restrictions of the Symbian SDK.

1) Get the EPOC SDK from symbian http://developer.epocworld.com

2) Get linux-epoc-cygnus-sdk.tgz and unpack it relative to the root dir:

cd /; tar zxvf linux-epoc-cygnus-sdk.tgz 

3) Mount the CDROM or the installed EPOC SDK and copy it to your Linux
system:

perl copysdk /cdrom ~/epoc 
or
perl copysdk rootdir ~/epoc

4) Get and configure wine. (This should come with your Linux
Distribution; http://www.winehq.com)

5) Using of this SDK is not straight forward: 

The perl scripts supplied with the SDK are very DOScentric and do not
work in a POSIX environment.

I examined to output of the scripts for determing the correct flags
and commands when I compiled perl.exe for the psion5:

arm-pe-gcc -B/usr/local/lib/gcc-lib/arm-pe/cygnus-2.7.2-960323/ -c -O \
-fomit-frame-pointer -DNDEBUG -nostdinc -Wno-ctor-dtor-privacy        \
-mcpu-arm710 -mapcs-32 -mshort-load-bytes -msoft-float -fcheck-new    \
-fvtable-thunks -D__SYMBIAN32__ -D__PSISOFT32__ -D__GCC32__           \
-D__EPOC32__ -D__MARM__ -D__EXE__ -I ~/epoc/include/ -I ~/epoc/include/libc \
*.c

Linking is like building a DLL:

arm-pe-ld -s -e _E32Startup --base-file perl.bas -o perlpe.exe  \
~/epoc/lib/eexe.o *.o ~/epoc/lib/ecrt0.o ~/epoc/lib/estlib.lib   \
~/epoc/lib/euser.lib

arm-pe-dlltool --as=arm-pe-as --output-exp perl.exp --base-file perl.bas \
 ~/epoc/lib/eexe.o *.o \
 ~/epoc/lib/ecrt0.o ~/epoc/lib/estlib.lib  ~/epoc/lib/euser.lib 

arm-pe-ld -s -e  _E32Startup -o perlpe.exe perl.exp \
~/epoc/lib/eexe.o *.o \
~/epoc/lib/ecrt0.o ~/epoc/lib/estlib.lib  ~/epoc/lib/euser.lib               

wine "$HOME/epoc/bin/petran.exe perlpe.exe perl.exe -nocall \
  -heap 0x00000400 0x00200000 -stack 0x0000c000 \
  -uid1 0x1000007a -uid2 0x100051d8 -uid3 0x00000000 " 


Please substitute ~/epoc with your favourite location.


Have Fun.