fix FTBFS on ARM

This commit is contained in:
Peter Robinson 2012-03-14 20:28:41 +00:00
parent fac61862b3
commit 294a0cb1a6
1 changed files with 81 additions and 0 deletions

81
hdf-4.2.7-arm.patch Normal file
View File

@ -0,0 +1,81 @@
diff -r -U 3 -p hdf-4.2.7.orig/hdf/src/hconv.h hdf-4.2.7/hdf/src/hconv.h
--- hdf-4.2.7.orig/hdf/src/hconv.h 2012-02-06 09:02:43.000000000 -0500
+++ hdf-4.2.7/hdf/src/hconv.h 2012-03-07 01:58:21.713088567 -0500
@@ -63,7 +63,7 @@
/* CONSTANT DEFINITIONS */
/*****************************************************************************/
/* Generally Big-Endian machines */
-#if !defined(VMS) && !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__)
+#if !defined(VMS) && !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__)
# if !defined(UNICOS)
# define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */
# define UI8_OUT DFKnb1b
diff -r -U 3 -p hdf-4.2.7.orig/hdf/src/hdfi.h hdf-4.2.7/hdf/src/hdfi.h
--- hdf-4.2.7.orig/hdf/src/hdfi.h 2012-02-06 09:02:43.000000000 -0500
+++ hdf-4.2.7/hdf/src/hdfi.h 2012-03-06 23:12:43.941269780 -0500
@@ -79,6 +79,7 @@
#define DFMT_LINUXPPC 0x1111
#define DFMT_LINUXSPARC 0x1111
#define DFMT_LINUX390 0x1111
+#define DFMT_LINUXARM 0x4441
/* I/O library constants */
#define UNIXUNBUFIO 1
@@ -1463,6 +1464,57 @@ typedef int hdf_pint_t;
#endif /* Linux s390/s390x */
+/* Linux ARM */
+#if 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
+
+#include <sys/file.h> /* for unbuffered i/o stuff */
+#include <sys/stat.h>
+#define DF_MT DFMT_LINUXARM
+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;
+typedef long int int32;
+typedef unsigned long int uint32;
+typedef int intn;
+typedef unsigned int uintn;
+typedef int intf; /* size of INTEGERs in Fortran compiler */
+typedef float float32;
+typedef double float64;
+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
+
+#ifdef __GNUC__
+#define HAVE_STDC
+#define INCLUDES_ARE_ANSI
+#endif
+
+#endif /* Linux ARM */
+
/*-----------------------------------------------------*/
/* 64-bit Free BSD */