singular: 4.2.0p2 -> 4.3.0
This commit is contained in:
parent
6bee346467
commit
0a6b5115f6
@ -1,7 +1,7 @@
|
||||
{ stdenv, fetchFromGitHub, gmp, bison, perl, ncurses, readline, coreutils, pkg-config
|
||||
, lib
|
||||
, fetchpatch
|
||||
, autoreconfHook
|
||||
, buildPackages
|
||||
, sharutils
|
||||
, file
|
||||
, flint
|
||||
@ -11,6 +11,7 @@
|
||||
, lrcalc
|
||||
, doxygen
|
||||
, graphviz
|
||||
, latex2html
|
||||
# upstream generates docs with texinfo 4. later versions of texinfo
|
||||
# use letters instead of numbers for post-appendix chapters, and we
|
||||
# want it to match the upstream format because sage depends on it.
|
||||
@ -22,66 +23,25 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "singular";
|
||||
version = "4.2.0p2";
|
||||
version = "4.3.0";
|
||||
|
||||
# since the tarball does not contain tests or documentation (and
|
||||
# there is no separate tests tarball for 4.2.0), we fetch from
|
||||
# GitHub.
|
||||
# since the tarball does not contain tests, we fetch from GitHub.
|
||||
src = fetchFromGitHub {
|
||||
owner = "Singular";
|
||||
repo = "Singular";
|
||||
|
||||
# 4.2.0p2 is not tagged, but the tarball matches the commit below.
|
||||
rev = "6f68939ddf612d96e3caaaaa8275f77613ac1da8";
|
||||
sha256 = "sha256-BJNzYylzDqD/5YjzjxPRb/c96tYiuGy9Y+A7qf3ZSG8=";
|
||||
|
||||
# if a release is tagged it will be in the format below.
|
||||
# rev = "Release${lib.replaceStrings ["."] ["-"] version}";
|
||||
# if a release is tagged (which sometimes does not happen), it will
|
||||
# be in the format below.
|
||||
# rev = "Release-${lib.replaceStrings ["."] ["-"] version}";
|
||||
rev = "d895b0f1f543c61eb03adddad20f08655a419d4e";
|
||||
sha256 = "sha256-c5Qr6VUuPKjfw8fowjJJz3oGAyUwo/K0WeMvU5djzVA=";
|
||||
|
||||
# the repository's .gitattributes file contains the lines "/Tst/
|
||||
# export-ignore" and "/doc/ export-ignore" so some directories are
|
||||
# not included in the tarball downloaded by fetchzip. setting
|
||||
# fetchSubmodules works around this by using fetchgit instead of
|
||||
# fetchzip.
|
||||
fetchSubmodules = true;
|
||||
# not included in the tarball downloaded by fetchzip.
|
||||
forceFetchGit = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix timeouts when docbuilding with >= 64 cpus
|
||||
# https://github.com/Singular/Singular/issues/1117
|
||||
./vspace-MAX_PROCESS.patch
|
||||
|
||||
# add aarch64 support to cpu-check.m4. copied from redhat.
|
||||
./redhat-aarch64.patch
|
||||
|
||||
# the newest version of ax-prog-cc-for-build.m4 seems to trigger
|
||||
# linker errors. see
|
||||
# https://github.com/alsa-project/alsa-firmware/issues/3 for a
|
||||
# related issue.
|
||||
./use-older-ax-prog-cc-for-build.patch
|
||||
|
||||
# https://github.com/Singular/Singular/issues/1086
|
||||
(fetchpatch {
|
||||
name = "schubert-lib-fails-with-too-many-cpus.patch";
|
||||
url = "https://github.com/Singular/Singular/commit/3cda50c00a849455efa2502e56596955491a353a.patch";
|
||||
sha256 = "sha256-fgYd+2vT32w5Ki8kKx6PfZn2e4QSJcYWOwEFXtc+lSA=";
|
||||
})
|
||||
] ++ lib.optionals enableDocs [
|
||||
# singular supports building without 4ti2, bertini, normaliz or
|
||||
# topcom just fine, but the docbuilding does not skip manual pages
|
||||
# tagged as depending on those binaries (probably a bug in
|
||||
# doc2tex.pl::HandleLib, since it seems to ignore "-exclude"
|
||||
# argumens). skip them manually.
|
||||
./disable-docs-for-optional-unpackaged-deps.patch
|
||||
|
||||
# fix some non-ascii characters in doc/decodegb.doc
|
||||
(fetchpatch {
|
||||
name = "decodegb-ascii.patch";
|
||||
url = "https://github.com/Singular/Singular/commit/36966d9009de572ee4dbc487f3e5744098fe91be.patch";
|
||||
sha256 = "sha256-9WcEov/oOQRC584ag6WVHFwY2aCjbM75HWyvZoEwppw=";
|
||||
})
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-ntl=${ntl}"
|
||||
"--disable-pyobject-module"
|
||||
@ -114,6 +74,7 @@ stdenv.mkDerivation rec {
|
||||
] ++ lib.optionals enableGfanlib [
|
||||
cddlib
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
perl
|
||||
@ -123,9 +84,11 @@ stdenv.mkDerivation rec {
|
||||
] ++ lib.optionals enableDocs [
|
||||
doxygen
|
||||
graphviz
|
||||
latex2html
|
||||
texinfo4
|
||||
texlive.combined.scheme-small
|
||||
];
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
|
||||
preAutoreconf = ''
|
||||
find . -type f -readable -writable -exec sed \
|
||||
@ -137,21 +100,14 @@ stdenv.mkDerivation rec {
|
||||
|
||||
hardeningDisable = lib.optional stdenv.isi686 "stackprotector";
|
||||
|
||||
# The Makefile actually defaults to `make install` anyway
|
||||
buildPhase = ''
|
||||
# do nothing
|
||||
'';
|
||||
|
||||
doCheck = true; # very basic checks, does not test any libraries
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out"
|
||||
cp -r Singular/LIB "$out/lib"
|
||||
make install
|
||||
'' + lib.optionalString enableDocs ''
|
||||
# Sage uses singular.hlp (which is not in the tarball)
|
||||
# Sage uses singular.info, which is not installed by default
|
||||
mkdir -p $out/share/info
|
||||
cp doc/singular.hlp $out/share/info
|
||||
cp doc/singular.info $out/share/info
|
||||
'' + ''
|
||||
# Make sure patchelf picks up the right libraries
|
||||
rm -rf libpolys factory resources omalloc Singular
|
||||
@ -211,5 +167,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
|
||||
homepage = "http://www.singular.uni-kl.de";
|
||||
downloadPage = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/";
|
||||
mainProgram = "Singular";
|
||||
};
|
||||
}
|
||||
|
@ -1,112 +0,0 @@
|
||||
commit 9e8b044d982e132cf35a106a1cc0cf7e77b27f7c
|
||||
Author: Mauricio Collares <mauricio@collares.org>
|
||||
Date: Thu Apr 15 20:33:21 2021 -0300
|
||||
|
||||
Disable manual sections using optional packages not yet in Nixpkgs
|
||||
|
||||
* normaliz.lib depends on normaliz.
|
||||
* polymake.lib depends on topcom.
|
||||
* recover.lib depends on bertini.
|
||||
* sing4ti2.lib depends on 4ti2.
|
||||
* tateProdCplxNegGrad.lib uses multigrading.lib, which depends on 4ti2.
|
||||
|
||||
diff --git a/doc/singular.doc b/doc/singular.doc
|
||||
index 64b969d39..e704f95f0 100644
|
||||
--- a/doc/singular.doc
|
||||
+++ b/doc/singular.doc
|
||||
@@ -407,7 +407,6 @@ LIB "all.lib";
|
||||
* nfmodsyz_lib:: Syzygy modules of submodules of free modules over algebraic number fields
|
||||
* noether_lib:: Noether normalization of an ideal
|
||||
* normal_lib:: procedure for normalization
|
||||
-* normaliz_lib:: integral closure, normalization for monomial ideals, toric ideals
|
||||
* pointid_lib:: factorized lex GB of the vanishing ideal of a set of points
|
||||
* primdec_lib:: procedures for primary decomposition
|
||||
* primdecint_lib:: primary decomposition over the integers
|
||||
@@ -416,7 +415,6 @@ LIB "all.lib";
|
||||
* reesclos_lib:: Rees Algebra and integral closure of an ideal
|
||||
* rstandard_lib:: Janet bases and border bases for ideals
|
||||
* sagbi_lib:: Subalgebras bases Analogous to Groebner bases for ideals
|
||||
-* sing4ti2_lib:: interface to program 4ti2
|
||||
* symodstd_lib:: Groebner bases for symmetric ideals
|
||||
* toric_lib:: toric ideals
|
||||
@end menu
|
||||
@@ -521,10 +519,6 @@ LIB "all.lib";
|
||||
@node normal_lib
|
||||
@subsection normal_lib
|
||||
@c lib normal.lib
|
||||
-@c ---------------------------------------------------------
|
||||
-@node normaliz_lib
|
||||
-@subsection normaliz_lib
|
||||
-@c lib normaliz.lib tag:normaliz
|
||||
@c ----------------------------------------------------------
|
||||
@node pointid_lib
|
||||
@subsection pointid_lib
|
||||
@@ -558,10 +552,6 @@ LIB "all.lib";
|
||||
@subsection sagbi_lib
|
||||
@c lib sagbi.lib
|
||||
@c ---------------------------------------------------------
|
||||
-@node sing4ti2_lib
|
||||
-@subsection sing4ti2_lib
|
||||
-@c lib sing4ti2.lib tag:sing4ti2
|
||||
-@c ----------------------------------------------------------
|
||||
@node symodstd_lib
|
||||
@subsection symodstd_lib
|
||||
@c lib symodstd.lib
|
||||
@@ -873,7 +863,6 @@ iniD, reslist, sumlist, dividelist, createlist
|
||||
* solve_lib:: procedures to solve polynomial systems
|
||||
* triang_lib:: procedures for decomposing zero-dimensional ideals
|
||||
* ntsolve_lib:: one real solution of polynomial systems (Newton iteration)
|
||||
-* recover_lib:: Hybrid numerical/symbolical algorithms
|
||||
* rootisolation_lib:: real root isolation with intervals
|
||||
* signcond_lib:: computing realizable sign conditions
|
||||
* zeroset_lib:: procedures for roots and factorization
|
||||
@@ -904,10 +893,6 @@ iniD, reslist, sumlist, dividelist, createlist
|
||||
@subsection ntsolve_lib
|
||||
@c lib ntsolve.lib
|
||||
@c ---------------------------------------------------------
|
||||
-@node recover_lib
|
||||
-@subsection recover_lib
|
||||
-@c lib recover.lib tag:bertini
|
||||
-@c ----------------------------------------------------------
|
||||
@node rootisolation_lib
|
||||
@subsection rootisolation_lib
|
||||
@c lib rootisolation.lib
|
||||
@@ -1108,7 +1093,6 @@ but not for serious computations.
|
||||
* cimonom_lib:: complete intersection for toric ideals
|
||||
* gfan_lib:: A gfanlib interface for Singular
|
||||
* gitfan_lib:: Compute GIT-fans
|
||||
-* polymake_lib:: interface to TOPCOM
|
||||
* realizationMatroids_lib:: Realizability for Tropical Fan Curves
|
||||
* tropical_lib:: interface to gfan
|
||||
* tropicalNewton_lib:: Newton polygons in tropical geometry
|
||||
@@ -1125,10 +1109,7 @@ but not for serious computations.
|
||||
@node gitfan_lib
|
||||
@subsection gitfan_lib
|
||||
@c lib gitfan.lib
|
||||
-@c ----------------------------------------------------------
|
||||
-@node polymake_lib
|
||||
-@subsection polymake_lib
|
||||
-@c lib polymake.lib tag:topcom
|
||||
+
|
||||
@c ----------------------------------------------------------
|
||||
@node realizationMatroids_lib
|
||||
@subsection realizationMatroids_lib
|
||||
@@ -1219,7 +1200,6 @@ Comments should be send to the author of the library directly.
|
||||
* stanleyreisner_lib:: T1 and T2 for a general Stanley-Reiser ring
|
||||
* swalk_lib:: Sagbi Walk Conversion Algorithm
|
||||
* systhreads_lib:: multi-threaded objects
|
||||
-* tateProdCplxNegGrad_lib:: sheaf cohomology on product of projective spaces
|
||||
* VecField_lib:: vector fields
|
||||
@end menu
|
||||
@c ----------------------------------------------------------
|
||||
@@ -1310,10 +1290,6 @@ Todos/Issues:
|
||||
@subsection systhreads_lib
|
||||
@c lib systhreads.lib
|
||||
@c ---------------------------------------------------------
|
||||
-@node tateProdCplxNegGrad_lib
|
||||
-@subsection tateProdCplxNegGrad_lib
|
||||
-@c lib tateProdCplxNegGrad.lib
|
||||
-@c ---------------------------------------------------------
|
||||
@node VecField_lib
|
||||
@subsection VecField_lib
|
||||
@c lib VecField.lib
|
@ -1,38 +0,0 @@
|
||||
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)],
|
||||
[]
|
||||
)
|
||||
|
@ -1,194 +0,0 @@
|
||||
diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
|
||||
index f7410d74b..12cb005a5 100644
|
||||
--- a/m4/ax_prog_cc_for_build.m4
|
||||
+++ b/m4/ax_prog_cc_for_build.m4
|
||||
@@ -32,35 +32,31 @@
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
-#serial 18
|
||||
+#serial 9
|
||||
|
||||
AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
|
||||
AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_PROG_CPP])dnl
|
||||
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
+AC_REQUIRE([AC_EXEEXT])dnl
|
||||
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
|
||||
dnl Use the standard macros, but make them use other variable names
|
||||
dnl
|
||||
pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
|
||||
-pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
|
||||
pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
|
||||
pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
|
||||
pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
|
||||
pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
|
||||
-pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
|
||||
pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
|
||||
pushdef([ac_cv_objext], ac_cv_build_objext)dnl
|
||||
pushdef([ac_exeext], ac_build_exeext)dnl
|
||||
pushdef([ac_objext], ac_build_objext)dnl
|
||||
pushdef([CC], CC_FOR_BUILD)dnl
|
||||
pushdef([CPP], CPP_FOR_BUILD)dnl
|
||||
-pushdef([GCC], GCC_FOR_BUILD)dnl
|
||||
pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
|
||||
pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
|
||||
-pushdef([EXEEXT], BUILD_EXEEXT)dnl
|
||||
pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
|
||||
-pushdef([OBJEXT], BUILD_OBJEXT)dnl
|
||||
pushdef([host], build)dnl
|
||||
pushdef([host_alias], build_alias)dnl
|
||||
pushdef([host_cpu], build_cpu)dnl
|
||||
@@ -71,29 +67,27 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
|
||||
pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
|
||||
pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
|
||||
pushdef([ac_cv_host_os], ac_cv_build_os)dnl
|
||||
-pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
|
||||
-pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
|
||||
-pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
|
||||
-pushdef([cross_compiling], cross_compiling_build)dnl
|
||||
+pushdef([ac_cpp], ac_build_cpp)dnl
|
||||
+pushdef([ac_compile], ac_build_compile)dnl
|
||||
+pushdef([ac_link], ac_build_link)dnl
|
||||
|
||||
-cross_compiling_build=no
|
||||
+save_cross_compiling=$cross_compiling
|
||||
+save_ac_tool_prefix=$ac_tool_prefix
|
||||
+cross_compiling=no
|
||||
+ac_tool_prefix=
|
||||
|
||||
-ac_build_tool_prefix=
|
||||
-AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
|
||||
- [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
|
||||
-
|
||||
-AC_LANG_PUSH([C])
|
||||
AC_PROG_CC
|
||||
-_AC_COMPILER_EXEEXT
|
||||
-_AC_COMPILER_OBJEXT
|
||||
AC_PROG_CPP
|
||||
+AC_EXEEXT
|
||||
+
|
||||
+ac_tool_prefix=$save_ac_tool_prefix
|
||||
+cross_compiling=$save_cross_compiling
|
||||
|
||||
dnl Restore the old definitions
|
||||
dnl
|
||||
-popdef([cross_compiling])dnl
|
||||
-popdef([am_cv_prog_cc_c_o])dnl
|
||||
-popdef([am_cv_CC_dependencies_compiler_type])dnl
|
||||
-popdef([ac_tool_prefix])dnl
|
||||
+popdef([ac_link])dnl
|
||||
+popdef([ac_compile])dnl
|
||||
+popdef([ac_cpp])dnl
|
||||
popdef([ac_cv_host_os])dnl
|
||||
popdef([ac_cv_host_vendor])dnl
|
||||
popdef([ac_cv_host_cpu])dnl
|
||||
@@ -104,33 +98,25 @@ popdef([host_vendor])dnl
|
||||
popdef([host_cpu])dnl
|
||||
popdef([host_alias])dnl
|
||||
popdef([host])dnl
|
||||
-popdef([OBJEXT])dnl
|
||||
popdef([LDFLAGS])dnl
|
||||
-popdef([EXEEXT])dnl
|
||||
popdef([CPPFLAGS])dnl
|
||||
popdef([CFLAGS])dnl
|
||||
-popdef([GCC])dnl
|
||||
popdef([CPP])dnl
|
||||
popdef([CC])dnl
|
||||
popdef([ac_objext])dnl
|
||||
popdef([ac_exeext])dnl
|
||||
popdef([ac_cv_objext])dnl
|
||||
popdef([ac_cv_exeext])dnl
|
||||
-popdef([ac_cv_c_compiler_gnu])dnl
|
||||
popdef([ac_cv_prog_cc_g])dnl
|
||||
popdef([ac_cv_prog_cc_cross])dnl
|
||||
popdef([ac_cv_prog_cc_works])dnl
|
||||
-popdef([ac_cv_prog_cc_c89])dnl
|
||||
popdef([ac_cv_prog_gcc])dnl
|
||||
popdef([ac_cv_prog_CPP])dnl
|
||||
|
||||
-dnl restore global variables ac_ext, ac_cpp, ac_compile,
|
||||
-dnl ac_link, ac_compiler_gnu (dependant on the current
|
||||
-dnl language after popping):
|
||||
-AC_LANG_POP([C])
|
||||
-
|
||||
dnl Finally, set Makefile variables
|
||||
dnl
|
||||
+BUILD_EXEEXT=$ac_build_exeext
|
||||
+BUILD_OBJEXT=$ac_build_objext
|
||||
AC_SUBST(BUILD_EXEEXT)dnl
|
||||
AC_SUBST(BUILD_OBJEXT)dnl
|
||||
AC_SUBST([CFLAGS_FOR_BUILD])dnl
|
||||
diff --git a/m4/ax_prog_cxx_for_build.m4 b/m4/ax_prog_cxx_for_build.m4
|
||||
index 4d976769f..17c19a89f 100644
|
||||
--- a/m4/ax_prog_cxx_for_build.m4
|
||||
+++ b/m4/ax_prog_cxx_for_build.m4
|
||||
@@ -31,7 +31,7 @@
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
-#serial 4
|
||||
+#serial 3
|
||||
|
||||
AU_ALIAS([AC_PROG_CXX_FOR_BUILD], [AX_PROG_CXX_FOR_BUILD])
|
||||
AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [dnl
|
||||
@@ -49,7 +49,6 @@ pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)dnl
|
||||
pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)dnl
|
||||
pushdef([CXX], CXX_FOR_BUILD)dnl
|
||||
pushdef([CXXCPP], CXXCPP_FOR_BUILD)dnl
|
||||
-pushdef([GXX], GXX_FOR_BUILD)dnl
|
||||
pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)dnl
|
||||
pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
|
||||
pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)dnl
|
||||
@@ -63,25 +62,26 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
|
||||
pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
|
||||
pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
|
||||
pushdef([ac_cv_host_os], ac_cv_build_os)dnl
|
||||
-pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
|
||||
-pushdef([am_cv_CXX_dependencies_compiler_type], am_cv_build_CXX_dependencies_compiler_type)dnl
|
||||
-pushdef([cross_compiling], cross_compiling_build)dnl
|
||||
+pushdef([ac_cxxcpp], ac_build_cxxcpp)dnl
|
||||
+pushdef([ac_compile], ac_build_compile)dnl
|
||||
+pushdef([ac_link], ac_build_link)dnl
|
||||
|
||||
-cross_compiling_build=no
|
||||
+save_cross_compiling=$cross_compiling
|
||||
+save_ac_tool_prefix=$ac_tool_prefix
|
||||
+cross_compiling=no
|
||||
+ac_tool_prefix=
|
||||
|
||||
-ac_build_tool_prefix=
|
||||
-AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
|
||||
- [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
|
||||
-
|
||||
-AC_LANG_PUSH([C++])
|
||||
AC_PROG_CXX
|
||||
AC_PROG_CXXCPP
|
||||
|
||||
+ac_tool_prefix=$save_ac_tool_prefix
|
||||
+cross_compiling=$save_cross_compiling
|
||||
+
|
||||
dnl Restore the old definitions
|
||||
dnl
|
||||
-popdef([cross_compiling])dnl
|
||||
-popdef([am_cv_CXX_dependencies_compiler_type])dnl
|
||||
-popdef([ac_tool_prefix])dnl
|
||||
+popdef([ac_link])dnl
|
||||
+popdef([ac_compile])dnl
|
||||
+popdef([ac_cxxcpp])dnl
|
||||
popdef([ac_cv_host_os])dnl
|
||||
popdef([ac_cv_host_vendor])dnl
|
||||
popdef([ac_cv_host_cpu])dnl
|
||||
@@ -103,10 +103,6 @@ popdef([ac_cv_prog_cxx_works])dnl
|
||||
popdef([ac_cv_prog_gxx])dnl
|
||||
popdef([ac_cv_prog_CXXCPP])dnl
|
||||
|
||||
-dnl restore global variables (dependant on the current
|
||||
-dnl language after popping):
|
||||
-AC_LANG_POP([C++])
|
||||
-
|
||||
dnl Finally, set Makefile variables
|
||||
dnl
|
||||
AC_SUBST([CXXFLAGS_FOR_BUILD])dnl
|
@ -1,35 +0,0 @@
|
||||
diff --git a/kernel/GBEngine/kChinese.cc b/kernel/GBEngine/kChinese.cc
|
||||
index 829a66609..84655caf2 100644
|
||||
--- a/kernel/GBEngine/kChinese.cc
|
||||
+++ b/kernel/GBEngine/kChinese.cc
|
||||
@@ -209,6 +209,8 @@ ideal id_ChineseRemainder_0(ideal *xx, number *q, int rl, const ring r)
|
||||
return NULL;
|
||||
}
|
||||
int cpus=(int)(long)feOptValue(FE_OPT_CPUS);
|
||||
+ if (cpus>=vspace::internals::MAX_PROCESS)
|
||||
+ cpus=vspace::internals::MAX_PROCESS-1;
|
||||
if ((cpus==1) || (2*cpus>=cnt))
|
||||
/* at least 2 polys for each process, or switch to seriell version */
|
||||
return id_ChineseRemainder(xx,q,rl,r);
|
||||
@@ -295,6 +297,8 @@ ideal id_Farey_0(ideal x, number N, const ring r)
|
||||
{
|
||||
int cnt=IDELEMS(x)*x->nrows;
|
||||
int cpus=(int)(long)feOptValue(FE_OPT_CPUS);
|
||||
+ if (cpus>=vspace::internals::MAX_PROCESS)
|
||||
+ cpus=vspace::internals::MAX_PROCESS-1;
|
||||
if (2*cpus>=cnt) /* at least 2 polys for each process,
|
||||
or switch to seriell version */
|
||||
return id_Farey(x,N,r);
|
||||
diff --git a/kernel/GBEngine/kverify.cc b/kernel/GBEngine/kverify.cc
|
||||
index 909d84994..aa06d6624 100644
|
||||
--- a/kernel/GBEngine/kverify.cc
|
||||
+++ b/kernel/GBEngine/kverify.cc
|
||||
@@ -176,6 +176,8 @@ BOOLEAN kVerify2(ideal F, ideal Q)
|
||||
/*---------------------------------------------------------------------*/
|
||||
BOOLEAN all_okay=TRUE;
|
||||
int cpus=(int)(long)feOptValue(FE_OPT_CPUS);
|
||||
+ if (cpus>=vspace::internals::MAX_PROCESS)
|
||||
+ cpus=vspace::internals::MAX_PROCESS-1;
|
||||
int parent_pid=getpid();
|
||||
using namespace vspace;
|
||||
vmem_init();
|
Loading…
Reference in New Issue
Block a user