Short: E compiler Author: Chris Handley Uploader: http://cshandley.co.uk/email Type: dev/e Version: r5b Architecture: m68k-amigaos >= 3.0.0; ppc-amigaos >= 4.0.0; i386-aros; ppc-morphos; other PortablE is my attempt to recreate AmigaE from scratch, with all the improvements I have wanted - but with backwards compatibility not a top priority (although I feel it is pretty good now), and with esoteric stuff (like Lisp cells) left out, at least for the moment. PortablE is not a traditional compiler, because it doesn't output machine code, or even assembler (although it could), but rather it translates your code into another language (not just C++) for a chosen OS (not just AmigaOS). You would then be expected to give the output code to a 'real' compiler. That said, it now comes with the PEGCC program, which automatically calls GCC after PortablE, so you can get an executable program directly from E source code (if you have GCC installed, which is easy to do). Current status -------------- PortablE is capable of generating code for both the C++ and AmigaE(!) languages, and it supports Windows, Amiga OS3, OS4, AROS & MorphOS. (Note that MorphOS support is not so well tested yet.) In the future it may support more OSes & languages. For ease of use, it comes with the PEGCC program to automatically call G++ (GCC) after PortablE, and so produces an executable program directly from E source code. PortablE has native executables for Windows, Amiga OS3, OS4, AROS (x86) & MorphOS - all compiled by GCC using AmiDevCpp on Windows, from C++ code generated by PortablE itself! (Note that PortablE for OS4 is now actually compiled on OS4 itself.) It comes with portable modules to cover basic functionality like file & directory access, and shell parameter parsing. You can find a complete list & description of all of them in the "StandardFunctionality" document. Many AmigaOS modules are also provided for OS3/OS4/AROS/MorphOS: AmigaGuide, AmigaLib, Asl, Commodities, Console, DataTypes, Devices (inc. Timer), Diskfont, Dos, Exec, Gadgets, Gadtools, Graphics, Icon, Identify, IFF, IFFParse, Images, Intuition, Locale, MUIMaster, Resources, ReqTools, RexxSysLib, Utility & Workbench, plus part of class, mui/*_mcc, Other & Tools. Additional modules can be added if there is interest, but the original idea for PortablE was to provide abstract modules that did not expose the OS. Additionally, AmigaOS modules for some targets have been contributed by others: 'devices/ahi'(OS3/OS4), 'libraries/ahi_sub'(OS3/OS4), 'libraries/cd_play'(all), 'libraries/freedb'(all), 'mpega' & 'libraries/mpega'(OS3/OS4), 'mui/Lamp_mcc'(OS3/OS4), 'mui/TheBar_mcc'(OS3/OS4). Recent major news ----------------- This contains a quick fix for the MorphOS installer of yesterdays release. Also all MorphOS executables are now compiled using -noixemul. Thanks to Itix for his suggestions. This release has focused on optimising PortablE, although other things were also done: * Experimental MorphOS support (for C++), including MOS executables! MUI seems to work. * Modules provided by others for AHI, CD_Play, FreeDB, MPEGA & some MUI bits. * PortablE is up to 65% faster than before. * PortablE's memory usage has been halved! Now similar to GCC's. * MUI programs with custom classes can now be compiled by AmiDevCpp for OS3. * Added emulation of AmigaE's ! (floating-point) operator to the compatibility mode. * FastNew is implemented using an enhanced TLSF algorithm, greatly reducing memory usage. * Programs produced by PortablE run faster, and PEGCC produces smaller executables. * Lists are now truely stack-allocated, rather than being dynamically faked. * Implemented the missing string formatting codes (\l, \r, \z, [w] & (x,y)) for C++. * For speed, multi-threading support is now disabled unless you use OPT MULTITHREADED. * Directory scanning is now much more robust on Windows. * Improved documentation; clickable links, added bold/etc & special characters now visible. * More examples of portable code. * Various bug fixes. Further information ------------------- PortablE comes with documentation, but you can always find the latest version of PortablE & on-line documentation from it's homepage: http://cshandley.co.uk/portable