home *** CD-ROM | disk | FTP | other *** search
/ Practical Algorithms for Image Analysis / Practical Algorithms for Image Analysis.iso / TARFILE.GZ / tarfile / libtiff / contrib / acorn / convert < prev    next >
Encoding:
Text File  |  1999-09-11  |  4.1 KB  |  176 lines

  1. RISC OS Conversion log
  2. ======================
  3.  
  4. mkversion.c
  5. ~~~~~~~~~~~
  6. The RISC OS command-line does not allow the direct creation of the version.h
  7. file in the proper manner. To remedy this in such a way that the version
  8. header is made at compiletime, I wrote this small program. It is fully
  9. portable, so should work quite happily for any other platform that might need
  10. it.
  11.  
  12. msg3states.c
  13. ~~~~~~~~~~~~
  14. Needed getopt.c from the port folder, then compiled and worked fine.
  15.  
  16.  
  17. tiff.h
  18. ~~~~~~
  19.  
  20. ====1====
  21.  
  22. The symbol _MIPS_SZLONG, if not defined, causes a compiler error. Fixed by
  23. ensuring it does exist. This looks to me like this wouldn't be an
  24. Acorn-specific problem. The new code fragment is as follows:
  25.  
  26. #ifndef _MIPS_SZLONG
  27. #define _MIPS_SZLONG 32
  28. #endif
  29. #if defined(__alpha) || _MIPS_SZLONG == 64
  30.  
  31.  
  32.  
  33. tiffcomp.h
  34. ~~~~~~~~~~
  35.  
  36. ====1====
  37.  
  38. #if !defined(__MWERKS__) && !defined(THINK_C)
  39. #include <sys/types.h>
  40. #endif
  41.  
  42. Acorn also doesn't have this header so:
  43.  
  44. #if !defined(__MWERKS__) && !defined(THINK_C) && !defined(__acorn)
  45. #include <sys/types.h>
  46. #endif
  47.  
  48. ====2====
  49.  
  50. #ifdef VMS
  51. #include <file.h>
  52. #include <unixio.h>
  53. #else
  54. #include <fcntl.h>
  55. #endif
  56.  
  57. This seems to indicate that fcntl.h is included on all systems except
  58. VMS. Odd, because I've never heard of it before. Sure it's in the ANSI
  59. definition? Anyway, following change:
  60.  
  61. #ifdef VMS
  62. #include <file.h>
  63. #include <unixio.h>
  64. #else
  65. #ifndef __acorn
  66. #include <fcntl.h>
  67. #endif
  68. #endif
  69.  
  70. This will probably change when I find out what it wants from fcntl.h!
  71.  
  72. ====3====
  73.  
  74. #if defined(__MWERKS__) || defined(THINK_C) || defined(applec)
  75. #include <stdlib.h>
  76. #define    BSDTYPES
  77. #endif
  78.  
  79. Added RISC OS to above thus:
  80.  
  81. #if defined(__MWERKS__) || defined(THINK_C) || defined(applec) || defined(__acorn)
  82. #include <stdlib.h>
  83. #define    BSDTYPES
  84. #endif
  85.  
  86. ====4====
  87.  
  88. /*
  89.  * The library uses the ANSI C/POSIX SEEK_*
  90.  * definitions that should be defined in unistd.h
  91.  * (except on VMS where they are in stdio.h and
  92.  * there is no unistd.h).
  93.  */
  94. #ifndef SEEK_SET
  95. #if !defined(VMS) && !defined (applec) && !defined(THINK_C) && !defined(__MWERKS__)
  96. #include <unistd.h>
  97. #endif
  98.  
  99. RISC OS is like VMS and Mac in this regard. So changed to:
  100.  
  101. /*
  102.  * The library uses the ANSI C/POSIX SEEK_*
  103.  * definitions that should be defined in unistd.h
  104.  * (except on VMS or the Mac or RISC OS, where they are in stdio.h and
  105.  * there is no unistd.h).
  106.  */
  107. #ifndef SEEK_SET
  108. #if !defined(VMS) && !defined (applec) && !defined(THINK_C) && !defined(__MWERKS__) && !defined(__acorn)
  109. #include <unistd.h>
  110. #endif
  111. #endif
  112.  
  113. ====5====
  114.  
  115. NB: HAVE_IEEEFP is defined in tiffconf.h, not tiffcomp.h as mentioned
  116. in libtiff.README. (Note written on original port from 3.4beta004)
  117.  
  118. Acorn C/C++ claims to accord with IEEE 754, so no change (yet) to
  119. tiffconf.h.
  120.  
  121. ====6====
  122.  
  123. Unsure about whether this compiler supports inline functions. Will
  124. leave it on for the time being and see if it works! (Likely if
  125. everything else does.)
  126.  
  127. ... Seems to be OK ...
  128.  
  129. ====7====
  130.  
  131. Added to the end:
  132.  
  133. /*
  134.  * osfcn.h is part of C++Lib on Acorn C/C++, and as such can't be used
  135.  * on C alone. For that reason, the relevant functions have been
  136.  * implemented by myself in tif_acorn.c, and the elements from the header
  137.  * included here.
  138.  */
  139.  
  140. #ifdef __acorn
  141. #ifdef __cplusplus
  142. #include <osfcn.h>
  143. #else
  144. #include "kernel.h"
  145. #define    O_RDONLY    0
  146. #define    O_WRONLY    1
  147. #define    O_RDWR        2
  148. #define    O_APPEND    8
  149. #define    O_CREAT        0x200
  150. #define    O_TRUNC        0x400
  151. typedef long off_t;
  152. extern int open(const char *name, int flags, int mode);
  153. extern int close(int fd);
  154. extern int write(int fd, const char *buf, int nbytes);
  155. extern int read(int fd, char *buf, int nbytes);
  156. extern off_t lseek(int fd, off_t offset, int whence);
  157. #endif
  158. #endif
  159.  
  160.  
  161. ===============================================================================
  162.  
  163. tif_acorn.c
  164. ~~~~~~~~~~~
  165.  
  166. Created file tif_acorn.c, copied initially from tif_unix.c
  167.  
  168. Documented internally where necessary.
  169.  
  170. Note that I have implemented the low-level file-handling functions normally
  171. found in osfcn.h in here, and put the header info at the bottom of
  172. tiffcomp.h. This is further documented from a RISC OS perspective inside the
  173. file.
  174.  
  175. ===============================================================================
  176.