580 lines
18 KiB
Diff
580 lines
18 KiB
Diff
|
Copied from Debian.
|
||
|
|
||
|
Description: Support additional architectures.
|
||
|
Author: Francesco Paolo Lovergine <frankie@debian.org>
|
||
|
|
||
|
--- a/hdf/src/hdfi.h
|
||
|
+++ b/hdf/src/hdfi.h
|
||
|
@@ -48,6 +48,7 @@
|
||
|
/* 8 - Cray IEEE */
|
||
|
/* (i.e. Big-Endian, all 64-bit architecture w/IEEE Floats) */
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
+#define DFMT_S390 0x1111
|
||
|
#define DFMT_SUN 0x1111
|
||
|
#define DFMT_SUN_INTEL 0x4441
|
||
|
#define DFMT_ALLIANT 0x1111
|
||
|
@@ -62,6 +63,7 @@
|
||
|
#define DFMT_CTSS 0x3331
|
||
|
#define DFMT_VAX 0x2221
|
||
|
#define DFMT_MIPSEL 0x4441
|
||
|
+#define DFMT_MIPSEB 0x1111
|
||
|
#define DFMT_PC 0x4441
|
||
|
#define DFMT_APPLE 0x1111
|
||
|
#define DFMT_APPLE_INTEL 0x4441
|
||
|
@@ -75,6 +77,12 @@
|
||
|
#define DFMT_IA64 0x4441
|
||
|
#define DFMT_LINUX64 0x4441
|
||
|
#define DFMT_POWERPC64 0x1111
|
||
|
+#define DFMT_POWERPC64LE 0x4441
|
||
|
+#define DFMT_ARMV4L 0x4441
|
||
|
+#define DFMT_AARCH64 0x4441
|
||
|
+#define DFMT_X86_64 0x4441
|
||
|
+#define DFMT_SH 0x4441
|
||
|
+#define DFMT_SHEB 0x1111
|
||
|
|
||
|
/* I/O library constants */
|
||
|
#define UNIXUNBUFIO 1
|
||
|
@@ -288,7 +296,7 @@ typedef int hdf_pint_t;
|
||
|
|
||
|
#endif /* IBM6000 */
|
||
|
|
||
|
-#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux)))
|
||
|
+#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux) || defined(__hppa__)))
|
||
|
|
||
|
#ifndef HP9000
|
||
|
#define HP9000
|
||
|
@@ -347,6 +355,10 @@ typedef int hdf_pint_t;
|
||
|
/* what each does */
|
||
|
#define JMEMSYS MEM_ANSI
|
||
|
|
||
|
+#ifdef __linux__
|
||
|
+#define FNAME_POST_UNDERSCORE
|
||
|
+#endif
|
||
|
+
|
||
|
#endif /* HP9000 */
|
||
|
|
||
|
|
||
|
@@ -666,6 +678,410 @@ typedef int hdf_pint_t;
|
||
|
#endif /* !(defined(__APPLE__)) */
|
||
|
|
||
|
/*-----------------------------------------------------*/
|
||
|
+#if defined (__linux__) && defined (__mc68000__)
|
||
|
+
|
||
|
+#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 1
|
||
|
+
|
||
|
+#include <fcntl.h>
|
||
|
+#include <sys/types.h> /* for unbuffered file I/O */
|
||
|
+#include <sys/stat.h>
|
||
|
+#include <unistd.h>
|
||
|
+#include <ctype.h> /* for character macros */
|
||
|
+
|
||
|
+#define DF_MT DFMT_MOTOROLA
|
||
|
+
|
||
|
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
|
||
|
+typedef void VOID;
|
||
|
+#endif /* end 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;
|
||
|
+typedef long int int32;
|
||
|
+typedef unsigned long int uint32;
|
||
|
+typedef int intn;
|
||
|
+typedef unsigned int uintn;
|
||
|
+typedef float float32;
|
||
|
+typedef double float64;
|
||
|
+typedef long intf; /* size of INTEGERs in Fortran compiler */
|
||
|
+typedef int hdf_pint_t; /* an integer the same size as a pointer */
|
||
|
+#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
|
||
|
+#define HAVE_STDC
|
||
|
+#define INCLUDES_ARE_ANSI
|
||
|
+
|
||
|
+#endif /* Linux/m68k */
|
||
|
+
|
||
|
+#if defined (__linux__) && defined (__sparc__)
|
||
|
+
|
||
|
+#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 1
|
||
|
+
|
||
|
+#include <fcntl.h>
|
||
|
+#include <sys/types.h> /* for unbuffered file I/O */
|
||
|
+#include <sys/stat.h>
|
||
|
+#include <unistd.h>
|
||
|
+#include <ctype.h> /* for character macros */
|
||
|
+
|
||
|
+#define DF_MT DFMT_SUN
|
||
|
+
|
||
|
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
|
||
|
+typedef void VOID;
|
||
|
+#endif /* end 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 float float32;
|
||
|
+typedef double float64;
|
||
|
+typedef long intf; /* size of INTEGERs in Fortran compiler */
|
||
|
+#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
|
||
|
+#define HAVE_STDC
|
||
|
+#define INCLUDES_ARE_ANSI
|
||
|
+
|
||
|
+#endif /* Linux/Sparc */
|
||
|
+
|
||
|
+#if defined (__linux__) && defined (__powerpc__) && !defined(__powerpc64__)
|
||
|
+
|
||
|
+#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 1
|
||
|
+
|
||
|
+#include <fcntl.h>
|
||
|
+#include <sys/types.h> /* for unbuffered file I/O */
|
||
|
+#include <sys/stat.h>
|
||
|
+#include <unistd.h>
|
||
|
+#include <ctype.h> /* for character macros */
|
||
|
+
|
||
|
+#define DF_MT DFMT_MOTOROLA
|
||
|
+
|
||
|
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
|
||
|
+typedef void VOID;
|
||
|
+#endif /* end VOID */
|
||
|
+typedef void * VOIDP;
|
||
|
+typedef char * _fcd;
|
||
|
+typedef char char8;
|
||
|
+typedef unsigned char uchar8;
|
||
|
+typedef signed char int8;
|
||
|
+typedef unsigned char uint8;
|
||
|
+typedef short int int16;
|
||
|
+typedef unsigned short int uint16;
|
||
|
+typedef long int int32;
|
||
|
+typedef unsigned long int uint32;
|
||
|
+typedef int intn;
|
||
|
+typedef unsigned int uintn;
|
||
|
+typedef float float32;
|
||
|
+typedef double float64;
|
||
|
+typedef long intf; /* size of INTEGERs in Fortran compiler */
|
||
|
+typedef int hdf_pint_t; /* an integer the same size as a pointer */
|
||
|
+#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
|
||
|
+#define HAVE_STDC
|
||
|
+#define INCLUDES_ARE_ANSI
|
||
|
+
|
||
|
+#endif /* Linux/powerpc */
|
||
|
+
|
||
|
+#if defined (__linux__) && defined (__s390__)
|
||
|
+
|
||
|
+#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 1
|
||
|
+
|
||
|
+#include <fcntl.h>
|
||
|
+#include <sys/types.h> /* for unbuffered file I/O */
|
||
|
+#include <sys/stat.h>
|
||
|
+#include <unistd.h>
|
||
|
+#include <ctype.h> /* for character macros */
|
||
|
+
|
||
|
+#define DF_MT DFMT_S390
|
||
|
+
|
||
|
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
|
||
|
+typedef void VOID;
|
||
|
+#endif /* end VOID */
|
||
|
+typedef void * VOIDP;
|
||
|
+typedef char * _fcd;
|
||
|
+typedef char char8;
|
||
|
+typedef unsigned char uchar8;
|
||
|
+typedef signed 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 float float32;
|
||
|
+typedef double float64;
|
||
|
+typedef long intf; /* size of INTEGERs in Fortran compiler */
|
||
|
+#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
|
||
|
+#define HAVE_STDC
|
||
|
+#define INCLUDES_ARE_ANSI
|
||
|
+
|
||
|
+#endif /* Linux/s390 */
|
||
|
+
|
||
|
+#if defined (__linux__) && (defined (__MIPSEB__) || defined(__MIPSEL__))
|
||
|
+
|
||
|
+#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 1
|
||
|
+
|
||
|
+#include <fcntl.h>
|
||
|
+#include <sys/types.h> /* for unbuffered file I/O */
|
||
|
+#include <sys/stat.h>
|
||
|
+#include <unistd.h>
|
||
|
+#include <ctype.h> /* for character macros */
|
||
|
+
|
||
|
+#if defined (__MIPSEB__)
|
||
|
+#define DF_MT DFMT_MIPSEB
|
||
|
+#elif defined(__MIPSEL__)
|
||
|
+#define DF_MT DFMT_MIPSEL
|
||
|
+#endif
|
||
|
+
|
||
|
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
|
||
|
+typedef void VOID;
|
||
|
+#endif /* end VOID */
|
||
|
+typedef void * VOIDP;
|
||
|
+typedef char * _fcd;
|
||
|
+typedef char char8;
|
||
|
+typedef unsigned char uchar8;
|
||
|
+typedef signed char int8;
|
||
|
+typedef unsigned char uint8;
|
||
|
+typedef short int int16;
|
||
|
+typedef unsigned short int uint16;
|
||
|
+typedef int int32;
|
||
|
+typedef unsigned int uint32;
|
||
|
+typedef int intn;
|
||
|
+typedef unsigned int uintn;
|
||
|
+typedef float float32;
|
||
|
+typedef double float64;
|
||
|
+typedef long intf; /* size of INTEGERs in Fortran compiler */
|
||
|
+typedef long int hdf_pint_t; /* an integer the same size as a pointer */
|
||
|
+#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
|
||
|
+#define HAVE_STDC
|
||
|
+#define INCLUDES_ARE_ANSI
|
||
|
+
|
||
|
+#endif /* Linux/mips */
|
||
|
+
|
||
|
+#if defined (__linux__) && defined (__arm__)
|
||
|
+
|
||
|
+#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 1
|
||
|
+
|
||
|
+#include <fcntl.h>
|
||
|
+#include <sys/types.h> /* for unbuffered file I/O */
|
||
|
+#include <sys/stat.h>
|
||
|
+#include <unistd.h>
|
||
|
+#include <ctype.h> /* for character macros */
|
||
|
+
|
||
|
+#define DF_MT DFMT_ARMV4L
|
||
|
+
|
||
|
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
|
||
|
+typedef void VOID;
|
||
|
+#endif /* end VOID */
|
||
|
+typedef void * VOIDP;
|
||
|
+typedef char * _fcd;
|
||
|
+typedef char char8;
|
||
|
+typedef unsigned char uchar8;
|
||
|
+typedef signed char int8;
|
||
|
+typedef unsigned char uint8;
|
||
|
+typedef short int int16;
|
||
|
+typedef unsigned short int uint16;
|
||
|
+typedef int int32;
|
||
|
+typedef unsigned int uint32;
|
||
|
+typedef int intn;
|
||
|
+typedef unsigned int uintn;
|
||
|
+typedef float float32;
|
||
|
+typedef double float64;
|
||
|
+typedef long intf; /* size of INTEGERs in Fortran compiler */
|
||
|
+typedef long hdf_pint_t; /* an integer the same size as a pointer */
|
||
|
+#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
|
||
|
+#define HAVE_STDC
|
||
|
+#define INCLUDES_ARE_ANSI
|
||
|
+
|
||
|
+#endif /* Linux/arm */
|
||
|
+
|
||
|
+#if defined (__linux__) && defined (__aarch64__)
|
||
|
+
|
||
|
+#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 1
|
||
|
+
|
||
|
+#include <fcntl.h>
|
||
|
+#include <sys/types.h> /* for unbuffered file I/O */
|
||
|
+#include <sys/stat.h>
|
||
|
+#include <unistd.h>
|
||
|
+#include <ctype.h> /* for character macros */
|
||
|
+
|
||
|
+#define DF_MT DFMT_AARCH64
|
||
|
+
|
||
|
+typedef void VOID;
|
||
|
+typedef void * VOIDP;
|
||
|
+typedef char * _fcd;
|
||
|
+typedef char char8;
|
||
|
+typedef unsigned char uchar8;
|
||
|
+typedef signed char int8;
|
||
|
+typedef unsigned char uint8;
|
||
|
+typedef short int int16;
|
||
|
+typedef unsigned short int uint16;
|
||
|
+typedef int int32;
|
||
|
+typedef unsigned int uint32;
|
||
|
+typedef int intn;
|
||
|
+typedef unsigned int uintn;
|
||
|
+typedef float float32;
|
||
|
+typedef double float64;
|
||
|
+typedef int intf; /* size of INTEGERs in Fortran compiler */
|
||
|
+typedef long hdf_pint_t; /* an integer the same size as a pointer */
|
||
|
+#define FNAME_POST_UNDERSCORE
|
||
|
+#define _fcdtocp(desc) (desc)
|
||
|
+#define FILELIB UNIXBUFIO
|
||
|
+
|
||
|
+#ifndef BIG_LONGS
|
||
|
+#define BIG_LONGS
|
||
|
+#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
|
||
|
+#define HAVE_STDC
|
||
|
+#define INCLUDES_ARE_ANSI
|
||
|
+
|
||
|
+#endif /* Linux/aarch64 */
|
||
|
+
|
||
|
#if defined(NEXT) || defined(NeXT)
|
||
|
|
||
|
#ifndef NEXT
|
||
|
@@ -928,7 +1344,11 @@ Please check your Makefile.
|
||
|
|
||
|
#include <sys/file.h> /* for unbuffered i/o stuff */
|
||
|
#include <sys/stat.h>
|
||
|
-#define DF_MT DFMT_POWERPC64
|
||
|
+#ifdef __LITTLE_ENDIAN__
|
||
|
+#define DF_MT DFMT_POWERPC64LE
|
||
|
+#else
|
||
|
+#define DF_MT DFMT_POWERPC64
|
||
|
+#endif
|
||
|
typedef void VOID;
|
||
|
typedef void *VOIDP;
|
||
|
typedef char *_fcd;
|
||
|
@@ -952,6 +1372,11 @@ typedef long hdf_pint_t;
|
||
|
#define _fcdtocp(desc) (desc)
|
||
|
#define FILELIB UNIXBUFIO
|
||
|
|
||
|
+#ifndef BIG_LONGS
|
||
|
+#define BIG_LONGS
|
||
|
+#endif
|
||
|
+
|
||
|
+
|
||
|
/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
|
||
|
|
||
|
/* Determine the memory manager we are going to use. Valid values are: */
|
||
|
@@ -1097,6 +1522,8 @@ typedef long hdf_pint_t;
|
||
|
#define _fcdtocp(desc) (desc)
|
||
|
#define FILELIB UNIXBUFIO
|
||
|
|
||
|
+#define BIG_LONGS
|
||
|
+
|
||
|
/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
|
||
|
|
||
|
/* Determine the memory manager we are going to use. Valid values are: */
|
||
|
@@ -1111,6 +1538,66 @@ typedef long hdf_pint_t;
|
||
|
|
||
|
#endif /* IA64 */
|
||
|
|
||
|
+/* Renesas SuperH SH3(little/big)/SH4(little/big) */
|
||
|
+#if defined (__linux__) && defined(__sh__)
|
||
|
+
|
||
|
+#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 1
|
||
|
+
|
||
|
+#include <fcntl.h>
|
||
|
+#include <sys/types.h> /* for unbuffered file I/O */
|
||
|
+#include <sys/stat.h>
|
||
|
+#include <unistd.h>
|
||
|
+#include <ctype.h> /* for character macros */
|
||
|
+
|
||
|
+#if defined (__LITTLE_ENDIAN__)
|
||
|
+#define DF_MT DFMT_SH
|
||
|
+#elif defined(__BIG_ENDIAN__)
|
||
|
+#define DF_MT DFMT_SHEB
|
||
|
+#endif
|
||
|
+
|
||
|
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
|
||
|
+typedef void VOID;
|
||
|
+#endif /* end VOID */
|
||
|
+
|
||
|
+typedef void * VOIDP;
|
||
|
+typedef char * _fcd;
|
||
|
+typedef char char8;
|
||
|
+typedef unsigned char uchar8;
|
||
|
+typedef signed char int8;
|
||
|
+typedef unsigned char uint8;
|
||
|
+typedef short int int16;
|
||
|
+typedef unsigned short int uint16;
|
||
|
+typedef long int int32;
|
||
|
+typedef unsigned long int uint32;
|
||
|
+typedef int intn;
|
||
|
+typedef unsigned int uintn;
|
||
|
+typedef float float32;
|
||
|
+typedef double float64;
|
||
|
+typedef long intf;
|
||
|
+typedef int hdf_pint_t;
|
||
|
+#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
|
||
|
+#define HAVE_STDC
|
||
|
+#define INCLUDES_ARE_ANSI
|
||
|
+
|
||
|
+#endif /* Linux/sh */
|
||
|
+
|
||
|
#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
|
||
|
--- a/hdf/src/hconv.h
|
||
|
+++ b/hdf/src/hconv.h
|
||
|
@@ -59,7 +59,7 @@
|
||
|
/* CONSTANT DEFINITIONS */
|
||
|
/*****************************************************************************/
|
||
|
/* Generally Big-Endian machines */
|
||
|
-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__)
|
||
|
+#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !(defined(__powerpc__) && defined(__LITTLE_ENDIAN__)) && !defined(__aarch64__) && !defined(__ARM_EABI__)
|
||
|
# define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */
|
||
|
# define UI8_OUT DFKnb1b
|
||
|
# define SI16_IN DFKnb2b /* S = Signed */
|