home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-10-31 | 2.0 KB | 41 lines | [TEXT/ttxt] |
- The guts of the system is a bog-standard installation
- of g++ for 68020/BSD unix sitting on top of an emulation
- library which manages the various programs through applevents
-
- the source code for the compiler is available from prep.ai.mit.edu
- and many other places, there are no source code changes necessary,
- it just needs to be configured for hp300bsd and linked with libc.a
- which contains the emulation library. The necessary files will
- be called gcc2.7.2.tar.gz, binutils-2.6.tar.gz
-
- the source code for BSD4.4 is available from src.doc.ic.ac.uk
- and many other places. The source code for the emulation library is
- included in the usr:src:mac folder
-
- to recompile the emulation library you will need apple toolbox headers
- (ftp.support.apple.com) gcc-1.37r15 (MPW version of gcc)
- filter.sed (included, makes output of gcc-1.37 acceptable to gas)
- ar (archiver) and ranlib (prepares library for linking)
-
- On the whole, I recommend using a unix box for this purpose rather than
- trying to do it all on the mac, though this is certainly possible if you
- have PATMOS
-
- the emulation library recognises the file name a.out as being special
- and copies the mac resource fork from the ld program to make a standalone
- executable. At this stage the output of ld is still relocatable
-
- when you launch the application, the resource fork code fixes up the addresses
- as necessary and reads the program from the applications data fork.
- At this stage you could get an obscure error message if the file format is
- incorrect, or if there are undefined external references. You can pre-empt this
- (check the application) by dropping it on the ld (linker) application by itself
-
- there are no variations in compiler memory model available, everything is 32-bit.
- the code is optimised for 68040 but you can change this in the specs file.
-
- the C++ standard library is based on libg++, interfaced to BSD libc
- inside the emulation library certain assumptions are necessary such as
- maintaining the A5 register, these routines are distinguised by not having an
- underscore in front of the subroutine name.
-