singular: import aarch64 support patch
This commit is contained in:
parent
ceaf48fdb2
commit
aebef1703f
2 changed files with 44 additions and 3 deletions
|
@ -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
|
||||||
|
|
38
pkgs/applications/science/math/singular/redhat-aarch64.patch
Normal file
38
pkgs/applications/science/math/singular/redhat-aarch64.patch
Normal 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)],
|
||||||
|
[]
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in a new issue