home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / langs / c68_445b.zoo / readme < prev    next >
Encoding:
Text File  |  1995-01-30  |  7.4 KB  |  214 lines

  1.  
  2.             c68 v4.4.5 (TOS)
  3.             ----------------
  4.  
  5.  
  6.  INTRODUCTION
  7.  
  8.  This is the  latest release of my  port of the  freeware ANSI C
  9.  compiler c386/c68 v4.4.   For users  who are not familiar  with
  10.  this product, it is  worth pointing out that  c68 is merely the
  11.  main  compiler  phase of a  C compilation  system rather than a
  12.  complete C compiler  -  you will still need a pre-processor, an
  13.  assembler and a linker.
  14.  
  15.  This  version of c68 generates  68000 code compatible with JAS,
  16.  the assembler from SozobonX.  So, in order to obtain a complete
  17.  compilation system,  it is recommended  to use SozobonX as  the
  18.  back-end and Scott Bigham's CPP 1.1.3 as pre-processor.
  19.  
  20.  A simple  compiler driver (cc68x) is supplied as well as a port
  21.  of MiNTlibs PL44 that  will serve as the standard library and a
  22.  modified version of Fred Fish's portable math library.
  23.  
  24.  The compiler should be usable on machines with 1MB and a single
  25.  disk.  This document  does not describe  the optimal layout for
  26.  various ST configurations, but you can probably figure out what
  27.  makes the most sense for your machine.
  28.  
  29.  
  30.  
  31.  WHO NEEDS C68?
  32.  
  33.  With GNU C available for years now, why even bother to port c68
  34.  to TOS?  The answer is quiet simple: GNU C, as sophisticated as
  35.  it is, won't work on a small ST (with less than 3MB).  SozobonX
  36.  on the other hand, is still far away from being ANSI compliant,
  37.  and will probably never be.
  38.  
  39.  So, unless you are  willing to spend a little fortune on one of
  40.  the commercial compilers, c68 might be your only choice...
  41.  
  42.  
  43.  
  44.  INSTALLATION
  45.  
  46.  If you don't have them already, obtain the following things:
  47.  
  48.   SozobonX:
  49.   ftp.cs.tu-berlin.de:          /pub/atari/Programming/Sozobon.c/*
  50.  
  51.   CPP 1.1.3:
  52.   atari.archive.umich.edu:     /pub/atari/Programming/cpp113.zoo
  53.  
  54.   MiNTlibs PL44 header files:
  55.   atari.archive.umich.edu:    /pub/atari/Mint/Lib/mntinc44.zoo
  56.  
  57.  Follow the included instructions.
  58.  
  59.  Copy the contents  of the folders  man/, inc/, lib/ and bin/ to
  60.  appropriate places.  inc/ contains  replacements for mintbind.h
  61.  and  osbind.h from  mntinc44.zoo  (I have  removed  support for
  62.  Lattice C,  Pure C and  GCC for  apparent reasons;  add missing
  63.  parts from the original files if you need them).
  64.  
  65.  Let environment  variables  $C68INC  and  $C68LIB  point to the
  66.  headers and the library respectively.  If necessary adjust your
  67.  $PATH to include the locations of the compiler parts.
  68.  
  69.  Sources to c68/c386 v4.4  have been posted to comp.os.minix and
  70.  should be  available somewhere.  I will try to upload them to a
  71.  FTP-server soon, but I can't tell to which one yet.  Since this
  72.  is Minix-source, any suggestions where to put it?
  73.  
  74.  
  75.  
  76.  THE ASSEMBLER as68
  77.  
  78.  This version of c68 v4.4.x comes  with its own assembler called
  79.  as68.  Why is this so?  Well, as68 is in fact the  next version
  80.  of JAS to be  included in SozobonX's release 08.  It won't work
  81.  with  older versions of HCC and  TOP, so I had to rename  it to
  82.  avoid  incompatibilities.  Once SozobonX's new  release is out,
  83.  you  can again use  JAS with both HCC and c68.  Note that cc68x
  84.  assumes that  the assembler is called 'as68'; should not be too
  85.  difficult for you to change this, though.
  86.  
  87.  
  88.  
  89.  WHAT ELSE DO I HAVE TO KNOW?
  90.  
  91.  The default size for int is 2 bytes, which can  be changed to 4
  92.  bytes  with the -mlong option of cc68x.  See the man  pages for
  93.  further information  on this.  Note also that  sizeof() returns
  94.  unsigned long, thus
  95.  
  96.     printf( "%d\n", sizeof(long) );
  97.  
  98.  will have the  surprising result of '0' in -mshort mode.  Check
  99.  also file 'compiler.h' of MiNTlibs to find out more about c68's
  100.  differences to SozobonX's HCC.
  101.  
  102.  
  103.  
  104.  COMPILING THE MiNT KERNEL
  105.  
  106.  Yes, it should  be possible to build the MiNT / MultiTOS Kernel
  107.  with c68  (68000 processors only and without  memory protection
  108.  of course).  The biggest problem right now is that JAS does not
  109.  know  anything about 68030s, FPUs or PMMUs, so you will have to
  110.  edit most of the '.spp' files and remove that stuff.  Use Scott
  111.  Bigham's mit2mot utility to translate GAS-syntax into something
  112.  JAS accepts.
  113.  
  114.  
  115.  
  116.  GEM PROGRAMMING
  117.  
  118.  If you want to build GEM applications using c68,  you will need
  119.  appropriate bindings which are not included in this package.  I
  120.  did some tests with the XGEMFAST library from SozobonX, and af-
  121.  ter a bit twiddling with the header files succeeded in building
  122.  two small  accessories I wrote years ago.  c68 complained about
  123.  lots of implicitly declared functions, but it worked  neverthe-
  124.  less.  Maybe I should rewrite the headers to make them ANSI.
  125.  
  126.  Any help  in providing  decent  GEM  bindings for  c68 would be
  127.  greatly appreciated.
  128.  
  129.  
  130.  
  131.  DISCLAIMER
  132.  
  133.  IN NO EVENT WILL I AND/OR ANY  OTHER PARTY BE LIABLE TO YOU FOR
  134.  DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPE-
  135.  CIAL,INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
  136.  OR INABILITY TO USE  (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
  137.  OR DATA BEING RENDERED INACCURATE OR LOSSES  SUSTAINED BY THIRD
  138.  PARTIES OR A FAILURE OF THE PROGRAMS TO OPERATE WITH OTHER PRO-
  139.  GRAMS) THE PROGRAMS,EVEN IF YOU HAVE BEEN ADVISED OF THE POSSI-
  140.  BILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
  141.  
  142.  
  143.  
  144.  ACKNOWLEDGEMENTS
  145.  
  146.  Here is a list of people who helped (directly or indirectly) to
  147.  turn more than 1.5 MB of source files into a working compiler:
  148.  
  149.  Scott Bigham               cc68x, cpp, libsort, MiNTlibs
  150.  Jerry Geiger, Volker Seebode         Maintainers of SozobonX
  151.  Keith and Dave Walker         c68/c386 v4.x original releases
  152.  
  153.  
  154.  
  155.  AUTHORS
  156.  
  157.  Versions prior to release 4.0:
  158.     Christoph van Wullen.
  159.  
  160.  ANSIfication work and other enhancements in Release 4.0
  161.  and later releases:
  162.  
  163.  Keith Walker
  164.     email: kdw@oasis.icl.co.uk
  165.     (bug fixes, IEEE support, ANSIfication)
  166.  Dave Walker
  167.     email: d.j.walker@slh0101.wins.icl.co.uk
  168.     (IEEE support, Errors/Warnings, documentation)
  169.  
  170.  Port to Atari ST (TOS version):
  171.     Thorsten Roskowetz
  172.     email: rossi@titan.rz.uni-osnabrueck.de
  173.  
  174.  MiNTlibs PL44 and PML PL23:
  175.     Lots of people including Dale Schumacher, Eric R. Smith,
  176.     Fred Fish, Jwahar Bammi, entropy, Michael Hohmuth, Scott
  177.     Bigham, Andreas Schwab, Howard Chu, Juergen Lock, Bjarne
  178.     Pohlers, Hildo Biersma,  Kay Roemer, Dirk Haun,  Cristof
  179.     Stadler, Frank Baumgart,  Frank Rossien, Robert Wilhelm,
  180.     Stefan Steyer,  Michal Jaegermann, Stephen Henson, Simon
  181.     Gornall, Wolfgang Lux,Martin Koehling, Markus Kilbinger,
  182.     Ulf Moeller, Ole Arndt, Uwe Ohse,  Stefan Steyer, Ulrich
  183.     Kuehn, Jan-Hinrich Fessel, ...
  184.  
  185.  
  186.  
  187.  COPYRIGHT
  188.  
  189.  Versions of c68/c386 prior to release 4.0 are:
  190.      Copyright (C) 1989,90,91 Christoph van Wuellen.  Credits to
  191.      Matthew Brandt.  All commercial rights reserved.
  192.  
  193.  This compiler may be redistributed as  long there is no commer-
  194.  cial interest.  The compiler  must not be redistributed without
  195.  its full sources.  This notice must stay intact.
  196.  
  197.  Starting with release 4.0  Keith and Dave Walker took over sup-
  198.  port of c68/c386.  To avoid confusions with  their ongoing work
  199.  on the compiler, this slightly  modified version of release 4.4
  200.  doesn't come with full sources but with a diff-listing relative
  201.  to it.   Binaries of c68 v4.4.5 (TOS)  may not be redistributed
  202.  without the diff-listing and this text-file.
  203.  
  204.  Most of the  Libraries (MiNTlibs and PML)  is public domain and
  205.  hence may be used without restriction.  Please note the follow-
  206.  ing exceptions (explained in more detail in file 'Copyright' of
  207.  the MiNTlibs PL44 source code distribution):
  208.  
  209.  doprnt.c and the curses library/header files are:
  210.      Copyright (C) 1988 Regents of the University of California.
  211.  
  212.  obstack.c and obstack.h are:
  213.      Copyright (C) 1988 Free Software Foundation, Inc.
  214.