home *** CD-ROM | disk | FTP | other *** search
- MiNT library for Heat-n-Serve/Sozobon C, patchlevel 43
-
- This is a port of Eric Smith's MiNT library to Heat-n-Serve C, based on
- Dave Gymer's original port. It replaces the files dlibs.a, dstart.o,
- and libm.a from the original Heat-n-Serve distribution, and includes a
- simple termcap library.
-
- If you are currently using HSC v1.33i or earlier, I _strongly_ recommend
- upgrading to at least 1.40 before attempting to compile this library.
- The make and ar from previous versions of HSC don't understand ARGV and
- hence can't cope with the literally hundreds of command-line arguments
- that the makefile tries to throw at them.
-
- As of version 30, you will need extra tools to build the HSC MiNTlibs.
- At the site where you found this archive, look for the following
- archives:
-
- mntincXX.zoo
- The library header files for version XX (currently 43). If
- you're using the MiNTlibs at all, you should already have these.
- mnthlbXX.zoo
- The binary distribution of the MiNTlibs. You will need this for
- the floating-point library libm.a, which is no longer distributed
- with this archive.
- cpp.zoo
- A stand-alone C preprocessor. Extremely useful in its own
- right, since HSC doesn't have the -E option.
- mit2mot.zoo
- A MIT-to-Motorola assembly code translator. This and cpp will
- be used to convert the .cpp files in the MiNTlibs distribution
- to .s files that HSC can deal with.
-
- WHAT'S HERE:
-
- readme
- This file.
- inistack.s
- linea.s
- lmalloc.s
- sozolong.s
- sozulong.s
- termcap.c
- makefile
- HSC-specific source files.
- ps.c
- Source for a process listing utility, as an example of MiNT
- programming.
-
- WHAT TO DO WITH IT:
-
- 0) Obtain all of the files listed above.
-
- 1) Copy libm.a from the MiNT binaries distribution to the directory
- where the MiNT libraries will live. Install the MiNT header files
- if you have not already done so. Put cpp.ttp and mit2mot.ttp
- somewhere where make can find them.
-
- 2) From the main source directory, delete all files beginning with '_',
- as well as alglobal.c, linea.c and inistack.c. Copy all the .s
- files from this directory, as well as termcap.c and makefile, to the
- main source directory.
-
- 3) Edit osbind.h from the MiNT include distribution. Find the macro
- definitions for trap_14_wllwwwwwlw(), spanning lines 1318-1358 and
- 1465-1509 (or thereabouts). Delete every scrap of white space you
- can from these macros. Otherwise, they overrun HSC's static line
- buffer.
-
- 4) Replace the gemfast.h from the MiNT distribution with the gemfast.h
- from the Heat-n-Serve distribution (the GEMfast that comes with
- HSC is almost certainly more recent than the header file from the
- MiNT distribution).
-
- 5) cd to the main source directory and type `make'. Go watch a
- movie. ;)
-
- NB. You may have noticed that the makefile has a `short_names'
- target. You should not need to invoke this, unless you want to
- build a 1.40-compatible library with a version of HSC that supports
- long external identifiers (v2.00 and up).
-
- 5a) If you have old versions of make and ar, the actual creation of
- dlibs.a should have stopped with an error message. This is because
- these old versions simply can't cope with the hideously long command
- line necessary to build dlibs.a. At this point, you'll have to
- build dlibs.a manually, a few files at a time. Consult the makefile
- to see what files need to be added and the necessary commands to add
- them. Then type `make' again to build the rest of the distribution.
-
- 6) Copy dlibs.a, dstart.o and libtermcap.a (or libtermc.a) to your MiNT
- library directory. Also copy aesfast.a and vdifast.a from the
- Heat-n-Serve distribution.
-
- HOW TO USE IT:
-
- Couldn't be simpler -- just set the environment variables LIB and
- INCLUDE to point to the appropriate directories and go. In fact, you'll
- probably never need to use the Heat-n-Serve dLibs package again; I
- recommend keeping it around, though, just in case. Should you ever need
- to switch back temporarily, just set LIB and INCLUDE accordingly.
-
- DISCLAIMER:
-
- What, you were expecting an ironclad guarantee of performance? ;) Okay,
- while I have built several large programs with this library with no
- problems, I can't guarantee that there aren't still a few bugs lurking
- around in the code. Caveat emptor, use at your own risk, and all that
- jazz. And if you should happen to find a bug, please notify me at the
- address below.
-
- Have fun!
-
- Scott Bigham dsb@cs.duke.edu
-
- [Here's Dave's original readme file. Little if any of it still applies,
- but hey, credit where it's due...]
- ==========================================================================
- Here's my (dodgy) port of MiNTlib to Sozobon C.
-
- This has not been fully tested, and there is no floating point support,
- because I have no interest in that direction.
-
- I used the Sozobon C 2.0 source as distributed, built under GCC 1.39 as
- a UNIX hosted cross compiler, to do my original port (which was
- released as part of pl18 of the library). Later versions were done with
- Ian Lepore's 1.33i release. I used GNU make; your mileage under any
- other make may vary. I did carry on using a version of ar compiled with
- the GCC, since only a version compiled with the MiNTlib understands
- about long arg lists, such as the enourmous list of modules given.
-
- To build this library, delete all the *.s and *.cpp files from the main
- lib directory, and also linea.c, which clashes with linea.s. Then copy
- all the files in the sozobon directory into the lib directory, and hit
- make (some adjustment of the makefile may be necessary).
-
- You might look on this as a farewell gift to MiNT, since I'm awaiting
- delivery of a brand new 386DX-33 PC to try Linux out on; if it works,
- I'm unlikely to use my ST much any more other than for soundtracking
- and archival purposes (though I will try to build a cross-gcc, to keep
- an eye on how MiNT progresses).
-
- -- Dave Gymer (dpg@Cs.Nott.AC.UK)
-