set path=<<>>\msys\1.0\bin;%path% sh ./Configure --without-gmp --with-qt=no 2>&1 | tee -a 00c00 Replace paricfg.h by the Math::Pari version (with PARIVERSION PARIINFO added for gp.c) Change DOTEST line to have 64 in <<>>/Makefile. With plotting patch: plotterm should have Unixified line-endings. make -k bench 2>&1 | tee -a 00t00 The only problem: install() --- pari-2.3.5/src/language/init.c-pre 2019-03-28 21:32:27.308266800 -0700 +++ pari-2.3.5/src/language/init.c 2019-03-28 21:43:52.938482600 -0700 @@ -19,15 +19,16 @@ Foundation, Inc., 59 Temple Place - Suit /* */ /*******************************************************************/ #include -#include "pari.h" -#include "paripriv.h" -#include "anal.h" #ifdef _WIN32 # ifndef WINCE # include # endif #endif +#include "pari.h" +#include "paripriv.h" +#include "anal.h" + GEN gnil, gen_0, gen_1, gen_m1, gen_2, ghalf, gi; GEN gpi, geuler, bernzone; GEN primetab; /* private primetable */ --- pari-2.3.5/src/language/es.c-pre 2019-03-28 21:32:27.193260200 -0700 +++ pari-2.3.5/src/language/es.c 2019-03-28 21:40:33.206058600 -0700 @@ -18,6 +18,13 @@ Foundation, Inc., 59 Temple Place - Suit /** INPUT/OUTPUT SUBROUTINES **/ /** **/ /*******************************************************************/ +#ifdef HAS_STAT +#include +#endif +#ifdef HAS_OPENDIR +#include +#endif + #include "pari.h" #include "paripriv.h" #include "anal.h" --- pari-2.3.5/src/headers/parigen.h-pre 2019-03-28 21:32:25.971190300 -0700 +++ pari-2.3.5/src/headers/parigen.h 2019-03-28 21:36:03.087608700 -0700 @@ -15,8 +15,25 @@ Foundation, Inc., 59 Temple Place - Suit /* This file defines the parameters of the GEN type */ -typedef long *GEN; +#if defined(_WIN64) || defined(WIN64) /* It seems that _WIN64 may be not defined, only WIN64: https://www.cpantesters.org/cpan/report/625390d2-6ee9-1014-8de1-4f76cf55203a */ +typedef unsigned long long pari_ulong; +/* Avoid redefinition of symbols to a different type (error in gcc v13). + May just move the error to the time of substitution! */ +#define long long long +# ifdef _WIN64_REALLY_HARD /* Not needed anymore; do not work anyway (but only from .xs???!!!): https://www.cpantesters.org/cpan/report/e4b8ea8a-6c58-1014-ae52-ef181c4f203f */ +#define labs(x) CONCAT2(l,labs)(x) +#define atol(x) CONCAT2(atol,l)(x) +#define atoul(x) CONCAT2(atoul,l)(x) +#define strtol(x,y,z) CONCAT2(strtol,l)(x,y,z) +#define strtoul(x,y,z) CONCAT2(strtoul,l)(x,y,z) +#define CONCAT2_IMPL(x, y) x##y +#define CONCAT2(x, y) CONCAT2_IMPL(x, y) +# endif /* _WIN64_REALLY_HARD */ +#else typedef unsigned long pari_ulong; +#endif + +typedef long *GEN; #define ulong pari_ulong #ifdef LONG_IS_64BIT