diff -Nru HDF4.2r2.orig/hdf/src/hdfi.h HDF4.2r2/hdf/src/hdfi.h --- HDF4.2r2.orig/hdf/src/hdfi.h 2007-09-17 18:45:17.000000000 +0300 +++ HDF4.2r2/hdf/src/hdfi.h 2008-01-06 07:23:42.000000000 +0200 @@ -77,6 +77,7 @@ #define DFMT_LINUX64 0x4441 #define DFMT_POWERPC64 0x1111 #define DFMT_LINUXPPC 0x1111 +#define DFMT_LINUXSPARC 0x1111 /* I/O library constants */ #define UNIXUNBUFIO 1 @@ -1444,6 +1445,66 @@ #endif /*Linux PPC */ +/* Linux Sparc32/64 */ +#if defined __sparc__ || !defined __sparc64__ + +#ifdef GOT_MACHINE +If you get an error on this line more than one machine type has been defined. +Please check your Makefile. +#endif +#define GOT_MACHINE + +#include /* for unbuffered i/o stuff */ +#include +#define DF_MT DFMT_LINUXPPC +typedef void VOID; +typedef void *VOIDP; +typedef char *_fcd; +typedef char char8; +typedef unsigned char uchar8; +typedef char int8; +typedef unsigned char uint8; +typedef short int int16; +typedef unsigned short int uint16; +#ifdef _LP64 /* 64-bit environment */ +typedef int int32; +typedef unsigned int uint32; +#else /* 32-bit environment */ +typedef long int int32; +typedef unsigned long int uint32; +#endif +typedef int intn; +typedef unsigned int uintn; +typedef int intf; /* size of INTEGERs in Fortran compiler */ +typedef float float32; +typedef double float64; +#ifdef _LP64 /* 64-bit environment */ +typedef long hdf_pint_t; /* an integer the same size as a pointer */ +#else /* 32-bit environment */ +typedef int hdf_pint_t; /* an integer the same size as a pointer */ +#endif +#define FNAME_POST_UNDERSCORE +#define _fcdtocp(desc) (desc) +#ifdef HAVE_FMPOOL +#define FILELIB PAGEBUFIO /* enable page buffering */ +#else +#define FILELIB UNIXBUFIO +#endif + +/* JPEG #define's - Look in the JPEG docs before changing - (Q) */ + +/* Determine the memory manager we are going to use. Valid values are: */ +/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */ +/* what each does */ +#define JMEMSYS MEM_ANSI + +#ifdef __GNUC__ +#define HAVE_STDC +#define INCLUDES_ARE_ANSI +#endif + +#endif /* Linux Sparc32/64 */ + /*#ifndef GOT_MACHINE No machine type has been defined. Your Makefile needs to have someing like -DSUN or -DUNICOS in order for the HDF internal structures to be defined