gnu: emacs-consult: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / patches / hdf4-architectures.patch
CommitLineData
60da9fb1
AE
1Copied from Debian.
2
3Description: Support additional architectures.
4Author: Francesco Paolo Lovergine <frankie@debian.org>
5
6--- a/hdf/src/hdfi.h
7+++ b/hdf/src/hdfi.h
8@@ -48,6 +48,7 @@
9 /* 8 - Cray IEEE */
10 /* (i.e. Big-Endian, all 64-bit architecture w/IEEE Floats) */
11 /*--------------------------------------------------------------------------*/
12+#define DFMT_S390 0x1111
13 #define DFMT_SUN 0x1111
14 #define DFMT_SUN_INTEL 0x4441
15 #define DFMT_ALLIANT 0x1111
16@@ -62,6 +63,7 @@
17 #define DFMT_CTSS 0x3331
18 #define DFMT_VAX 0x2221
19 #define DFMT_MIPSEL 0x4441
20+#define DFMT_MIPSEB 0x1111
21 #define DFMT_PC 0x4441
22 #define DFMT_APPLE 0x1111
23 #define DFMT_APPLE_INTEL 0x4441
24@@ -75,6 +77,12 @@
25 #define DFMT_IA64 0x4441
26 #define DFMT_LINUX64 0x4441
27 #define DFMT_POWERPC64 0x1111
28+#define DFMT_POWERPC64LE 0x4441
29+#define DFMT_ARMV4L 0x4441
30+#define DFMT_AARCH64 0x4441
31+#define DFMT_X86_64 0x4441
32+#define DFMT_SH 0x4441
33+#define DFMT_SHEB 0x1111
34
35 /* I/O library constants */
36 #define UNIXUNBUFIO 1
37@@ -288,7 +296,7 @@ typedef int hdf_pint_t;
38
39 #endif /* IBM6000 */
40
41-#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux)))
42+#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux) || defined(__hppa__)))
43
44 #ifndef HP9000
45 #define HP9000
46@@ -347,6 +355,10 @@ typedef int hdf_pint_t;
47 /* what each does */
48 #define JMEMSYS MEM_ANSI
49
50+#ifdef __linux__
51+#define FNAME_POST_UNDERSCORE
52+#endif
53+
54 #endif /* HP9000 */
55
56
57@@ -666,6 +678,410 @@ typedef int hdf_pint_t;
58 #endif /* !(defined(__APPLE__)) */
59
60 /*-----------------------------------------------------*/
61+#if defined (__linux__) && defined (__mc68000__)
62+
63+#ifdef GOT_MACHINE
64+If you get an error on this line more than one machine type has been defined.
65+Please check your Makefile.
66+#endif
67+#define GOT_MACHINE 1
68+
69+#include <fcntl.h>
70+#include <sys/types.h> /* for unbuffered file I/O */
71+#include <sys/stat.h>
72+#include <unistd.h>
73+#include <ctype.h> /* for character macros */
74+
75+#define DF_MT DFMT_MOTOROLA
76+
77+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
78+typedef void VOID;
79+#endif /* end VOID */
80+typedef void * VOIDP;
81+typedef char * _fcd;
82+typedef char char8;
83+typedef unsigned char uchar8;
84+typedef char int8;
85+typedef unsigned char uint8;
86+typedef short int int16;
87+typedef unsigned short int uint16;
88+typedef long int int32;
89+typedef unsigned long int uint32;
90+typedef int intn;
91+typedef unsigned int uintn;
92+typedef float float32;
93+typedef double float64;
94+typedef long intf; /* size of INTEGERs in Fortran compiler */
95+typedef int hdf_pint_t; /* an integer the same size as a pointer */
96+#define FNAME_POST_UNDERSCORE
97+#define _fcdtocp(desc) (desc)
98+
99+#ifdef HAVE_FMPOOL
100+#define FILELIB PAGEBUFIO /* enable page buffering */
101+#else
102+#define FILELIB UNIXBUFIO
103+#endif
104+
105+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
106+
107+/* Determine the memory manager we are going to use. Valid values are: */
108+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
109+/* what each does */
110+#define JMEMSYS MEM_ANSI
111+#define HAVE_STDC
112+#define INCLUDES_ARE_ANSI
113+
114+#endif /* Linux/m68k */
115+
116+#if defined (__linux__) && defined (__sparc__)
117+
118+#ifdef GOT_MACHINE
119+If you get an error on this line more than one machine type has been defined.
120+Please check your Makefile.
121+#endif
122+#define GOT_MACHINE 1
123+
124+#include <fcntl.h>
125+#include <sys/types.h> /* for unbuffered file I/O */
126+#include <sys/stat.h>
127+#include <unistd.h>
128+#include <ctype.h> /* for character macros */
129+
130+#define DF_MT DFMT_SUN
131+
132+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
133+typedef void VOID;
134+#endif /* end VOID */
135+typedef void * VOIDP;
136+typedef char * _fcd;
137+typedef char char8;
138+typedef unsigned char uchar8;
139+typedef char int8;
140+typedef unsigned char uint8;
141+typedef short int int16;
142+typedef unsigned short int uint16;
143+#ifdef _LP64 /* 64-bit environment */
144+typedef int int32;
145+typedef unsigned int uint32;
146+#else /* 32-bit environment */
147+typedef long int int32;
148+typedef unsigned long int uint32;
149+#endif
150+typedef int intn;
151+typedef unsigned int uintn;
152+typedef float float32;
153+typedef double float64;
154+typedef long intf; /* size of INTEGERs in Fortran compiler */
155+#ifdef _LP64 /* 64-bit environment */
156+typedef long hdf_pint_t; /* an integer the same size as a pointer */
157+#else /* 32-bit environment */
158+typedef int hdf_pint_t; /* an integer the same size as a pointer */
159+#endif
160+#define FNAME_POST_UNDERSCORE
161+#define _fcdtocp(desc) (desc)
162+
163+#ifdef HAVE_FMPOOL
164+#define FILELIB PAGEBUFIO /* enable page buffering */
165+#else
166+#define FILELIB UNIXBUFIO
167+#endif
168+
169+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
170+
171+/* Determine the memory manager we are going to use. Valid values are: */
172+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
173+/* what each does */
174+#define JMEMSYS MEM_ANSI
175+#define HAVE_STDC
176+#define INCLUDES_ARE_ANSI
177+
178+#endif /* Linux/Sparc */
179+
180+#if defined (__linux__) && defined (__powerpc__) && !defined(__powerpc64__)
181+
182+#ifdef GOT_MACHINE
183+If you get an error on this line more than one machine type has been defined.
184+Please check your Makefile.
185+#endif
186+#define GOT_MACHINE 1
187+
188+#include <fcntl.h>
189+#include <sys/types.h> /* for unbuffered file I/O */
190+#include <sys/stat.h>
191+#include <unistd.h>
192+#include <ctype.h> /* for character macros */
193+
194+#define DF_MT DFMT_MOTOROLA
195+
196+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
197+typedef void VOID;
198+#endif /* end VOID */
199+typedef void * VOIDP;
200+typedef char * _fcd;
201+typedef char char8;
202+typedef unsigned char uchar8;
203+typedef signed char int8;
204+typedef unsigned char uint8;
205+typedef short int int16;
206+typedef unsigned short int uint16;
207+typedef long int int32;
208+typedef unsigned long int uint32;
209+typedef int intn;
210+typedef unsigned int uintn;
211+typedef float float32;
212+typedef double float64;
213+typedef long intf; /* size of INTEGERs in Fortran compiler */
214+typedef int hdf_pint_t; /* an integer the same size as a pointer */
215+#define FNAME_POST_UNDERSCORE
216+#define _fcdtocp(desc) (desc)
217+
218+#ifdef HAVE_FMPOOL
219+#define FILELIB PAGEBUFIO /* enable page buffering */
220+#else
221+#define FILELIB UNIXBUFIO
222+#endif
223+
224+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
225+
226+/* Determine the memory manager we are going to use. Valid values are: */
227+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
228+/* what each does */
229+#define JMEMSYS MEM_ANSI
230+#define HAVE_STDC
231+#define INCLUDES_ARE_ANSI
232+
233+#endif /* Linux/powerpc */
234+
235+#if defined (__linux__) && defined (__s390__)
236+
237+#ifdef GOT_MACHINE
238+If you get an error on this line more than one machine type has been defined.
239+Please check your Makefile.
240+#endif
241+#define GOT_MACHINE 1
242+
243+#include <fcntl.h>
244+#include <sys/types.h> /* for unbuffered file I/O */
245+#include <sys/stat.h>
246+#include <unistd.h>
247+#include <ctype.h> /* for character macros */
248+
249+#define DF_MT DFMT_S390
250+
251+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
252+typedef void VOID;
253+#endif /* end VOID */
254+typedef void * VOIDP;
255+typedef char * _fcd;
256+typedef char char8;
257+typedef unsigned char uchar8;
258+typedef signed char int8;
259+typedef unsigned char uint8;
260+typedef short int int16;
261+typedef unsigned short int uint16;
262+#ifdef _LP64 /* 64-bit environment */
263+typedef int int32;
264+typedef unsigned int uint32;
265+#else /* 32-bit environment */
266+typedef long int int32;
267+typedef unsigned long int uint32;
268+#endif
269+typedef int intn;
270+typedef unsigned int uintn;
271+typedef float float32;
272+typedef double float64;
273+typedef long intf; /* size of INTEGERs in Fortran compiler */
274+#ifdef _LP64 /* 64-bit environment */
275+typedef long hdf_pint_t; /* an integer the same size as a pointer */
276+#else /* 32-bit environment */
277+typedef int hdf_pint_t; /* an integer the same size as a pointer */
278+#endif
279+#define FNAME_POST_UNDERSCORE
280+#define _fcdtocp(desc) (desc)
281+
282+#ifdef HAVE_FMPOOL
283+#define FILELIB PAGEBUFIO /* enable page buffering */
284+#else
285+#define FILELIB UNIXBUFIO
286+#endif
287+
288+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
289+
290+/* Determine the memory manager we are going to use. Valid values are: */
291+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
292+/* what each does */
293+#define JMEMSYS MEM_ANSI
294+#define HAVE_STDC
295+#define INCLUDES_ARE_ANSI
296+
297+#endif /* Linux/s390 */
298+
299+#if defined (__linux__) && (defined (__MIPSEB__) || defined(__MIPSEL__))
300+
301+#ifdef GOT_MACHINE
302+If you get an error on this line more than one machine type has been defined.
303+Please check your Makefile.
304+#endif
305+#define GOT_MACHINE 1
306+
307+#include <fcntl.h>
308+#include <sys/types.h> /* for unbuffered file I/O */
309+#include <sys/stat.h>
310+#include <unistd.h>
311+#include <ctype.h> /* for character macros */
312+
313+#if defined (__MIPSEB__)
314+#define DF_MT DFMT_MIPSEB
315+#elif defined(__MIPSEL__)
316+#define DF_MT DFMT_MIPSEL
317+#endif
318+
319+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
320+typedef void VOID;
321+#endif /* end VOID */
322+typedef void * VOIDP;
323+typedef char * _fcd;
324+typedef char char8;
325+typedef unsigned char uchar8;
326+typedef signed char int8;
327+typedef unsigned char uint8;
328+typedef short int int16;
329+typedef unsigned short int uint16;
330+typedef int int32;
331+typedef unsigned int uint32;
332+typedef int intn;
333+typedef unsigned int uintn;
334+typedef float float32;
335+typedef double float64;
336+typedef long intf; /* size of INTEGERs in Fortran compiler */
337+typedef long int hdf_pint_t; /* an integer the same size as a pointer */
338+#define FNAME_POST_UNDERSCORE
339+#define _fcdtocp(desc) (desc)
340+
341+#ifdef HAVE_FMPOOL
342+#define FILELIB PAGEBUFIO /* enable page buffering */
343+#else
344+#define FILELIB UNIXBUFIO
345+#endif
346+
347+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
348+
349+/* Determine the memory manager we are going to use. Valid values are: */
350+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
351+/* what each does */
352+#define JMEMSYS MEM_ANSI
353+#define HAVE_STDC
354+#define INCLUDES_ARE_ANSI
355+
356+#endif /* Linux/mips */
357+
358+#if defined (__linux__) && defined (__arm__)
359+
360+#ifdef GOT_MACHINE
361+If you get an error on this line more than one machine type has been defined.
362+Please check your Makefile.
363+#endif
364+#define GOT_MACHINE 1
365+
366+#include <fcntl.h>
367+#include <sys/types.h> /* for unbuffered file I/O */
368+#include <sys/stat.h>
369+#include <unistd.h>
370+#include <ctype.h> /* for character macros */
371+
372+#define DF_MT DFMT_ARMV4L
373+
374+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
375+typedef void VOID;
376+#endif /* end VOID */
377+typedef void * VOIDP;
378+typedef char * _fcd;
379+typedef char char8;
380+typedef unsigned char uchar8;
381+typedef signed char int8;
382+typedef unsigned char uint8;
383+typedef short int int16;
384+typedef unsigned short int uint16;
385+typedef int int32;
386+typedef unsigned int uint32;
387+typedef int intn;
388+typedef unsigned int uintn;
389+typedef float float32;
390+typedef double float64;
391+typedef long intf; /* size of INTEGERs in Fortran compiler */
392+typedef long hdf_pint_t; /* an integer the same size as a pointer */
393+#define FNAME_POST_UNDERSCORE
394+#define _fcdtocp(desc) (desc)
395+
396+#ifdef HAVE_FMPOOL
397+#define FILELIB PAGEBUFIO /* enable page buffering */
398+#else
399+#define FILELIB UNIXBUFIO
400+#endif
401+
402+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
403+
404+/* Determine the memory manager we are going to use. Valid values are: */
405+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
406+/* what each does */
407+#define JMEMSYS MEM_ANSI
408+#define HAVE_STDC
409+#define INCLUDES_ARE_ANSI
410+
411+#endif /* Linux/arm */
412+
413+#if defined (__linux__) && defined (__aarch64__)
414+
415+#ifdef GOT_MACHINE
416+If you get an error on this line more than one machine type has been defined.
417+Please check your Makefile.
418+#endif
419+#define GOT_MACHINE 1
420+
421+#include <fcntl.h>
422+#include <sys/types.h> /* for unbuffered file I/O */
423+#include <sys/stat.h>
424+#include <unistd.h>
425+#include <ctype.h> /* for character macros */
426+
427+#define DF_MT DFMT_AARCH64
428+
429+typedef void VOID;
430+typedef void * VOIDP;
431+typedef char * _fcd;
432+typedef char char8;
433+typedef unsigned char uchar8;
434+typedef signed char int8;
435+typedef unsigned char uint8;
436+typedef short int int16;
437+typedef unsigned short int uint16;
438+typedef int int32;
439+typedef unsigned int uint32;
440+typedef int intn;
441+typedef unsigned int uintn;
442+typedef float float32;
443+typedef double float64;
444+typedef int intf; /* size of INTEGERs in Fortran compiler */
445+typedef long hdf_pint_t; /* an integer the same size as a pointer */
446+#define FNAME_POST_UNDERSCORE
447+#define _fcdtocp(desc) (desc)
448+#define FILELIB UNIXBUFIO
449+
450+#ifndef BIG_LONGS
451+#define BIG_LONGS
452+#endif
453+
454+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
455+
456+/* Determine the memory manager we are going to use. Valid values are: */
457+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
458+/* what each does */
459+#define JMEMSYS MEM_ANSI
460+#define HAVE_STDC
461+#define INCLUDES_ARE_ANSI
462+
463+#endif /* Linux/aarch64 */
464+
465 #if defined(NEXT) || defined(NeXT)
466
467 #ifndef NEXT
468@@ -928,7 +1344,11 @@ Please check your Makefile.
469
470 #include <sys/file.h> /* for unbuffered i/o stuff */
471 #include <sys/stat.h>
472-#define DF_MT DFMT_POWERPC64
473+#ifdef __LITTLE_ENDIAN__
474+#define DF_MT DFMT_POWERPC64LE
475+#else
476+#define DF_MT DFMT_POWERPC64
477+#endif
478 typedef void VOID;
479 typedef void *VOIDP;
480 typedef char *_fcd;
481@@ -952,6 +1372,11 @@ typedef long hdf_pint_t;
482 #define _fcdtocp(desc) (desc)
483 #define FILELIB UNIXBUFIO
484
485+#ifndef BIG_LONGS
486+#define BIG_LONGS
487+#endif
488+
489+
490 /* JPEG #define's - Look in the JPEG docs before changing - (Q) */
491
492 /* Determine the memory manager we are going to use. Valid values are: */
493@@ -1097,6 +1522,8 @@ typedef long hdf_pint_t;
494 #define _fcdtocp(desc) (desc)
495 #define FILELIB UNIXBUFIO
496
497+#define BIG_LONGS
498+
499 /* JPEG #define's - Look in the JPEG docs before changing - (Q) */
500
501 /* Determine the memory manager we are going to use. Valid values are: */
502@@ -1111,6 +1538,66 @@ typedef long hdf_pint_t;
503
504 #endif /* IA64 */
505
506+/* Renesas SuperH SH3(little/big)/SH4(little/big) */
507+#if defined (__linux__) && defined(__sh__)
508+
509+#ifdef GOT_MACHINE
510+If you get an error on this line more than one machine type has been defined.
511+Please check your Makefile.
512+#endif
513+#define GOT_MACHINE 1
514+
515+#include <fcntl.h>
516+#include <sys/types.h> /* for unbuffered file I/O */
517+#include <sys/stat.h>
518+#include <unistd.h>
519+#include <ctype.h> /* for character macros */
520+
521+#if defined (__LITTLE_ENDIAN__)
522+#define DF_MT DFMT_SH
523+#elif defined(__BIG_ENDIAN__)
524+#define DF_MT DFMT_SHEB
525+#endif
526+
527+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
528+typedef void VOID;
529+#endif /* end VOID */
530+
531+typedef void * VOIDP;
532+typedef char * _fcd;
533+typedef char char8;
534+typedef unsigned char uchar8;
535+typedef signed char int8;
536+typedef unsigned char uint8;
537+typedef short int int16;
538+typedef unsigned short int uint16;
539+typedef long int int32;
540+typedef unsigned long int uint32;
541+typedef int intn;
542+typedef unsigned int uintn;
543+typedef float float32;
544+typedef double float64;
545+typedef long intf;
546+typedef int hdf_pint_t;
547+#define FNAME_POST_UNDERSCORE
548+#define _fcdtocp(desc) (desc)
549+
550+#ifdef HAVE_FMPOOL
551+#define FILELIB PAGEBUFIO /* enable page buffering */
552+#else
553+#define FILELIB UNIXBUFIO
554+#endif
555+
556+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
557+/* Determine the memory manager we are going to use. Valid values are: */
558+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
559+/* what each does */
560+#define JMEMSYS MEM_ANSI
561+#define HAVE_STDC
562+#define INCLUDES_ARE_ANSI
563+
564+#endif /* Linux/sh */
565+
566 #ifndef GOT_MACHINE
567 No machine type has been defined. Your Makefile needs to have someing like
568 -DSUN or -DUNICOS in order for the HDF internal structures to be defined
569--- a/hdf/src/hconv.h
570+++ b/hdf/src/hconv.h
571@@ -59,7 +59,7 @@
572 /* CONSTANT DEFINITIONS */
573 /*****************************************************************************/
574 /* Generally Big-Endian machines */
575-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__)
576+#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !(defined(__powerpc__) && defined(__LITTLE_ENDIAN__)) && !defined(__aarch64__) && !defined(__ARM_EABI__)
577 # define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */
578 # define UI8_OUT DFKnb1b
579 # define SI16_IN DFKnb2b /* S = Signed */