epocemx
epocemx is a collection of tools (including a port of GCC) and
libraries which enable building EPOC R5 (ER5) applications under Unix.
EPOC R6 (ER6, Symbian OS) is not supported.
Click here to go to
the project page.
Features
- All tools are available as native Unix programs, you don't need Wine
to run the EPOC SDK tools; only the headers and libraries of the EPOC
SDK are used
- epocemx proper includes these development tools running both
under Unix and EPOC:
- eld, a wrapper around ld, dlltool, and emximage
- emxaif, for creating AIF files
- emxdump, for dumping and checking EPOC executable files
- emxfixhdr, for adapting EPOC SDK header files
- emximage, for creating EPOC executables (like petran.exe)
- emxlink, for creating symbol links in SIS files
- emxmknod, for creating device files in SIS files
- emxobj, for managing object files and libraries
- emxrsc, for managing resource files (like rcomp.exe)
- emxsis, for managing SIS files (like makesis.exe)
- make, a simple make tool
- epocemx proper includes these tools for EPOC:
- emxpanic, for debugging panics
- uidtool, for displaying UIDs of files
- epocemx proper includes a simple Unix shell for EPOC, along with
these Unix commands for EPOC: basename, cat,
dirname, du, ls, printenv
- The GNU binary utilities have been ported to EPOC. Available
programs are: ar, as, dlltool, ld,
nm, objdump, ranlib, size,
strings
- The GNU diff utilities have been ported to EPOC. Available
programs are: cmp, diff, diff3,
sdiff
- The GNU find utilities have been ported to EPOC. Available
programs are: find, xargs
- GNU grep has been ported to EPOC. Available programs are: egrep,
fgrep, grep
- GNU gzip has been ported to EPOC. Available programs are: gzip,
gunzip, zcat
- The GNU shell utilities have been ported to EPOC. Available
programs are: date, echo, env,
expr, factor, false, printf,
seq, sleep tee, test,
true, tty (note, however, that some of these are
also implemented as shell builtins)
- The GNU text utilities have been ported to EPOC. Available
programs are: cat, cksum, comm,
csplit, cut, expand, fmt,
fold, head, join, nl, od,
pr, ptx, sort, split,
sum, tac, tail, tr,
tsort, unexpand, uniq, wc
- Other GNU programs ported to EPOC: recode, sed,
tar
- Other programs ported to EPOC: bzip2,
bzip2recover, less, unzip, zip
- The EmxConsole application provides a text console for command
line programs; EmxConsole features backscrolling and line editing with
history
- emx.dll contains additional Unix functions and replaces some
functions of ESTLIB.DLL to fix bugs and add features
- GCC has been modified to be able to compile an EPOC application
with only one invokation (standard Unix Makefiles will work)
- GCC also runs under EPOC on machines with enough memory
Important note
This release of emx.dll is not compatible with executables
built for earlier versions of emx.dll (up to and including
epocemx-20020523, ie, versions less than 1.0).
Incompatible executables will be terminated by panic EMX 11.
Rebuilding those executables solves that problem.
Downloading and Installing
Currently, epocemx is distributed as DIY kit, that is, you have to
compile most of the stuff yourself (but see below). You need the
following files (you can also use .tar.bz2 files instead
of .tar.gz files):
- epocemx-20041223.tar.gz, required
- binutils-2.11.tar.gz, required, available from GNU mirrors
- bzip2-1.0.2.tar.gz, optional, available from
http://sources.redhat.com/bzip2
- diffutils-2.8.tar.gz, optional, available from GNU mirrors
- gcc-20010205.tar.gz, required,
no longer available from GCC snapshot archives
- gawk-3.1.0.tar.gz, optional, available from GNU mirrors
- grep-2.4.2.tar.gz, optional, available from GNU mirrors
- gzip-1.2.4a.tar.gz, optional, available from GNU mirrors
- less-374.tar.gz, optional, available from GNU mirrors
- recode-3.6.tar.gz, optional, available from GNU mirrors
- sed-3.02.tar.gz, optional, available from GNU mirrors
- tar-1.13.tar.gz, optional, available from GNU mirrors
- textutils-2.0.tar.gz, optional, available from GNU mirrors
- unzip550.tar.gz, optional, available from
http://www.info-zip.org/pub/infozip/
- zip23.tar.gz, optional, available from
http://www.info-zip.org/pub/infozip/
- the EPOC R5 C++ SDK, required, used to be available from
http://www.symbiandevnet.com
You need exactly these versions, don't try newer or older versions.
In particular, using the correct version of binutils and GCC is essential.
To build epocemx, unpack epocemx-YYYYMMDD.tar.gz:
gunzip < epocemx-YYYYMMDD.tar.gz | tar xf -
This creates the directory epocemx-YYYYMMDD. Then,
follow the instructions provided in file INSTALL in that
directory.
Binary distribution
Some SIS files packaged in ZIP files are available from the
download page.
Additionally, the latest version of emxuser.zip
is available here for direct download.
More information
See the README file of emxuser.zip and
epocemx-YYYYMMDD.tar.gz
for more information.
Related software
- eEmacs
- Emacs-like editor for EPOC
- fst
- File System Tool
- emx
- emx (for OS/2 and DOS)