home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Mint / mntlib32.zoo / sozobon / readme < prev    next >
Text File  |  1993-06-17  |  6KB  |  145 lines

  1. MiNT library for Heat-n-Serve/Sozobon C, patchlevel 30
  2.  
  3. This is a port of Eric Smith's MiNT library to Heat-n-Serve C, based on
  4. Dave Gymer's original port.  It replaces the files dlibs.a, dstart.o,
  5. and libm.a from the original Heat-n-Serve distribution, and includes a
  6. simple termcap library.
  7.  
  8. If you are currently using HSC v1.33i or earlier, I _strongly_ recommend
  9. upgrading to at least 1.40 before attempting to compile this library.
  10. The make and ar from previous versions of HSC don't understand ARGV and
  11. hence can't cope with the literally hundreds of command-line arguments
  12. that the makefile tries to throw at them.
  13.  
  14. As of version 30, you will need extra tools to build the HSC MiNTlibs.
  15. At the site where you found this archive, look for the following
  16. archives:
  17.  
  18.     mntincXX.zoo
  19.         The library header files for version XX (currently 30).  If
  20.         you're using the MiNTlibs at all, you should already have these.
  21.     mnthlbXX.zoo
  22.         The binary distribution of the MiNTlibs.  You will need this for
  23.         the floating-point library libm.a, which is no longer distributed
  24.         with this archive.
  25.     cpp.zoo
  26.     A stand-alone C preprocessor.  Extremely useful in its own
  27.     right, since HSC doesn't have the -E option.
  28.     mit2mot.zoo
  29.     A MIT-to-Motorola assembly code translator.  This and cpp will
  30.     be used to convert the .cpp files in the MiNTlibs distribution
  31.     to .s files that HSC can deal with.
  32.  
  33. WHAT'S HERE:
  34.  
  35.     readme
  36.         This file.
  37.     inistack.s
  38.     linea.s
  39.     lmalloc.s
  40.     sozolong.s
  41.     sozulong.s
  42.     termcap.c
  43.     makefile
  44.         HSC-specific source files.
  45.     ps.c
  46.     Source for a process listing utility, as an example of MiNT
  47.     programming.
  48.     orig/
  49.         Some .s and .c files from previous distributions which are now
  50.         built from .cpp files.  You shouldn't need these.
  51.  
  52. WHAT TO DO WITH IT:
  53.  
  54. 0)  Obtain all of the files listed above.
  55.  
  56. 1)  Copy libm.a from the MiNT binaries distribution to the directory
  57.     where the MiNT libraries will live.  Install the MiNT header files
  58.     if you have not already done so.  Put cpp.ttp and mit2mot.ttp
  59.     somewhere where make can find them.
  60.  
  61. 2)  From the main source directory, delete all files beginning with '_',
  62.     as well as linea.c and inistack.c.  Copy all the .s files from this
  63.     directory, as well as termcap.c and makefile, to the main source
  64.     directory.
  65.  
  66. 3)  Edit osbind.h from the MiNT include distribution.  Find the macro
  67.     definition for trap_14_wllwwwwwlw(), spanning lines 830-874 (or
  68.     thereabouts).  Delete every scrap of white space you can from this
  69.     macro.  Otherwise, it overruns HSC's static line buffer.
  70.  
  71. 4)  Replace the gemfast.h from the MiNT distribution with the gemfast.h
  72.     from the Heat-n-Serve distribution (the GEMfast that comes with
  73.     HSC is almost certainly more recent than the header file from the
  74.     MiNT distribution).
  75.  
  76. 5)  cd to the main source directory and type `make'.  Go watch a
  77.     movie. ;)
  78.  
  79.     NB.  You may have noticed that the makefile has a `short_names'
  80.     target.  You should not need to invoke this, unless you want to
  81.     build a 1.40-compatible library with a version of HSC that supports
  82.     long external identifiers (v2.00 and up).
  83.  
  84. 5a) If you have old versions of make and ar, the actual creation of
  85.     dlibs.a should have stopped with an error message.  This is because
  86.     these old versions simply can't cope with the hideously long command
  87.     line necessary to build dlibs.a.  At this point, you'll have to
  88.     build dlibs.a manually, a few files at a time.  Consult the makefile
  89.     to see what files need to be added and the necessary commands to add
  90.     them.  Then type `make' again to build the rest of the distribution.
  91.  
  92. 6)  Copy dlibs.a, dstart.o and libtermcap.a (or libtermc.a) to your MiNT
  93.     library directory.  Also copy aesfast.a and vdifast.a from the
  94.     Heat-n-Serve distribution.
  95.  
  96. HOW TO USE IT:
  97.  
  98. Couldn't be simpler -- just set the environment variables LIB and
  99. INCLUDE to point to the appropriate directories and go.  In fact, you'll
  100. probably never need to use the Heat-n-Serve dLibs package again; I
  101. recommend keeping it around, though, just in case.  Should you ever need
  102. to switch back temporarily, just set LIB and INCLUDE accordingly.
  103.  
  104. DISCLAIMER:
  105.  
  106. What, you were expecting an ironclad guarantee of performance? ;)  Okay,
  107. while I have built several large programs with this library with no
  108. problems, I can't guarantee that there aren't still a few bugs lurking
  109. around in the code.  Caveat emptor, use at your own risk, and all that
  110. jazz.  And if you should happen to find a bug, please notify me at the
  111. address below.
  112.  
  113. Have fun!
  114.  
  115. Scott Bigham                dsb@cs.duke.edu
  116.  
  117. [Here's Dave's original readme file.  Little if any of it still applies,
  118.  but hey, credit where it's due...]
  119. ==========================================================================
  120. Here's my (dodgy) port of MiNTlib to Sozobon C.
  121.  
  122. This has not been fully tested, and there is no floating point support,
  123. because I have no interest in that direction.
  124.  
  125. I used the Sozobon C 2.0 source as distributed, built under GCC 1.39 as
  126. a UNIX hosted cross compiler, to do my original port (which was
  127. released as part of pl18 of the library). Later versions were done with
  128. Ian Lepore's 1.33i release. I used GNU make; your mileage under any
  129. other make may vary. I did carry on using a version of ar compiled with
  130. the GCC, since only a version compiled with the MiNTlib understands
  131. about long arg lists, such as the enourmous list of modules given.
  132.  
  133. To build this library, delete all the *.s and *.cpp files from the main
  134. lib directory, and also linea.c, which clashes with linea.s. Then copy
  135. all the files in the sozobon directory into the lib directory, and hit
  136. make (some adjustment of the makefile may be necessary).
  137.  
  138. You might look on this as a farewell gift to MiNT, since I'm awaiting
  139. delivery of a brand new 386DX-33 PC to try Linux out on; if it works,
  140. I'm unlikely to use my ST much any more other than for soundtracking
  141. and archival purposes (though I will try to build a cross-gcc, to keep
  142. an eye on how MiNT progresses).
  143.  
  144. -- Dave Gymer (dpg@Cs.Nott.AC.UK)
  145.