176 lines
4.1 KiB
Plaintext
176 lines
4.1 KiB
Plaintext
RISC OS Conversion log
|
|
======================
|
|
|
|
mkversion.c
|
|
~~~~~~~~~~~
|
|
The RISC OS command-line does not allow the direct creation of the version.h
|
|
file in the proper manner. To remedy this in such a way that the version
|
|
header is made at compiletime, I wrote this small program. It is fully
|
|
portable, so should work quite happily for any other platform that might need
|
|
it.
|
|
|
|
msg3states.c
|
|
~~~~~~~~~~~~
|
|
Needed getopt.c from the port folder, then compiled and worked fine.
|
|
|
|
|
|
tiff.h
|
|
~~~~~~
|
|
|
|
====1====
|
|
|
|
The symbol _MIPS_SZLONG, if not defined, causes a compiler error. Fixed by
|
|
ensuring it does exist. This looks to me like this wouldn't be an
|
|
Acorn-specific problem. The new code fragment is as follows:
|
|
|
|
#ifndef _MIPS_SZLONG
|
|
#define _MIPS_SZLONG 32
|
|
#endif
|
|
#if defined(__alpha) || _MIPS_SZLONG == 64
|
|
|
|
|
|
|
|
tiffcomp.h
|
|
~~~~~~~~~~
|
|
|
|
====1====
|
|
|
|
#if !defined(__MWERKS__) && !defined(THINK_C)
|
|
#include <sys/types.h>
|
|
#endif
|
|
|
|
Acorn also doesn't have this header so:
|
|
|
|
#if !defined(__MWERKS__) && !defined(THINK_C) && !defined(__acorn)
|
|
#include <sys/types.h>
|
|
#endif
|
|
|
|
====2====
|
|
|
|
#ifdef VMS
|
|
#include <file.h>
|
|
#include <unixio.h>
|
|
#else
|
|
#include <fcntl.h>
|
|
#endif
|
|
|
|
This seems to indicate that fcntl.h is included on all systems except
|
|
VMS. Odd, because I've never heard of it before. Sure it's in the ANSI
|
|
definition? Anyway, following change:
|
|
|
|
#ifdef VMS
|
|
#include <file.h>
|
|
#include <unixio.h>
|
|
#else
|
|
#ifndef __acorn
|
|
#include <fcntl.h>
|
|
#endif
|
|
#endif
|
|
|
|
This will probably change when I find out what it wants from fcntl.h!
|
|
|
|
====3====
|
|
|
|
#if defined(__MWERKS__) || defined(THINK_C) || defined(applec)
|
|
#include <stdlib.h>
|
|
#define BSDTYPES
|
|
#endif
|
|
|
|
Added RISC OS to above thus:
|
|
|
|
#if defined(__MWERKS__) || defined(THINK_C) || defined(applec) || defined(__acorn)
|
|
#include <stdlib.h>
|
|
#define BSDTYPES
|
|
#endif
|
|
|
|
====4====
|
|
|
|
/*
|
|
* The library uses the ANSI C/POSIX SEEK_*
|
|
* definitions that should be defined in unistd.h
|
|
* (except on VMS where they are in stdio.h and
|
|
* there is no unistd.h).
|
|
*/
|
|
#ifndef SEEK_SET
|
|
#if !defined(VMS) && !defined (applec) && !defined(THINK_C) && !defined(__MWERKS__)
|
|
#include <unistd.h>
|
|
#endif
|
|
|
|
RISC OS is like VMS and Mac in this regard. So changed to:
|
|
|
|
/*
|
|
* The library uses the ANSI C/POSIX SEEK_*
|
|
* definitions that should be defined in unistd.h
|
|
* (except on VMS or the Mac or RISC OS, where they are in stdio.h and
|
|
* there is no unistd.h).
|
|
*/
|
|
#ifndef SEEK_SET
|
|
#if !defined(VMS) && !defined (applec) && !defined(THINK_C) && !defined(__MWERKS__) && !defined(__acorn)
|
|
#include <unistd.h>
|
|
#endif
|
|
#endif
|
|
|
|
====5====
|
|
|
|
NB: HAVE_IEEEFP is defined in tiffconf.h, not tiffcomp.h as mentioned
|
|
in libtiff.README. (Note written on original port from 3.4beta004)
|
|
|
|
Acorn C/C++ claims to accord with IEEE 754, so no change (yet) to
|
|
tiffconf.h.
|
|
|
|
====6====
|
|
|
|
Unsure about whether this compiler supports inline functions. Will
|
|
leave it on for the time being and see if it works! (Likely if
|
|
everything else does.)
|
|
|
|
... Seems to be OK ...
|
|
|
|
====7====
|
|
|
|
Added to the end:
|
|
|
|
/*
|
|
* osfcn.h is part of C++Lib on Acorn C/C++, and as such can't be used
|
|
* on C alone. For that reason, the relevant functions have been
|
|
* implemented by myself in tif_acorn.c, and the elements from the header
|
|
* included here.
|
|
*/
|
|
|
|
#ifdef __acorn
|
|
#ifdef __cplusplus
|
|
#include <osfcn.h>
|
|
#else
|
|
#include "kernel.h"
|
|
#define O_RDONLY 0
|
|
#define O_WRONLY 1
|
|
#define O_RDWR 2
|
|
#define O_APPEND 8
|
|
#define O_CREAT 0x200
|
|
#define O_TRUNC 0x400
|
|
typedef long off_t;
|
|
extern int open(const char *name, int flags, int mode);
|
|
extern int close(int fd);
|
|
extern int write(int fd, const char *buf, int nbytes);
|
|
extern int read(int fd, char *buf, int nbytes);
|
|
extern off_t lseek(int fd, off_t offset, int whence);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
===============================================================================
|
|
|
|
tif_acorn.c
|
|
~~~~~~~~~~~
|
|
|
|
Created file tif_acorn.c, copied initially from tif_unix.c
|
|
|
|
Documented internally where necessary.
|
|
|
|
Note that I have implemented the low-level file-handling functions normally
|
|
found in osfcn.h in here, and put the header info at the bottom of
|
|
tiffcomp.h. This is further documented from a RISC OS perspective inside the
|
|
file.
|
|
|
|
===============================================================================
|