apply patches

This commit is contained in:
openKylinBot 2022-05-14 03:24:03 +08:00
commit c62e1b7a67
8 changed files with 59 additions and 50 deletions

View File

@ -68,9 +68,7 @@ CORE_SOURCES = buffers.c cfileio.c checksum.c drvrfile.c drvrmem.c \
pliocomp.c fits_hcompress.c fits_hdecompress.c \ pliocomp.c fits_hcompress.c fits_hdecompress.c \
simplerng.c @GSIFTP_SRC@ simplerng.c @GSIFTP_SRC@
ZLIB_SOURCES = zlib/adler32.c zlib/crc32.c zlib/deflate.c zlib/infback.c \ ZLIB_SOURCES = zlib/zcompress.c zlib/zuncompress.c
zlib/inffast.c zlib/inflate.c zlib/inftrees.c zlib/trees.c \
zlib/uncompr.c zlib/zcompress.c zlib/zuncompress.c zlib/zutil.c
SOURCES = ${CORE_SOURCES} ${ZLIB_SOURCES} @F77_WRAPPERS@ SOURCES = ${CORE_SOURCES} ${ZLIB_SOURCES} @F77_WRAPPERS@
@ -103,7 +101,7 @@ lib${PACKAGE}.a: ${OBJECTS}
shared: lib${PACKAGE}${SHLIB_SUFFIX} shared: lib${PACKAGE}${SHLIB_SUFFIX}
lib${PACKAGE}${SHLIB_SUFFIX}: ${OBJECTS} lib${PACKAGE}${SHLIB_SUFFIX}: ${OBJECTS}
${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm ${LIBS_CURL} ${LIBS} ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm -lz ${LIBS_CURL} ${LIBS}
@if [ "x${CFITSIO_SHLIB_SONAME}" != x ]; then \ @if [ "x${CFITSIO_SHLIB_SONAME}" != x ]; then \
ln -sf ${CFITSIO_SHLIB} ${CFITSIO_SHLIB_SONAME}; \ ln -sf ${CFITSIO_SHLIB} ${CFITSIO_SHLIB_SONAME}; \
ln -sf ${CFITSIO_SHLIB_SONAME} $@; \ ln -sf ${CFITSIO_SHLIB_SONAME} $@; \

View File

@ -7,6 +7,6 @@ Name: cfitsio
Description: FITS File Subroutine Library Description: FITS File Subroutine Library
URL: https://heasarc.gsfc.nasa.gov/fitsio/ URL: https://heasarc.gsfc.nasa.gov/fitsio/
Version: @CFITSIO_MAJOR@.@CFITSIO_MINOR@ Version: @CFITSIO_MAJOR@.@CFITSIO_MINOR@
Libs: -L${libdir} -lcfitsio @LIBS@ Libs: -L${libdir} -lcfitsio -lpthread
Libs.private: -lm Libs.private: -lm -lz @LIBS@
Cflags: -I${includedir} Cflags: -I${includedir}

View File

@ -142,6 +142,11 @@ case $host in
ARCH="linux" ARCH="linux"
EXT="lnx" EXT="lnx"
;; ;;
*-*-gnu)
# Hurd only has 3 values in the triplet
ARCH="linux"
EXT="lnx"
;;
*hpux*) *hpux*)
ARCH="hp" ARCH="hp"
EXT="hpu" EXT="hpu"
@ -185,7 +190,7 @@ if test "x$EXT" != xcygwin && test "x$EXT" != xdarwin && test "x$EXT" != xlnx &&
fi fi
fi fi
AC_PROG_CC AC_PROG_CC
LDFLAGS="$CFLAGS" #LDFLAGS="$CFLAGS"
LDFLAGS_BIN="$LDFLAGS" LDFLAGS_BIN="$LDFLAGS"
if test "x$FC" = "xnone" ; then if test "x$FC" = "xnone" ; then

View File

@ -1257,9 +1257,7 @@ int curlProgressCallback(void *clientp, double dltotal, double dlnow,
urlname = (char *)clientp; urlname = (char *)clientp;
if (urlname) if (urlname)
{ {
fprintf(stderr,"Downloading "); fprintf(stderr,"Downloading %s...\n", urlname);
fprintf(stderr,urlname);
fprintf(stderr,"...\n");
} }
isFirst = 0; isFirst = 0;
} }

View File

@ -1,6 +1,6 @@
#define UNSIGNED_BYTE #define UNSIGNED_BYTE
#include "cfortran.h" #include <cfortran.h>
/************************************************************************ /************************************************************************
Some platforms creates longs as 8-byte integers. On other machines, ints Some platforms creates longs as 8-byte integers. On other machines, ints
@ -29,16 +29,16 @@
#undef LONGV_cfT #undef LONGV_cfT
#undef PLONG_cfT #undef PLONG_cfT
#define LONGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,LONGV,A,B,C,D,E) #define LONGV_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,LONGV,A,B,C,D,E)
#define PLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PLONG,A,B,C,D,E) #define PLONG_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,PLONG,A,B,C,D,E)
#define LONGVVVVVVV_cfTYPE int #define LONGVVVVVVV_cfTYPE int
#define PLONG_cfTYPE int #define PLONG_cfTYPE int
#define LONGV_cfQ(B) long *B, _(B,N); #define LONGV_cfQ(B) long *B, CFORTRAN_XCAT_(B,N);
#define PLONG_cfQ(B) long B; #define PLONG_cfQ(B) long B;
#define LONGV_cfT(M,I,A,B,D) ( (_(B,N) = * _3(M,_LONGV_A,I)), \ #define LONGV_cfT(M,I,A,B,D) ( (CFORTRAN_XCAT_(B,N) = * CFORTRAN_XCAT_3(M,_LONGV_A,I)), \
B = F2Clongv(_(B,N),A) ) B = F2Clongv(CFORTRAN_XCAT_(B,N),A) )
#define PLONG_cfT(M,I,A,B,D) ((B=*A),&B) #define PLONG_cfT(M,I,A,B,D) ((B=*A),&B)
#define LONGV_cfR(A,B,D) C2Flongv(_(B,N),A,B); #define LONGV_cfR(A,B,D) C2Flongv(CFORTRAN_XCAT_(B,N),A,B);
#define PLONG_cfR(A,B,D) *A=B; #define PLONG_cfR(A,B,D) *A=B;
#define LONGV_cfH(S,U,B) #define LONGV_cfH(S,U,B)
#define PLONG_cfH(S,U,B) #define PLONG_cfH(S,U,B)
@ -93,7 +93,7 @@ extern unsigned long gMinStrLen;
A->dsc$w_length, \ A->dsc$w_length, \
num_elem(A->dsc$a_pointer, \ num_elem(A->dsc$a_pointer, \
A->dsc$w_length, \ A->dsc$w_length, \
_3(M,_STRV_A,I) ) ) CFORTRAN_XCAT_3(M,_STRV_A,I) ) )
#else #else
#ifdef CRAYFortran #ifdef CRAYFortran
#define PPSTRING_cfT(M,I,A,B,D) (unsigned char*)_fcdtocp(A) #define PPSTRING_cfT(M,I,A,B,D) (unsigned char*)_fcdtocp(A)
@ -103,20 +103,20 @@ extern unsigned long gMinStrLen;
#endif #endif
#define _cfMAX(A,B) ( (A>B) ? A : B ) #define _cfMAX(A,B) ( (A>B) ? A : B )
#define STRINGV_cfQ(B) char **B; unsigned int _(B,N), _(B,M); #define STRINGV_cfQ(B) char **B; unsigned int CFORTRAN_XCAT_(B,N), CFORTRAN_XCAT_(B,M);
#define STRINGV_cfR(A,B,D) free(B[0]); free(B); #define STRINGV_cfR(A,B,D) free(B[0]); free(B);
#define TTSTR( A,B,D) \ #define TTSTR( A,B,D) \
((B=(char*)malloc(_cfMAX(D,gMinStrLen)+1))[D]='\0',memcpy(B,A,D), \ ((B=(char*)malloc(_cfMAX(D,gMinStrLen)+1))[D]='\0',memcpy(B,A,D), \
kill_trailing(B,' ')) kill_trailing(B,' '))
#define TTTTSTRV( A,B,D,E) ( \ #define TTTTSTRV( A,B,D,E) ( \
_(B,N)=_cfMAX(E,1), \ CFORTRAN_XCAT_(B,N)=_cfMAX(E,1), \
_(B,M)=_cfMAX(D,gMinStrLen)+1, \ CFORTRAN_XCAT_(B,M)=_cfMAX(D,gMinStrLen)+1, \
B=(char**)malloc(_(B,N)*sizeof(char*)), \ B=(char**)malloc(CFORTRAN_XCAT_(B,N)*sizeof(char*)), \
B[0]=(char*)malloc(_(B,N)*_(B,M)), \ B[0]=(char*)malloc(CFORTRAN_XCAT_(B,N)*CFORTRAN_XCAT_(B,M)), \
vindex(B,_(B,M),_(B,N),f2cstrv2(A,B[0],D,_(B,M),_(B,N))) \ vindex(B,CFORTRAN_XCAT_(B,M),CFORTRAN_XCAT_(B,N),f2cstrv2(A,B[0],D,CFORTRAN_XCAT_(B,M),CFORTRAN_XCAT_(B,N))) \
) )
#define RRRRPSTRV(A,B,D) \ #define RRRRPSTRV(A,B,D) \
c2fstrv2(B[0],A,_(B,M),D,_(B,N)), \ c2fstrv2(B[0],A,CFORTRAN_XCAT_(B,M),D,CFORTRAN_XCAT_(B,N)), \
free(B[0]), \ free(B[0]), \
free(B); free(B);
@ -169,10 +169,10 @@ static char *f2cstrv2(char *fstr, char* cstr, int felem_len, int celem_len,
#undef BYTE_cfSTR #undef BYTE_cfSTR
#undef BYTEV_cfSTR #undef BYTEV_cfSTR
#define BYTE_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,BYTE,B,X,Y,Z,0) #define BYTE_cfINT(N,A,B,X,Y,Z) CFORTRAN_XCAT_(CFARGS,N)(A,BYTE,B,X,Y,Z,0)
#define BYTEV_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,BYTEV,B,X,Y,Z,0) #define BYTEV_cfINT(N,A,B,X,Y,Z) CFORTRAN_XCAT_(CFARGS,N)(A,BYTEV,B,X,Y,Z,0)
#define BYTE_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,BYTE,A,B,C,D,E) #define BYTE_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,BYTE,A,B,C,D,E)
#define BYTEV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,BYTEV,A,B,C,D,E) #define BYTEV_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,BYTEV,A,B,C,D,E)
#define BYTE_cfSEP(T,B) INT_cfSEP(T,B) #define BYTE_cfSEP(T,B) INT_cfSEP(T,B)
#define BYTEV_cfSEP(T,B) INT_cfSEP(T,B) #define BYTEV_cfSEP(T,B) INT_cfSEP(T,B)
#define BYTE_cfH(S,U,B) STRING_cfH(S,U,B) #define BYTE_cfH(S,U,B) STRING_cfH(S,U,B)
@ -211,11 +211,11 @@ static char *f2cstrv2(char *fstr, char* cstr, int felem_len, int celem_len,
#undef LOGICALV_cfSTR #undef LOGICALV_cfSTR
#undef LOGICALV_cfT #undef LOGICALV_cfT
#define LOGICALV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,LOGICALV,A,B,C,D,E) #define LOGICALV_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,LOGICALV,A,B,C,D,E)
#define LOGICALV_cfQ(B) char *B; unsigned int _(B,N); #define LOGICALV_cfQ(B) char *B; unsigned int CFORTRAN_XCAT_(B,N);
#define LOGICALV_cfT(M,I,A,B,D) (_(B,N)= * _3(M,_LOGV_A,I), \ #define LOGICALV_cfT(M,I,A,B,D) (CFORTRAN_XCAT_(B,N)= * CFORTRAN_XCAT_3(M,_LOGV_A,I), \
B=F2CcopyLogVect(_(B,N),A)) B=F2CcopyLogVect(CFORTRAN_XCAT_(B,N),A))
#define LOGICALV_cfR(A,B,D) C2FcopyLogVect(_(B,N),A,B); #define LOGICALV_cfR(A,B,D) C2FcopyLogVect(CFORTRAN_XCAT_(B,N),A,B);
#define LOGICALV_cfH(S,U,B) #define LOGICALV_cfH(S,U,B)
static char *F2CcopyLogVect(long size, int *A) static char *F2CcopyLogVect(long size, int *A)
@ -268,20 +268,20 @@ extern fitsfile *gFitsFiles[]; /* by Fortran unit numbers */
memchr(A,'\0',D) ? A : TTSTR(A,B,D) memchr(A,'\0',D) ? A : TTSTR(A,B,D)
#define FCALLSCFUN0(T0,CN,UN,LN) \ #define FCALLSCFUN0(T0,CN,UN,LN) \
CFextern _(T0,_cfFZ)(UN,LN) void ABSOFT_cf2(T0)); \ CFextern CFORTRAN_XCAT_(T0,_cfFZ)(UN,LN) void ABSOFT_cf2(T0)); \
CFextern _(T0,_cfFZ)(UN,LN) void ABSOFT_cf2(T0)) \ CFextern CFORTRAN_XCAT_(T0,_cfFZ)(UN,LN) void ABSOFT_cf2(T0)) \
{_Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN(); _Icf(0,K,T0,0,0) _(T0,_cfI)} {_Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN(); _Icf(0,K,T0,0,0) CFORTRAN_XCAT_(T0,_cfI)}
#define FCALLSCFUN14(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \ #define FCALLSCFUN14(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
CFextern _(T0,_cfF)(UN,LN) \ CFextern CFORTRAN_XCAT_(T0,_cfF)(UN,LN) \
CFARGT14(NCF,DCF,ABSOFT_cf2(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)); \ CFARGT14(NCF,DCF,ABSOFT_cf2(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)); \
CFextern _(T0,_cfF)(UN,LN) \ CFextern CFORTRAN_XCAT_(T0,_cfF)(UN,LN) \
CFARGT14(NCF,DCF,ABSOFT_cf2(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)) \ CFARGT14(NCF,DCF,ABSOFT_cf2(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)) \
{ CFARGT14S(QCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \ { CFARGT14S(QCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
_Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN( TCF(LN,T1,1,0) TCF(LN,T2,2,1) \ _Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN( TCF(LN,T1,1,0) TCF(LN,T2,2,1) \
TCF(LN,T3,3,1) TCF(LN,T4,4,1) TCF(LN,T5,5,1) TCF(LN,T6,6,1) TCF(LN,T7,7,1) \ TCF(LN,T3,3,1) TCF(LN,T4,4,1) TCF(LN,T5,5,1) TCF(LN,T6,6,1) TCF(LN,T7,7,1) \
TCF(LN,T8,8,1) TCF(LN,T9,9,1) TCF(LN,TA,10,1) TCF(LN,TB,11,1) TCF(LN,TC,12,1) \ TCF(LN,T8,8,1) TCF(LN,T9,9,1) TCF(LN,TA,10,1) TCF(LN,TB,11,1) TCF(LN,TC,12,1) \
TCF(LN,TD,13,1) TCF(LN,TE,14,1) ); _Icf(0,K,T0,0,0) \ TCF(LN,TD,13,1) TCF(LN,TE,14,1) ); _Icf(0,K,T0,0,0) \
CFARGT14S(RCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) _(T0,_cfI) \ CFARGT14S(RCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) CFORTRAN_XCAT_(T0,_cfI) \
} }

View File

@ -69,7 +69,7 @@ SERVICES PROVIDED HEREUNDER."
# define _MIPS_SZLONG 64 # define _MIPS_SZLONG 64
#endif #endif
#if defined(linux) || defined(__APPLE__) || defined(__sgi) #if defined(__linux__) || defined(__APPLE__) || defined(__sgi)
# include <sys/types.h> /* apparently needed on debian linux systems */ # include <sys/types.h> /* apparently needed on debian linux systems */
#endif /* to define off_t */ #endif /* to define off_t */
@ -83,10 +83,10 @@ SERVICES PROVIDED HEREUNDER."
/* on whether _LARGEFILE_SOURCE is defined in sys/feature_tests.h */ /* on whether _LARGEFILE_SOURCE is defined in sys/feature_tests.h */
/* (at least on Solaris platforms using cc) */ /* (at least on Solaris platforms using cc) */
/* Debian systems require: "(defined(linux) && defined(__off_t_defined))" */ /* Debian systems require: "(defined(__linux__) && defined(__off_t_defined))" */
/* the mingw-w64 compiler requires: "(defined(__MINGW32__) && defined(_OFF_T_DEFINED))" */ /* the mingw-w64 compiler requires: "(defined(__MINGW32__) && defined(_OFF_T_DEFINED))" */
#if defined(_OFF_T) \ #if defined(_OFF_T) \
|| (defined(linux) && defined(__off_t_defined)) \ || (defined(__linux__) && defined(__off_t_defined)) \
|| (defined(__MINGW32__) && defined(_OFF_T_DEFINED)) \ || (defined(__MINGW32__) && defined(_OFF_T_DEFINED)) \
|| defined(_MIPS_SZLONG) || defined(__APPLE__) || defined(_AIX) || defined(_MIPS_SZLONG) || defined(__APPLE__) || defined(_AIX)
# define OFF_T off_t # define OFF_T off_t

View File

@ -137,6 +137,20 @@ extern int Fitsio_Pthread_Status;
# error "can't handle long size given by _MIPS_SZLONG" # error "can't handle long size given by _MIPS_SZLONG"
# endif # endif
#elif defined(__riscv)
/* RISC-V is little endian */
#define BYTESWAPPED TRUE
# if __riscv_xlen == 32
# define LONGSIZE 32
# elif __riscv_xlen == 64
# define LONGSIZE 64
# else
# error "can't handle long size given by __riscv_xlen"
# endif
/* ============================================================== */ /* ============================================================== */
/* the following are all 32-bit byteswapped platforms */ /* the following are all 32-bit byteswapped platforms */
@ -204,12 +218,6 @@ extern int Fitsio_Pthread_Status;
#define BYTESWAPPED FALSE #define BYTESWAPPED FALSE
#endif #endif
#elif defined(__riscv)
/* RISC-V is little endian */
#define BYTESWAPPED TRUE
#else #else
/* assume all other machine uses the same IEEE formats as used in FITS files */ /* assume all other machine uses the same IEEE formats as used in FITS files */

View File

@ -3,7 +3,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <limits.h> #include <limits.h>
#include "zlib.h" #include <zlib.h>
#define GZBUFSIZE 115200 /* 40 FITS blocks */ #define GZBUFSIZE 115200 /* 40 FITS blocks */
#define BUFFINCR 28800 /* 10 FITS blocks */ #define BUFFINCR 28800 /* 10 FITS blocks */