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
| |