62
•
_EPOC_DRIVE_ statement in .ini file maps drives additional to c:, d: and z:
• better support for just-in-time debugging of EPOC panics
• international keyboard variants are now supported (previously, US and UK keyboards
were mapped correctly; everything else was mapped to UK)
• fascia bitmap filename must match
.ini filename
• other improvements to path handling
• the graphics emulator has been renamed from
wsexe.exe to epoc.exe (strictly a
WSERV change rather than E32)
Improvements and fixes to WINC including
• in narrow builds only, it is possible to redirect console output to stdout
• can write to
z:\ instead of treating it as read-only (a hangover from WINS)
• default directory is now the current Windows directory on invocation, not
c:\: this
makes writing DOS batch files to call WINC utilities very much more straightforward
(another hangover from WINS)
• no memory limits (yet another hangover from WINS)
The emulator’s new flexible directory structure enables you to run the emulator (and applications
built for it) from any directory. However, these changes are not yet reflected in the C++ toolset,
so that the C++ SDK must still be installed using the old directory structure.
8.5.3.1.4 Tools
Wide-ranging changes to
makmake to support new system facilities including:
• deb/rel interoperability:
.def files are now identical for both debug and release builds,
and hence no longer have
-d suffixes for debug builds
• support for Unicode projects:
-u flag passed to rcomp, UNICODEUID statement
added
•
AUTOUID processing is now compulsory, therefore old #pragma data_seg
directives must be removed from C++ source files
•
__SYMBIAN32__ macro is now added to all builds
•
EXEDLL processing is improved
• support for limited writeable static added for restricted purposes
• support for more “EPOC” targets — ie, those running native on hardware, rather than
under an OS such as Win32 — than MARM, and consequent renaming of some
statements eg
STACKSIZE which were only allowed within START MARM
blocks, to EPOCSTACKSIZE which are allowed anywhere (but are ignored for
non-machine builds).
•
EPOCPROCESSPRIORITY and EPOCFIXEDPROCESS parameters
now allowed for
.exes (they are passed through to petran), for OEM use
• source directory now searched for user include files
•
FIRSTOBJECT allows eexe or edll to be replaced by any specified object file
• support for app, LDD, PDD, FSY by creating
.def file automatically
• multiple resource file support through
LANG, RESOURCE and
SYSTEMRESOURCE statements
As a result, all EPOC
.mmp files must be changed. The impact on applications is lowest (mainly
AUTOUID), while that on some kernel-side or system objects is higher.
evalid tool added to compare EPOC binaries — executables, DLLs, resource files etc — to
check certain types of build compatibility.
evalid runs on Windows NT only.
rombuild and petran, as well as makmake, have been altered to support dual-variant ROMs,
fixed processes and writeable static data, and some tidying up. As a result,
.oby files used for
ROM building have changed substantially.