ReadMe 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. Acorn-specific compile instructions
  2. -----------------------------------
  3. Use the "RunMe1st" file (it is an Obey file) to convert all the files from
  4. "filename/[chs]" to "[chs].filename" (so that zip could be easily compiled
  5. under RISC OS). It will also set the correct makefile.
  6. To compile just set the CSD to the main zip directory and run 'amu'.
  7. Currently only the Acorn C V5 compiler has been tested but probably also
  8. Acorn C V4 and the Acorn Assembler V2 will be able to compile zip.
  9. The default makefile is configured without the support for the
  10. Extended Timestamp Extra Field. If you wan to enable it you have to
  11. add "-DUSE_EF_UT_TIME" to CFLAGS (see makefile). Without the Extended
  12. Timestamp Field support, zipfiles created by zip are identical to the
  13. zipfiles created by SparkFS. However, the Extended Timestamp Field can
  14. be useful if you are going to unzip your zipfiles on a non-RISC OS machine
  15. since the correct time stamp will be preserved across different timezones.
  16. Note that in this case, both the SparkFS Extra Field and the Extended
  17. Timestamp Extra Field will be used, so the zipfiles will still be fully
  18. compatible with SparkFS and with the RISC OS version of unzip.
  19. The executables-only distributions will be compiled without the support for
  20. the Extended Timestamp Extra Field. If you need it but you can't compile zip
  21. yourself, you can contact the authors at the Info-ZIP address who will do it
  22. for you.
  23. Acorn-specific usage instructions
  24. ---------------------------------
  25. An extra option ('I') has been added to the Acorn port: if it is specified
  26. zip will not consider Image files (eg. DOS partitions or Spark archives when
  27. SparkFS is loaded) as directories but will store them as single files. This
  28. means that if you have, say, SparkFS loaded, zipping a Spark archive will
  29. result in a zipfile containing a directory (and its content) while using the
  30. 'I' option will result in a zipfile containing a Spark archive. Obviously
  31. this second case will also be obtained (without the 'I' option) if SparkFS
  32. isn't loaded.
  33. When adding files to a zipfile; to maintain FileCore compliance, all
  34. files named "file/ext" will be added to the archive as "file.ext".
  35. This presents no problem if you wish to use unzip to extract them on any
  36. other machine, as the files are correctly named. This also presents no
  37. problem if you use unzip for RISC OS, as the files are converted back to
  38. "file/ext" format. The only problem appears when you use SparkFS to
  39. decompress the files, as a file called "file.ext" will be extracted as
  40. "file_ext", not what it was added as. You must be careful about this.
  41. Case Specific. Depending on how you type the command, files will be added
  42. exactly as named; in this example:
  43. *zip new/zip newfile
  44. *zip new/zip NewFile
  45. *zip new/zip NEWFILE
  46. will create an archive containing 3 copies of the same Risc OS file 'newfile'
  47. called 'newfile', 'NewFile' and 'NEWFILE'. Please be careful.
  48. The Acorn port conserves file attributes, including filetype, so if you
  49. zip on an Acorn, and unzip on another Acorn, filetypes will be maintained
  50. precisely as if you used uncompressed files. If you de-archive on another
  51. machine (PC, Mac, Unix etc..), filetypes will be ignored, but the files
  52. will be identical despite this. This feature is fully compatible with
  53. SparkFS, so zipfiles created by zip will be correctly uncompressed (including
  54. filetype, etc.) by SparkFS.
  55. An additional feature went into this port to cope better with C-code
  56. and extensions. This allows the acorn files "c.foo" to be added to the
  57. archive as "foo/c", eventually appearing in the archive as "foo.c", allowing
  58. for better handling of C or C++ code. Example:
  59. *Set Zip$Exts "dir1:dir2:dir3"
  60. *zip new/zip dir1.file
  61. *zip new/zip dir2.help
  62. *zip new/zip dir3.textfile
  63. Creates a zipfile new/zip, with entries file.dir1, help.dir2, textfile.dir3.
  64. The usual settings for Zip$Exts are "h:o:s:c", allowing C code to be added
  65. to the archive in standard form.
  66. A final note about the Acorn port regards the use of the 'n' option: this is
  67. used to specify a list of suffixes that will not be compressed (eg. .ZIP,
  68. since it is already a compressed file). Since RISC OS uses filetypes instead
  69. of suffixes, this list of suffixes is actually considered as a list of
  70. filetypes (3 hex digit format). By default, zip doesn't compress filetypes
  71. DDC (Archive, Spark or Zip), D96 (CFS files) and 68E (PackDir).