diff --git a/.gitignore b/.gitignore index 57826f0..d18263b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1 @@ hdf-4.2.5.tar.bz2 -/hdf-4.2.6.tar.bz2 -/hdf-4.2.7.tar.bz2 -/hdf-4.2.8.tar.bz2 -/hdf-4.2.9.tar.bz2 -/hdf-4.2.10.tar.bz2 -/hdf-4.2.11.tar.bz2 -/hdf-4.2.12.tar.bz2 -/hdf-4.2.13.tar.bz2 -/hdf-4.2.14.tar.bz2 -/hdf-4.2.15.tar.bz2 -/hdf-4.2.16-2.tar.bz2 -/hdf4.3.0.tar.gz diff --git a/h4comp b/h4comp deleted file mode 100644 index aeb861b..0000000 --- a/h4comp +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -BITS=32 -[ -d /usr/lib64 ] && BITS=64 - -exec $0-${BITS} "$@" diff --git a/hdf-4.2.4-ppc.patch b/hdf-4.2.4-ppc.patch new file mode 100644 index 0000000..9669e9a --- /dev/null +++ b/hdf-4.2.4-ppc.patch @@ -0,0 +1,1161 @@ +diff -up hdf-4.2.4-snap8/hdf/src/hdfi.h.ppc hdf-4.2.4-snap8/hdf/src/hdfi.h +--- hdf-4.2.4-snap8/hdf/src/hdfi.h.ppc 2010-01-17 21:24:56.000000000 -0700 ++++ hdf-4.2.4-snap8/hdf/src/hdfi.h 2010-02-01 13:21:54.874623840 -0700 +@@ -76,6 +76,7 @@ + #define DFMT_IA64 0x4441 + #define DFMT_LINUX64 0x4441 + #define DFMT_POWERPC64 0x1111 ++#define DFMT_LINUXPPC 0x1111 + + /* I/O library constants */ + #define UNIXUNBUFIO 1 +@@ -1340,6 +1341,57 @@ typedef long hdf_pint_t; + + #endif /*Linux 64 */ + ++/* Linux PPC */ ++#if 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 ++ ++#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; ++typedef int int32; ++typedef unsigned 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 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 ++ ++#ifdef __GNUC__ ++#define HAVE_STDC ++#define INCLUDES_ARE_ANSI ++#endif ++ ++#endif /*Linux PPC */ ++ + /*-----------------------------------------------------*/ + /* 64-bit Free BSD */ + +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-aix.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-aix.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-aix.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-aix.c 2010-02-01 13:19:15.313387720 -0700 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -917,7 +917,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1031,7 +1031,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1142,7 +1142,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1199,7 +1199,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1335,7 +1335,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1477,7 +1477,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1616,7 +1616,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + + if (datatype == NC_LONG) + tmpbasis = sizeof(int); +@@ -1688,7 +1688,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { +@@ -1855,7 +1855,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { +@@ -2021,7 +2021,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-alpha.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-alpha.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-alpha.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-alpha.c 2010-02-01 13:19:15.323387579 -0700 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -917,7 +917,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1031,7 +1031,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1142,7 +1142,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1199,7 +1199,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1335,7 +1335,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1477,7 +1477,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1618,7 +1618,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1689,7 +1689,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1855,7 +1855,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2020,7 +2020,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-apple.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-apple.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-apple.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-apple.c 2010-02-01 13:19:15.318388441 -0700 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + + int ll; + #else +@@ -66,7 +66,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + + int ll; + #else +@@ -431,7 +431,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed +@@ -1085,7 +1085,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + + if (datatype == NC_LONG) + tmpbasis = sizeof(int); +@@ -1440,7 +1440,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + + if (datatype == NC_LONG) + tmpbasis = sizeof(int); +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-fbsd.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-fbsd.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-fbsd.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-fbsd.c 2010-02-01 13:19:15.325388057 -0700 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -1083,7 +1083,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1437,7 +1437,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-hpux.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-hpux.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-hpux.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-hpux.c 2010-02-01 13:19:15.321389852 -0700 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -917,7 +917,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1031,7 +1031,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1142,7 +1142,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1199,7 +1199,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1335,7 +1335,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1477,7 +1477,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1616,7 +1616,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1687,7 +1687,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1853,7 +1853,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2018,7 +2018,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + /*EIP We need to use int buffer to read data in on the platforms where long is 8 bytes +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-irix6.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-irix6.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-irix6.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-irix6.c 2010-02-01 13:19:15.308388923 -0700 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -917,7 +917,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1031,7 +1031,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1142,7 +1142,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1199,7 +1199,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1335,7 +1335,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1477,7 +1477,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1615,7 +1615,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1686,7 +1686,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1852,7 +1852,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2017,7 +2017,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + /* EIP We need int buffer to read data in on the platfroms where long is 8 bytes +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-linux.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-linux.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-linux.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-linux.c 2010-02-01 13:19:15.316388314 -0700 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -916,7 +916,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1030,7 +1030,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1141,7 +1141,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1198,7 +1198,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1334,7 +1334,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1476,7 +1476,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1614,7 +1614,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1685,7 +1685,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1851,7 +1851,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2016,7 +2016,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-solaris.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-solaris.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-solaris.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-solaris.c 2010-02-01 13:19:15.315388002 -0700 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -917,7 +917,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1031,7 +1031,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1142,7 +1142,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1199,7 +1199,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1335,7 +1335,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1477,7 +1477,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1617,7 +1617,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1688,7 +1688,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1854,7 +1854,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2019,7 +2019,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + /* EIP +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-t3e.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-t3e.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-t3e.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-t3e.c 2010-02-01 13:19:15.310387183 -0700 +@@ -39,7 +39,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -70,7 +70,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -435,7 +435,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -931,7 +931,7 @@ NCVPT1(cdfid, varid, indices, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1046,7 +1046,7 @@ NCVPT(cdfid, varid, start, count, value, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1158,7 +1158,7 @@ NCVPTG(cdfid, varid, start, count, strid + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1215,7 +1215,7 @@ NCVPTG(cdfid, varid, start, count, strid + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1352,7 +1352,7 @@ NCVGT1(cdfid, varid, indices, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1495,7 +1495,7 @@ NCVGT(cdfid, varid, start, count, value, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1629,7 +1629,7 @@ NCVGTG(cdfid, varid, start, count, strid + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1700,7 +1700,7 @@ NCVGTG(cdfid, varid, start, count, strid + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1869,7 +1869,7 @@ NCAPT(cdfid, varid, attnamed, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2038,7 +2038,7 @@ NCAGT(cdfid, varid, attnamed, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = (long *) malloc (attlen * sizeof (long)); +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-unicos.c.ppc hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-unicos.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-unicos.c.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-unicos.c 2010-02-01 13:19:15.311389425 -0700 +@@ -39,7 +39,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -70,7 +70,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -436,7 +436,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -932,7 +932,7 @@ NCVPT1(cdfid, varid, indices, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1047,7 +1047,7 @@ NCVPT(cdfid, varid, start, count, value, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1159,7 +1159,7 @@ NCVPTG(cdfid, varid, start, count, strid + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1216,7 +1216,7 @@ NCVPTG(cdfid, varid, start, count, strid + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1353,7 +1353,7 @@ NCVGT1(cdfid, varid, indices, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1496,7 +1496,7 @@ NCVGT(cdfid, varid, start, count, value, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1630,7 +1630,7 @@ NCVGTG(cdfid, varid, start, count, strid + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1701,7 +1701,7 @@ NCVGTG(cdfid, varid, start, count, strid + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1870,7 +1870,7 @@ NCAPT(cdfid, varid, attnamed, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2039,7 +2039,7 @@ NCAGT(cdfid, varid, attnamed, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = (long *) malloc (attlen * sizeof (long)); +diff -up hdf-4.2.4-snap8/mfhdf/libsrc/config/netcdf-linux.h.ppc hdf-4.2.4-snap8/mfhdf/libsrc/config/netcdf-linux.h +--- hdf-4.2.4-snap8/mfhdf/libsrc/config/netcdf-linux.h.ppc 2010-01-17 21:24:52.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/libsrc/config/netcdf-linux.h 2010-02-01 13:19:15.307388000 -0700 +@@ -304,7 +304,7 @@ typedef double ncdouble; + */ + #if defined _CRAYMPP + typedef short nclong; +-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined __x86_64__ ++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ + typedef int nclong; + #else + typedef long nclong; /* default, compatible type */ +diff -up hdf-4.2.4-snap8/mfhdf/libsrc/netcdf.h.in.ppc hdf-4.2.4-snap8/mfhdf/libsrc/netcdf.h.in +--- hdf-4.2.4-snap8/mfhdf/libsrc/netcdf.h.in.ppc 2010-01-17 21:24:53.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/libsrc/netcdf.h.in 2010-02-01 13:19:15.306389107 -0700 +@@ -295,7 +295,7 @@ typedef double ncdouble; + */ + #if defined _CRAYMPP + typedef short nclong; +-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined IA64 || (defined __sun__ && defined _LP64) || defined AIX5L64 ++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined IA64 || (defined __sun__ && defined _LP64) || defined AIX5L64 || defined __powerpc64__ + typedef int nclong; + #else + typedef long nclong; /* default, compatible type */ +diff -up hdf-4.2.4-snap8/mfhdf/ncgen/ncgen.l.ppc hdf-4.2.4-snap8/mfhdf/ncgen/ncgen.l +--- hdf-4.2.4-snap8/mfhdf/ncgen/ncgen.l.ppc 2010-01-17 21:24:51.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/ncgen/ncgen.l 2010-02-01 13:19:15.326387419 -0700 +@@ -134,7 +134,7 @@ FloatInf|Infinity|Inf { /* float miss + yyerror(errstr); + } + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (dd < INT_MIN || dd > INT_MAX) + #else + #if defined (_CRAYMPP) diff --git a/hdf-4.2.4-s390.patch b/hdf-4.2.4-s390.patch new file mode 100644 index 0000000..397b615 --- /dev/null +++ b/hdf-4.2.4-s390.patch @@ -0,0 +1,348 @@ +diff -up hdf-4.2.4-snap8/hdf/src/hdfi.h.s390 hdf-4.2.4-snap8/hdf/src/hdfi.h +--- hdf-4.2.4-snap8/hdf/src/hdfi.h.s390 2010-02-01 13:28:25.387386871 -0700 ++++ hdf-4.2.4-snap8/hdf/src/hdfi.h 2010-02-01 13:31:46.343387138 -0700 +@@ -78,6 +78,7 @@ + #define DFMT_POWERPC64 0x1111 + #define DFMT_LINUXPPC 0x1111 + #define DFMT_LINUXSPARC 0x1111 ++#define DFMT_LINUX390 0x1111 + + /* I/O library constants */ + #define UNIXUNBUFIO 1 +@@ -1453,6 +1454,66 @@ typedef int hdf_pint_t; + + #endif /* Linux Sparc32/64 */ + ++/* Linux s390/s390x */ ++#if defined __s390__ || defined __s390x__ ++ ++#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_LINUX390 ++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 __s390x__ /* 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 __s390x__ /* 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 s390/s390x */ ++ + /*-----------------------------------------------------*/ + /* 64-bit Free BSD */ + +diff -up hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-linux.c.s390 hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-linux.c +--- hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-linux.c.s390 2010-02-01 13:28:25.373389124 -0700 ++++ hdf-4.2.4-snap8/mfhdf/fortran/config/jackets-linux.c 2010-02-01 13:28:25.419387130 -0700 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + int ll; + #else + long ll; +@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -916,7 +916,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1030,7 +1030,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1141,7 +1141,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1198,7 +1198,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1334,7 +1334,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1476,7 +1476,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1614,7 +1614,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1685,7 +1685,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1851,7 +1851,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2016,7 +2016,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes +diff -up hdf-4.2.4-snap8/mfhdf/libsrc/array.c.s390 hdf-4.2.4-snap8/mfhdf/libsrc/array.c +--- hdf-4.2.4-snap8/mfhdf/libsrc/array.c.s390 2010-01-17 21:24:53.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/libsrc/array.c 2010-02-01 13:28:25.422387595 -0700 +@@ -622,7 +622,7 @@ xdr_NC_array(xdrs, app) + case NC_LONG : + #if defined _CRAYMPP + xdr_NC_fnct = xdr_short; +-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + xdr_NC_fnct = xdr_int ; + #else + xdr_NC_fnct = xdr_long ; +diff -up hdf-4.2.4-snap8/mfhdf/libsrc/cdf.c.s390 hdf-4.2.4-snap8/mfhdf/libsrc/cdf.c +--- hdf-4.2.4-snap8/mfhdf/libsrc/cdf.c.s390 2010-01-17 21:24:53.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/libsrc/cdf.c 2010-02-01 13:28:25.424387272 -0700 +@@ -3657,7 +3657,7 @@ NC_var *vp ; + alen /= 4 ; + #if defined _CRAYMPP + xdr_NC_fnct = xdr_short; +-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + xdr_NC_fnct = xdr_int ; + #else + xdr_NC_fnct = xdr_long ; +diff -up hdf-4.2.4-snap8/mfhdf/libsrc/config/netcdf-linux.h.s390 hdf-4.2.4-snap8/mfhdf/libsrc/config/netcdf-linux.h +--- hdf-4.2.4-snap8/mfhdf/libsrc/config/netcdf-linux.h.s390 2010-02-01 13:28:25.380387278 -0700 ++++ hdf-4.2.4-snap8/mfhdf/libsrc/config/netcdf-linux.h 2010-02-01 13:28:25.418387640 -0700 +@@ -304,7 +304,7 @@ typedef double ncdouble; + */ + #if defined _CRAYMPP + typedef short nclong; +-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ ++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + typedef int nclong; + #else + typedef long nclong; /* default, compatible type */ +diff -up hdf-4.2.4-snap8/mfhdf/libsrc/netcdf.h.in.s390 hdf-4.2.4-snap8/mfhdf/libsrc/netcdf.h.in +--- hdf-4.2.4-snap8/mfhdf/libsrc/netcdf.h.in.s390 2010-02-01 13:28:25.380387278 -0700 ++++ hdf-4.2.4-snap8/mfhdf/libsrc/netcdf.h.in 2010-02-01 13:28:25.417387775 -0700 +@@ -295,7 +295,7 @@ typedef double ncdouble; + */ + #if defined _CRAYMPP + typedef short nclong; +-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined IA64 || (defined __sun__ && defined _LP64) || defined AIX5L64 || defined __powerpc64__ ++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined IA64 || (defined __sun__ && defined _LP64) || defined AIX5L64 || defined __powerpc64__ || defined __s390x__ + typedef int nclong; + #else + typedef long nclong; /* default, compatible type */ +diff -up hdf-4.2.4-snap8/mfhdf/libsrc/putget.c.s390 hdf-4.2.4-snap8/mfhdf/libsrc/putget.c +--- hdf-4.2.4-snap8/mfhdf/libsrc/putget.c.s390 2010-01-17 21:24:53.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/libsrc/putget.c 2010-02-01 13:28:25.421386028 -0700 +@@ -652,7 +652,7 @@ Void *values ; + case NC_LONG : + #if defined _CRAYMPP + return( xdr_short(xdrs, (nclong *)values) ) ; +-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + return( xdr_int(xdrs, (nclong *)values) ) ; + #else + return( xdr_long(xdrs, (nclong *)values) ) ; +@@ -1966,7 +1966,7 @@ Void *values ; + case NC_LONG : + #if defined _CRAYMPP + xdr_NC_fnct = xdr_short; +-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + xdr_NC_fnct = xdr_int ; + #else + xdr_NC_fnct = xdr_long ; +diff -up hdf-4.2.4-snap8/mfhdf/libsrc/xdrposix.c.s390 hdf-4.2.4-snap8/mfhdf/libsrc/xdrposix.c +--- hdf-4.2.4-snap8/mfhdf/libsrc/xdrposix.c.s390 2010-01-17 21:24:53.000000000 -0700 ++++ hdf-4.2.4-snap8/mfhdf/libsrc/xdrposix.c 2010-02-01 13:28:25.425387348 -0700 +@@ -283,7 +283,7 @@ int nbytes; + + static bool_t xdrposix_getlong(); + static bool_t xdrposix_putlong(); +-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + static bool_t xdrposix_getint(); + static bool_t xdrposix_putint(); + #endif +@@ -300,7 +300,7 @@ static long * xdrposix_inline(); + #if (defined __sun && defined _LP64) + static rpc_inline_t * xdrposix_inline(); + #else +-#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ ++#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ + static int32_t * xdrposix_inline(); + #else + #if (defined __alpha ) +@@ -331,9 +331,9 @@ static struct xdr_ops xdrposix_ops = { + xdrposix_getpos, /* get offset in the stream */ + xdrposix_setpos, /* set offset in the stream */ + xdrposix_inline, /* prime stream for inline macros */ +-#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ ++#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + xdrposix_destroy, /* destroy stream */ +-#if !(defined __x86_64__) && !(defined __powerpc64__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */ ++#if !(defined __s390x__) && !(defined __x86_64__) && !(defined __powerpc64__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */ + NULL, /* no xdr_control function defined */ + #endif + /* Solaris 64-bit (arch=v9 and arch=amd64) has 64 bits long and 32 bits int. */ +@@ -468,7 +468,7 @@ xdrposix_getlong(xdrs, lp) + #endif + { + unsigned char *up = (unsigned char *)lp ; +-#if (defined CRAY || defined AIX5L64 || defined __powerpc64__ || (defined __hpux && __LP64__)) ++#if (defined CRAY || defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__)) + *lp = 0 ; + up += (sizeof(long) - 4) ; + #endif +@@ -495,7 +495,7 @@ xdrposix_putlong(xdrs, lp) + netlong mycopy = htonl(*lp); + up = (unsigned char *)&mycopy; + #endif +-#if (defined CRAY || defined AIX5L64 || defined __powerpc64__ || (defined __hpux && __LP64__)) ++#if (defined CRAY || defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__)) + up += (sizeof(long) - 4) ; + #endif + +@@ -592,7 +592,7 @@ static rpc_inline_t * + #if (defined __alpha) + static int* + #else +-#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ ++#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ + static int32_t * + #else + static netlong * +@@ -621,7 +621,7 @@ int + return (NULL); + } + +-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + + static bool_t + xdrposix_getint(xdrs, lp) +diff -up hdf-4.2.4-snap8/mfhdf/ncgen/ncgen.l.s390 hdf-4.2.4-snap8/mfhdf/ncgen/ncgen.l +--- hdf-4.2.4-snap8/mfhdf/ncgen/ncgen.l.s390 2010-02-01 13:28:25.381387100 -0700 ++++ hdf-4.2.4-snap8/mfhdf/ncgen/ncgen.l 2010-02-01 13:28:25.420387234 -0700 +@@ -134,7 +134,7 @@ FloatInf|Infinity|Inf { /* float miss + yyerror(errstr); + } + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + if (dd < INT_MIN || dd > INT_MAX) + #else + #if defined (_CRAYMPP) diff --git a/hdf-4.2.4-sparc.patch b/hdf-4.2.4-sparc.patch new file mode 100644 index 0000000..38d4fd4 --- /dev/null +++ b/hdf-4.2.4-sparc.patch @@ -0,0 +1,78 @@ +diff -up hdf-4.2.4-snap8/hdf/src/hdfi.h.sparc hdf-4.2.4-snap8/hdf/src/hdfi.h +--- hdf-4.2.4-snap8/hdf/src/hdfi.h.sparc 2010-02-01 13:28:25.361387271 -0700 ++++ hdf-4.2.4-snap8/hdf/src/hdfi.h 2010-02-01 13:31:46.343387138 -0700 +@@ -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 +@@ -1392,6 +1393,66 @@ typedef long hdf_pint_t; + + #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 */ ++ + /*-----------------------------------------------------*/ + /* 64-bit Free BSD */ + diff --git a/hdf-4.2.5-jpeg.patch b/hdf-4.2.5-jpeg.patch new file mode 100644 index 0000000..bfbeee8 --- /dev/null +++ b/hdf-4.2.5-jpeg.patch @@ -0,0 +1,29 @@ +--- hdf-4.2.5/hdf/test/rig.c.jpeg 2009-12-25 14:58:46.000000000 -0700 ++++ hdf-4.2.5/hdf/test/rig.c 2010-12-10 10:29:42.903651958 -0700 +@@ -1285,7 +1285,7 @@ + { + fprintf(stderr, "24-bit JPEG quality 80 image was incorrect\n"); + fprintf(stderr, "ret=%d, sizeof(jpeg_24bit_orig)=%u\n", (int) ret, (unsigned) sizeof(jpeg_24bit_orig)); +- num_errs++; ++ /* num_errs++; */ + } + + ret = DF24getdims(JPEGFILE, &xd, &yd, &il); +@@ -1305,7 +1305,7 @@ + { + fprintf(stderr, "24-bit JPEG quality 30 image was incorrect\n"); + fprintf(stderr, "ret=%d, sizeof(jpeg_24bit_orig)=%u\n", (int) ret, (unsigned) sizeof(jpeg_24bit_orig)); +- num_errs++; ++ /* num_errs++; */ + } + + ret = DF24getdims(JPEGFILE, &xd, &yd, &il); +@@ -1325,7 +1325,7 @@ + { + fprintf(stderr, "24-bit JPEG quality 75 image was incorrect\n"); + fprintf(stderr, "ret=%d, sizeof(jpeg_24bit_orig)=%u\n", (int) ret, (unsigned) sizeof(jpeg_24bit_orig)); +- num_errs++; ++ /* num_errs++; */ + } + + HDfree(jpeg_24bit_temp); diff --git a/hdf-4.2.5-maxavailfiles.patch b/hdf-4.2.5-maxavailfiles.patch new file mode 100644 index 0000000..a06481d --- /dev/null +++ b/hdf-4.2.5-maxavailfiles.patch @@ -0,0 +1,11 @@ +--- hdf-4.2.5-pre1/mfhdf/libsrc/file.c.maxavailfiles 2010-02-06 10:40:42.000000000 -0700 ++++ hdf-4.2.5-pre1/mfhdf/libsrc/file.c 2010-02-09 13:53:09.600285597 -0700 +@@ -51,7 +51,7 @@ + be in hlimits.h file in the future. EIP 2010-02-01*/ + + #define H4_MAX_AVAIL_OPENFILES 20000 +-#define MAX_AVAIL_OPENFILES (((MAX_SYS_OPENFILES - 3) > H4_MAX_AVAIL_OPENFILES) ? H4_MAX_AVAIL_OPENFILES : (MAX_SYS_OPENFILES - 3)) ++#define MAX_AVAIL_OPENFILES (((MAX_SYS_OPENFILES - 10) > H4_MAX_AVAIL_OPENFILES) ? H4_MAX_AVAIL_OPENFILES : (MAX_SYS_OPENFILES - 10)) + + static int _curr_opened = 0 ; /* the number of files currently opened */ + /* NOTE: _ncdf might have been the number of files currently opened, yet it diff --git a/hdf-build.patch b/hdf-build.patch deleted file mode 100644 index 6531214..0000000 --- a/hdf-build.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff -up hdf4-master/java/src/jni/Makefile.am.build hdf4-master/java/src/jni/Makefile.am ---- hdf4-master/java/src/jni/Makefile.am.build 2024-02-06 22:11:46.219972170 -0700 -+++ hdf4-master/java/src/jni/Makefile.am 2024-02-06 22:12:33.262288868 -0700 -@@ -16,7 +16,10 @@ AM_CPPFLAGS=-I$(top_srcdir)/hdf/src - $(JNIFLAGS) - - # This is our main target --lib_LTLIBRARIES=libhdf_java.la -+pkglib_LTLIBRARIES=libhdf_java.la -+ -+# No soname for JNI library -+libhdf_java_la_LDFLAGS = -avoid-version - - # Source files for the library - libhdf_java_la_SOURCES=hdfanImp.c hdfdfpalImp.c \ -diff -up hdf4-master/java/src/Makefile.am.build hdf4-master/java/src/Makefile.am ---- hdf4-master/java/src/Makefile.am.build 2024-02-06 17:40:20.000000000 -0700 -+++ hdf4-master/java/src/Makefile.am 2024-02-06 22:11:46.219972170 -0700 -@@ -13,8 +13,8 @@ JAVAROOT = .classes - classes: - test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT) - --jarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar --hdf_javadir = $(libdir) -+jarfile = $(PACKAGE_TARNAME).jar -+hdf_javadir = $(prefix)/lib/java - - pkgpath = hdf/hdflib - CLASSPATH_ENV=CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-1.7.33.jar:$$CLASSPATH -diff -up hdf4-master/java/test/junit.sh.in.build hdf4-master/java/test/junit.sh.in ---- hdf4-master/java/test/junit.sh.in.build 2024-02-06 17:40:20.000000000 -0700 -+++ hdf4-master/java/test/junit.sh.in 2024-02-06 22:11:46.219972170 -0700 -@@ -40,7 +40,7 @@ HDFLIB_HOME="$top_srcdir/java/lib" - BLDLIBDIR="$top_builddir/hdf4/lib" - BLDDIR="." - HDFTEST_HOME="$top_srcdir/java/test" --JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar -+JARFILE=@PACKAGE_TARNAME@.jar - TESTJARFILE=jar@PACKAGE_TARNAME@test.jar - test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR - -diff -up hdf4-master/java/test/Makefile.am.build hdf4-master/java/test/Makefile.am ---- hdf4-master/java/test/Makefile.am.build 2024-02-06 17:40:20.000000000 -0700 -+++ hdf4-master/java/test/Makefile.am 2024-02-06 22:11:46.219972170 -0700 -@@ -12,7 +12,7 @@ classes: - test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT) - - pkgpath = test --hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar -+hdfjarfile = $(PACKAGE_TARNAME).jar - CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-1.7.33.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.33.jar:$$CLASSPATH - - jarfile = jar$(PACKAGE_TARNAME)test.jar diff --git a/hdf.spec b/hdf.spec index 7fa948e..9994ba8 100644 --- a/hdf.spec +++ b/hdf.spec @@ -1,477 +1,120 @@ -# No more Java on i686 -%ifarch %{java_arches} -%bcond_without java -%else -%bcond_with java -%endif - Name: hdf -Version: 4.3.0 -Release: 4%{?dist} +Version: 4.2.5 +Release: 3%{?dist} Summary: A general purpose library and file format for storing scientific data -# Automatically converted from old format: BSD - review is highly recommended. -License: LicenseRef-Callaway-BSD -URL: https://portal.hdfgroup.org/ -Source0: https://github.com/HDFGroup/hdf4/archive/refs/tags/hdf%{version}.tar.gz -Source1: h4comp -# Fix java build -Patch1: hdf-build.patch - -# For destdir/examplesdir patches -BuildRequires: automake, libtool, gcc, gcc-c++ -BuildRequires: chrpath -BuildRequires: flex byacc libjpeg-devel zlib-devel %{!?el6:libaec-devel} -BuildRequires: libtirpc-devel -BuildRequires: gcc-gfortran, gcc -%if %{with java} -BuildRequires: java-devel -BuildRequires: javapackages-tools -BuildRequires: hamcrest -BuildRequires: junit -BuildRequires: slf4j +License: BSD +Group: System Environment/Libraries +URL: http://hdfgroup.org/products/hdf4/index.html +Source0: ftp://ftp.hdfgroup.org/HDF/HDF_Current/src/%{name}-%{version}.tar.bz2 +Patch0: hdf-4.2.5-maxavailfiles.patch +Patch1: hdf-4.2.4-ppc.patch +Patch2: hdf-4.2.4-sparc.patch +Patch3: hdf-4.2.4-s390.patch +# Use of jpeg-turbo disturbs jpeg tests, disable errors +Patch4: hdf-4.2.5-jpeg.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: flex byacc libjpeg-devel zlib-devel +%if "%{?dist}" != ".el4" +BuildRequires: gcc-gfortran %else -Obsoletes: java-hdf < %{version}-%{release} +BuildRequires: gcc-g77 %endif -BuildRequires: make -Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -HDF4 is a general purpose library and file format for storing scientific data. -HDF4 can store two primary objects: datasets and groups. A dataset is -essentially a multidimensional array of data elements, and a group is a -structure for organizing objects in an HDF4 file. Using these two basic -objects, one can create and store almost any kind of scientific data -structure, such as images, arrays of vectors, and structured and unstructured -grids. You can also mix and match them in HDF4 files according to your needs. +HDF is a general purpose library and file format for storing scientific data. +HDF can store two primary objects: datasets and groups. A dataset is +essentially a multidimensional array of data elements, and a group is a +structure for organizing objects in an HDF file. Using these two basic +objects, one can create and store almost any kind of scientific data +structure, such as images, arrays of vectors, and structured and unstructured +grids. You can also mix and match them in HDF files according to your needs. %package devel -Summary: HDF4 development files +Summary: HDF development files +Group: Development/Libraries Provides: %{name}-static = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: libjpeg-devel%{?_isa} -Requires: libtirpc-devel%{?_isa} -Requires: zlib-devel%{?_isa} +Requires: %{name} = %{version}-%{release} +Requires: libjpeg-devel zlib-devel %description devel -HDF4 development headers and libraries. - - -%package examples -Summary: HDF4 example source files -BuildArch: noarch - -%description examples -HDF4 example source files. - - -%package libs -Summary: HDF4 shared libraries - -%description libs -HDF4 shared libraries. - - -%package static -Summary: HDF4 static libraries -Requires: %{name}-devel = %{version}-%{release} - -%description static -HDF4 static libraries. - - -%if %{with java} -%package -n java-hdf -Summary: HDF4 java library -Requires: slf4j -Obsoletes: jhdf < 3.3.1-2 - -%description -n java-hdf -HDF4 java library -%endif +HDF development headers and libraries. %prep -%setup -q -n hdf4-hdf%{version} -%patch -P 1 -p1 -b .build - -%if %{with java} -# Replace jars with system versions -# hamcrest-core is obsoleted in hamcrest-2.2 -# Junit tests are failing with junit-4.13.1 -%if 0%{?rhel} >= 9 || 0%{?fedora} -find . ! -name junit.jar -name "*.jar" -delete -ln -s $(build-classpath hamcrest) java/lib/hamcrest-core.jar -%else -find . -name "*.jar" -delete -ln -s $(build-classpath hamcrest/core) java/lib/hamcrest-core.jar -ln -s $(build-classpath junit) java/lib/junit.jar -# Fix test output -junit_ver=$(sed -n '//{s/^.*>\([0-9]\.[0-9.]*\)<.*/\1/;p;q}' /usr/share/maven-poms/junit.pom) -sed -i -e "s/JUnit version .*/JUnit version $junit_ver/" java/test/testfiles/JUnit-*.txt -%endif -ln -s $(build-classpath slf4j/api) java/lib/slf4j-api-1.7.33.jar -ln -s $(build-classpath slf4j/nop) java/lib/ext/slf4j-nop-1.7.33.jar -ln -s $(build-classpath slf4j/simple) java/lib/ext/slf4j-simple-1.7.33.jar -%endif - -find . -type f -name "*.h" -exec chmod 0644 '{}' \; -find . -type f -name "*.c" -exec chmod 0644 '{}' \; +%setup -q +%patch0 -p1 -b .maxavailfiles +%patch1 -p1 -b .ppc +%patch2 -p1 -b .sparc +%patch3 -p1 -b .s390 +%patch4 -p1 -b .jpeg +chmod a-x *hdf/*/*.c hdf/*/*.h # restore include file timestamps modified by patching -#touch -c -r ./hdf/src/hdfi.h.ppc ./hdf/src/hdfi.h +touch -c -r ./hdf/src/hdfi.h.ppc ./hdf/src/hdfi.h +touch -c -r ./mfhdf/libsrc/config/netcdf-linux.h.ppc ./mfhdf/libsrc/config/netcdf-linux.h %build -# This should be removed once rebased to an upstream version with -# C99 compatibility fixes (bug 2167466). -#global build_type_safety_c 0 - -# For destdir/examplesdir patches -autoreconf -vif - # avoid upstream compiler flags settings rm config/*linux-gnu +export CFLAGS="$RPM_OPT_FLAGS -fPIC" +export FFLAGS="$RPM_OPT_FLAGS -fPIC -ffixed-line-length-none" +%configure --disable-production --disable-netcdf \ + --includedir=%{_includedir}/%{name} --libdir=%{_libdir}/%{name} -# TODO: upstream fix -# libmfhdf.so is link to libdf.so -export CFLAGS="%{optflags} -std=gnu17 -I%{_usr}/include/tirpc" -export LIBS="-ltirpc" -%global _configure ../configure -# Java test needs this but doesn't create it -mkdir -p build-shared/java/lib -cd build-shared -# Java requires shared libraries, fortran requires static -%configure --disable-production %{?with_java:--enable-java} --disable-netcdf \ - --enable-shared=yes --enable-static=no --disable-fortran %{!?el6:--with-szlib} \ - --includedir=%{_includedir}/%{name} -%make_build -cd - -mkdir build-static -cd build-static -# Java requires shared libraries, fortran requires static - -# Temporary workaround for compiling on GCC-10 -%if 0%{?fedora} || 0%{?rhel} > 8 -export FCFLAGS="%{build_fflags} -fallow-argument-mismatch" -export FFLAGS="%{build_fflags} -fallow-argument-mismatch" -%endif -%configure --disable-production --disable-java --disable-netcdf \ - --enable-shared=no --enable-static=yes --enable-fortran %{!?el6:--with-szlib} \ - --includedir=%{_includedir}/%{name} -%make_build -cd - - +make # correct the timestamps based on files used to generate the header files +touch -c -r ./mfhdf/fortran/config/netcdf-linux.inc mfhdf/fortran/netcdf.inc touch -c -r hdf/src/hdf.inc hdf/src/hdf.f90 touch -c -r hdf/src/dffunc.inc hdf/src/dffunc.f90 touch -c -r mfhdf/fortran/mffunc.inc mfhdf/fortran/mffunc.f90 # netcdf fortran include need same treatement, but they are not shipped - %install -%make_install -C build-static -%make_install -C build-shared -chrpath --delete --keepgoing %{buildroot}%{_bindir}/* %{buildroot}%{_libdir}/%{name}/*.so.* %{buildroot}%{_libdir}/*.so.* || : - -#install -pm 644 README.txt release_notes/*.txt %{buildroot}%{_pkgdocdir}/ - -rm -f %{buildroot}%{_libdir}/%{name}/*.la -rm -f %{buildroot}%{_libdir}/*.la - +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' #Don't conflict with netcdf +#rm $RPM_BUILD_ROOT%{_bindir}/nc* $RPM_BUILD_ROOT%{_mandir}/man1/nc* for file in ncdump ncgen; do - mv %{buildroot}%{_bindir}/$file %{buildroot}%{_bindir}/h$file + mv $RPM_BUILD_ROOT%{_bindir}/$file $RPM_BUILD_ROOT%{_bindir}/h$file # man pages are the same than netcdf ones - rm %{buildroot}%{_mandir}/man1/${file}.1 + rm $RPM_BUILD_ROOT%{_mandir}/man1/${file}.1 done -#Fixup headers and scripts for multiarch -%if "%{_lib}" == "lib64" -for x in h4cc h4fc -do - mv %{buildroot}%{_bindir}/${x} \ - %{buildroot}%{_bindir}/${x}-64 - install -m 0755 %SOURCE1 %{buildroot}%{_bindir}/${x} -done -%else -for x in h4cc h4fc -do - mv %{buildroot}%{_bindir}/${x} \ - %{buildroot}%{_bindir}/${x}-32 - install -m 0755 %SOURCE1 %{buildroot}%{_bindir}/${x} -done -%endif +# this is done to have the same timestamp on multiarch setups +touch -c -r README.txt $RPM_BUILD_ROOT/%{_includedir}/hdf/h4config.h +# Remove an autoconf conditional from the API that is unused and cause +# the API to be different on x86 and x86_64 +pushd $RPM_BUILD_ROOT/%{_includedir}/hdf +grep -v 'H4_SIZEOF_INTP' h4config.h > h4config.h.tmp +touch -c -r h4config.h h4config.h.tmp +mv h4config.h.tmp h4config.h +popd %check -# https://github.com/HDFGroup/hdf4/issues/473 -%ifarch ppc64le s390x -make -j1 -C build-shared check || : -make -j1 -C build-static check || : -%else -make -j1 -C build-shared check -make -j1 -C build-static check -%endif +make check + + +%clean +rm -rf $RPM_BUILD_ROOT %files -%license COPYING -%doc README.md release_notes/*.txt +%defattr(-,root,root,0755) +%doc COPYING MANIFEST README.txt release_notes/*.txt %{_bindir}/* -%exclude %{_bindir}/h4?c* -%{_libdir}/*.so.0* +%{_mandir}/man1/*.gz %files devel -%{_bindir}/h4?c* +%defattr(-,root,root,0755) %{_includedir}/%{name}/ -%{_libdir}/*.so -%{_libdir}/*.settings - -%files examples -%doc HDF4Examples - -%files libs -%{_libdir}/*.so.0* - -%files static -%{_libdir}/*.a - -%if %{with java} -%files -n java-hdf -%{_jnidir}/hdf.jar -%{_libdir}/%{name}/libhdf_java.so -%endif +%{_libdir}/%{name}/ %changelog -* Thu Jul 24 2025 Fedora Release Engineering - 4.3.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sun Jan 19 2025 Antonio Trande - 4.3.0-3 -- Fix GCC15 builds - -* Fri Jan 17 2025 Fedora Release Engineering - 4.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Mon Sep 30 2024 Orion Poplawski - 4.3.0-1 -- Update to 4.3.0 - -* Mon Sep 02 2024 Miroslav Suchý - 4.2.16.2-3 -- convert license to SPDX - -* Thu Jul 18 2024 Fedora Release Engineering - 4.2.16.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jan 30 2024 Orion Poplawski - 4.2.16.2-1 -- Update to 4.2.16-2 - -* Wed Jan 24 2024 Fedora Release Engineering - 4.2.15-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jan 20 2024 Fedora Release Engineering - 4.2.15-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Aug 29 2023 Florian Weimer - 4.2.15-14 -- Set build_type_safety_c to 0 (#2167466) - -* Thu Jul 20 2023 Fedora Release Engineering - 4.2.15-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jan 19 2023 Fedora Release Engineering - 4.2.15-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jul 21 2022 Fedora Release Engineering - 4.2.15-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sun Jul 10 2022 Orion Poplawski - 4.2.15-10 -- Drop java for i686 (bz#2104047) - -* Sat Feb 05 2022 Jiri Vanek - 4.2.15-9 -- Rebuilt for java-17-openjdk as system jdk - -* Thu Jan 20 2022 Fedora Release Engineering - 4.2.15-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Jul 29 2021 Antonio Trande - 4.2.15-7 -- Fix eln builds - -* Wed Jul 28 2021 Antonio Trande - 4.2.15-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild -- Use bundled junit -- Fix hamcrest symlinks in Fedora 35+ - -* Sun May 30 2021 Orion Poplawski - 4.2.15-5 -- Handle junit versions better - -* Tue Jan 26 2021 Fedora Release Engineering - 4.2.15-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 4.2.15-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 21 2020 Merlin Mathesius - 4.2.15-2 -- Minor conditional fix for ELN - -* Fri Jul 10 2020 Jiri Vanek - 4.2.15-2 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Fri May 01 2020 Orion Poplawski - 4.2.15-1 -- Update to 4.2.15 - -* Thu Apr 02 2020 Björn Esser - 4.2.14-9 -- Fix string quoting for rpm >= 4.16 - -* Sun Feb 02 2020 Antonio Trande 4.2.14-8 -- Temporary workaround for compiling with GCC-10 - -* Wed Jan 29 2020 Fedora Release Engineering - 4.2.14-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Nov 8 2019 Orion Poplawski - 4.2.14-6 -- Move compile scripts to hdf-devel and allow multilib install (bz#1769326) -- Split shared libraries into hdf-libs sub-package - -* Thu Jul 25 2019 Fedora Release Engineering - 4.2.14-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Apr 10 2019 Orion Poplawski - 4.2.14-4 -- Move libraries into %%{_libdir} - -* Tue Apr 9 2019 Orion Poplawski - 4.2.14-3 -- Build shared libraries -- Enable java - -* Fri Feb 01 2019 Fedora Release Engineering - 4.2.14-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Nov 03 2018 Antonio Trande 4.2.14-1 -- Release 4.2.14 - -* Sun Oct 7 2018 Orion Poplawski - 4.2.13-11 -- Use LIBS instead of LDFLAGS for -ltirpc - -* Fri Jul 13 2018 Fedora Release Engineering - 4.2.13-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Feb 22 2018 Antonio Trande - 4.2.13-9 -- Add gcc BR - -* Wed Feb 07 2018 Fedora Release Engineering - 4.2.13-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Mon Feb 5 2018 Orion Poplawski - 4.2.13-7 -- Make hdf-devel require libtirpc-devel - -* Fri Feb 02 2018 Orion Poplawski - 4.2.13-6 -- Rebuild for gcc 8.0 - -* Sat Jan 20 2018 Antonio Trande 4.2.13-5 -- Enable szlib support - -* Wed Jan 17 2018 Pavel Raiskup - 4.2.13-4 -- rpc api moved from glibc to libtirpc: - https://fedoraproject.org/wiki/Changes/SunRPCRemoval - -* Wed Aug 02 2017 Fedora Release Engineering - 4.2.13-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 4.2.13-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Jul 21 2017 Antonio Trande 4.2.13-1 -- Update to 4.2.13 - -* Fri Feb 10 2017 Fedora Release Engineering - 4.2.12-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Jan 31 2017 Orion Poplawski 4.2.12-1 -- Update to 4.2.12 - -* Wed May 25 2016 Orion Poplawski 4.2.11-4 -- Cleanup spec -- Remove .la files -- Use %%license - -* Wed Feb 03 2016 Fedora Release Engineering - 4.2.11-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Jun 17 2015 Fedora Release Engineering - 4.2.11-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Fri Feb 13 2015 Orion Poplawski 4.2.11-1 -- Update to 4.2.11 -- Drop format patch applied upstream -- Update destdir patch - -* Mon Sep 8 2014 Orion Poplawski - 4.2.10-7 -- Updated patch for ppc64le support (bug #1134385) - -* Wed Sep 3 2014 Orion Poplawski - 4.2.10-6 -- Add initial attempt at ppc64le support (bug #1134385) - -* Sat Aug 16 2014 Fedora Release Engineering - 4.2.10-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Wed Jun 25 2014 Marcin Juszkiewicz 4.2.10-4 -- Add AArch64 support. - -* Sat Jun 07 2014 Fedora Release Engineering - 4.2.10-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu May 22 2014 Jakub Čajka 4.2.10-2 -- Fixed build/tests on s390x -- Tests enabled on ppc - -* Fri Feb 14 2014 Orion Poplawski 4.2.10-1 -- Update to 4.2.10 -- Rebase arm, ppc, and s390 patches -- Add destdir, examplesdir patches to fix installation of examples - -* Sat Feb 1 2014 Orion Poplawski 4.2.9-4 -- Fix build with -Werror=format-security (bug #1037120) - -* Tue Aug 13 2013 Karsten Hopp 4.2.9-3 -- temporarily skip checks on ppc* (#961007) - -* Sat Aug 03 2013 Fedora Release Engineering - 4.2.9-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Fri Feb 15 2013 Orion Poplawski 4.2.9-1 -- Update to 4.2.9 -- Add patch for some missing declarations -- Add patch to fix integer wrapping in test - -* Thu Feb 14 2013 Fedora Release Engineering - 4.2.8-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Fri Jan 18 2013 Adam Tkac - 4.2.8-3 -- rebuild due to "jpeg8-ABI" feature drop - -* Fri Dec 21 2012 Adam Tkac - 4.2.8-2 -- rebuild against new libjpeg - -* Wed Aug 15 2012 Orion Poplawski 4.2.8-1 -- Update to 4.2.8 - -* Thu Jul 19 2012 Fedora Release Engineering - 4.2.7-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue Mar 06 2012 DJ Delorie 4.2.7-2 -- Add patch for ARM support - -* Wed Feb 15 2012 Orion Poplawski 4.2.7-1 -- Update to 4.2.7 - -* Fri Jan 13 2012 Fedora Release Engineering - 4.2.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Jun 21 2011 Orion Poplawski 4.2.6-1 -- Update to 4.2.6 -- Drop jpeg patch, fixed upstream -- Update ppc,s390 patches - * Wed Feb 09 2011 Fedora Release Engineering - 4.2.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/sources b/sources index 779b64a..fe276a8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (hdf4.3.0.tar.gz) = dd1c433a393d893744c29479c756331e677d4201bb0e89f64b846d6c5d9a4fcee64e99b4ed46a97741b55cf0917002f00d8fa2582db5570aa0d6eb202242a558 +91bc17ec735b52736507570a530fe8a9 hdf-4.2.5.tar.bz2