Initial import
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/libtiff_2007@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
Executable
+175
@@ -0,0 +1,175 @@
|
||||
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.
|
||||
|
||||
===============================================================================
|
||||
Reference in New Issue
Block a user