home *** CD-ROM | disk | FTP | other *** search
/ ftp.muug.mb.ca / 2014.06.ftp.muug.mb.ca.tar / ftp.muug.mb.ca / pub / src / unzip.tar.gz / unzip.tar / unzip / ATARI_ST.arc / README < prev    next >
Text File  |  1991-01-21  |  3KB  |  86 lines

  1. unzip 4.01 for the Atari ST
  2. ===========================
  3.  
  4. I have compiled unzip.prg with TURBO C 2.0 for the ATARI ST, probably
  5. the best C compiler available for the Atari ST.
  6.  
  7. My modifications to unzip have been:
  8.  
  9. - forget about the maze of #ifdefs. Until someone cleans it up,
  10.   use just the setup in the beginning of unzip.h.  Essentially
  11.   after that setup, the code compiles like a MSDOS/TURBOC
  12.   variant.  However this link is quite fragile since the
  13.   MSDOS side might hack the code so that it can no longer compile
  14.   on the Atari.
  15.  
  16. - an alignment problem in the data (unzip.c)
  17.  
  18. - set '\' as the path character for the Atari ST (misc.c)
  19.  
  20. - misc. optimizations (ReadByte, READBIT), which you can safely ignore.
  21.  
  22. - I did not clean up the code, so that some warnings will still
  23.   appear (prototypes, casts etc.)
  24.  
  25. I am providing UNZIP.PRG for the Atari ST as unz_prg.arc.
  26. This file, and the patches are contained in unz_st.tar.Z
  27. since 'patch' is required to apply the modifications.
  28. Also I think that the Atari ST version might be somehow integrated
  29. into the main distribution.
  30.  
  31. Attention:
  32. ==========
  33. 1)
  34.  The accompanying binary contains a special version of the startup file
  35.  which is capable to recognize extended parameters a la Beckemeyer/Mark
  36.  Williams shell, using the "ARGV=" Environment variable.
  37.  
  38. 2)
  39.  Although the Turbo C compiler is quite good, the libs are buggy!
  40.  Therefore I cannot garantee that any unzip.prg compiled with Turbo C
  41.  will ever run successfully. Mine seems to be ok., but I have fixed
  42.  various problems for my lib. Especially the stat() was making trouble.
  43.  
  44. However, if someone wants to compile it the same way I did,
  45. there are essentially 3 ways:
  46. - using a shell, and the command line compiler TCC,
  47.   as indicated by the script 'MAKEIT',
  48.  
  49. - using some sort of make and 'MAKEFILE.ST'
  50.   ( in my special case, I had to call make through the script 'TCM')
  51.   This and the previous case bothrequire also 'TLINK.OPT'
  52.  
  53. - using the interactive version 'TC' of Turbo C and
  54.   the supplied 'UNZIP.PRJ'.
  55.  
  56. Please read the note above about problems which might arise
  57. when you recompile unzip on your Atari.
  58.  
  59. General considerations:
  60. =======================
  61.  
  62. The configuration of a widely portable tool is always a little bit
  63. complicated, but unzip.h is really not up to the task.
  64.  
  65. I could not manage to compile anything correctly (on the Atari)
  66. until I had thrown away all of those #ifdefs.
  67.  
  68. For good portability (using the preprocessor) you must:
  69.  
  70. - not use #ifdef/ifndef but rathe rely on #if THIS or
  71.   #if THAT == 0. That will allow you to combine those constants
  72.   in any way you want.
  73.  
  74. - use something like ANSI_C which you can control yourself.
  75.   __STDC__ is not a safe way to handle this, since e.g. TURBO C
  76.   does not set __STDC__ as soon as additional keywords are allowed.
  77.   However __STDC__ implies ANSI_C. Also, since ANSI C is the
  78.   mainstream C, the major version should comply to it.
  79.  
  80. - break down important sections (MSDOS/OS2), UNIX, VMS, others;
  81.   perhaps allow more categories as OS, COMPILER, TERMINAL type etc.
  82.   and let these be configured in central place.
  83.  
  84. - don't rely on guesses from switches set by the compiler. That works
  85.   only for a few versions.
  86.