singular: import aarch64 support patch

This commit is contained in:
Mauricio Collares 2021-04-21 13:34:32 -03:00 committed by Masanori Ogino
parent ceaf48fdb2
commit aebef1703f
2 changed files with 44 additions and 3 deletions

View file

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, gmp, bison, perl, ncurses, readline, coreutils, pkg-config { stdenv, fetchFromGitHub, gmp, bison, perl, ncurses, readline, coreutils, pkg-config
, lib , lib
, fetchpatch , fetchpatch
, autoreconfHook269 , autoreconfHook
, sharutils , sharutils
, file , file
, flint , flint
@ -48,7 +48,10 @@ stdenv.mkDerivation rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
patches = lib.optionals enableDocs [ patches = [
# add aarch64 support to cpu-check.m4. copied from redhat.
./redhat-aarch64.patch
] ++ lib.optionals enableDocs [
# singular supports building without 4ti2, bertini, normaliz or # singular supports building without 4ti2, bertini, normaliz or
# topcom just fine, but the docbuilding does not skip manual pages # topcom just fine, but the docbuilding does not skip manual pages
# tagged as depending on those binaries (probably a bug in # tagged as depending on those binaries (probably a bug in
@ -96,7 +99,7 @@ stdenv.mkDerivation rec {
bison bison
perl perl
pkg-config pkg-config
autoreconfHook269 autoreconfHook
sharutils # needed for regress.cmd install checks sharutils # needed for regress.cmd install checks
] ++ lib.optionals enableDocs [ ] ++ lib.optionals enableDocs [
doxygen doxygen

View file

@ -0,0 +1,38 @@
diff --git a/m4/cpu-check.m4 b/m4/cpu-check.m4
index 3cf0a7f08..12bb926ac 100644
--- a/m4/cpu-check.m4
+++ b/m4/cpu-check.m4
@@ -37,6 +37,18 @@ if test "$ac_cv_singcpuname" = ppc; then
AC_DEFINE(SI_CPU_PPC,1,"PPC")
AC_SUBST(SI_CPU_PPC)
fi
+if test "$ac_cv_singcpuname" = arm -o "$ac_cv_singcpuname" = armel; then
+ AC_DEFINE(SI_CPU_ARM,1,"ARM")
+ AC_SUBST(SI_CPU_ARM)
+fi
+if test "$ac_cv_singcpuname" = aarch64; then
+ AC_DEFINE(SI_CPU_AARCH64,1,"AARCH64")
+ AC_SUBST(SI_CPU_AARCH64)
+fi
+if test "$ac_cv_singcpuname" = s390; then
+ AC_DEFINE(SI_CPU_S390,1,"S390")
+ AC_SUBST(SI_CPU_S390)
+fi
# UNAME and PATH
AC_MSG_CHECKING(uname for Singular)
@@ -65,6 +77,14 @@ dnl testet on: ppc_Linux, 740/750 PowerMac G3, 512k L2 cache
[powerpc*|ppc*], [AC_DEFINE(HAVE_GENERIC_MULT,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)],
dnl the following settings seems to be better on arm processors
[arm*], [],
+dnl FIXME: need to run some tests
+ [aarch64*], [
+ AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)
+ AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)
+ AC_DEFINE(HAVE_DIV_MOD,1,division using extend euclidian algorithm otherwise using tables of logartihms)
+ ],
+dnl FIXME: need to run some tests
+ [s390*], [AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)],
[]
)