SUN

advertisement
Instructions for compiling Sozobon C on Sun's for use as a crosscompiler.
=========================================================================
=
1. Obtain sources for Sozobon C V1.2., these can be found at
atari.archive.umich.edu and panarthea.ebay.sun.com among
others.
2. Obtain dlibs.a, libm.a or any other ST/Alcyon format libraries you
wish to use. See above ftp sites for these, as well.
3. Create the following directory structure: (you can cut and paste this
as a shell script if you'd like.)
mkdir
mkdir
mkdir
mkdir
mkdir
mkdir
mkdir
mkdir
mkdir
mkdir
mkdir
sozobon/
sozobon/bin
sozobon/include
sozobon/include/sys
sozobon/lib
sozobon/src
sozobon/src/hcc
sozobon/src/jas
sozobon/src/tools
sozobon/src/ld
sozobon/src/top
5. Move the sozobon sources to the appropriate directories:
all of the .h files associated with the libraries go in the include
directory.
all .c files go in the appropriate tool directory under the src tree.
all .a files and the dstart.o file go under lib
6. unpack the archive.
7. patch the sources, example:
cd src/hcc
patch < hcc.diff
(then answer prompts)
8. run makeall script from the sozobon root directory. (if you want to
create a debug version of the sozobon tools define the environment
variable DEBUG as -g )
9. the following binaries should appear in the bin/ directory:
hcc.ttp
scc.ttp
snm.ttp
sld.ttp
top.ttp
jas.ttp
ar.ttp
han's cc compiler
sozobon c compiler driver
sozobon 'nm' tool
sozobon ld tool
tony's optimizer
joe's assembler
sozobon library maintainer
NOTE:
a. I put the s in front of cc, ld, and nm to avoid naming conflicts
with
my setup. If you don't like the s's just change the makefiles.
b. The glob.ttp tool is not supported for this release.
10. try compiling the 'hex.c' file using sozobon: scc.ttp hex.c
If everything went properly this should produce an ST executable
called hex.ttp in the same directory. (Unoptimized File size: 8839)
Additional features in Sun version:
===================================
The compiler driver scc supports the following environment variables:
LIBC - defines file name C runtime library to link against
- i.e. setenv LIBC dlibs.a
CSU
- defines file name of 'C startup' code (i.e. dstart.o)
- i.e. setenv CSU dstart.o
LIBM - defines file name of math library
- i.e. setenv LIBM libm.a
NOTE: scc will prepend the path name in the environment variable LIB
to the above filenames.
TIPS for using Sozobon C on BSD:
================================
1. Put the sozobon/bin directory in your PATH environment variable.
2. setup links to the binaries in the bin area without the .ttp
extension.
(ex: 'ln -s scc.ttp scc' then you can just type scc -flags file.c)
The '.ttp' extension is required for scc to be able to find the other
tools. I didn't feel like modifying it.
Caveats:
========
The Sozobon preprocessor has some problems handling certain constructs.
It
seemed to improperly handle the '\' line break mechanism properly, as
well.
I think these are part of Sozobon itself. Rather than peculiarities of
this
particular port.
Obligatory Disclaimer:
======================
This port comes with no warranty express or implied, but if you do
have problems feel free to cry on my shoulder. :^)
Bug Reports/ Questions/ Fixes : Kent.Dalton@FtCollins.NCR.com (preferred)
72320.3306@compuserve.com
Download