bicatali 14/03/10 18:29:06 Added: ntl-6.0.0-sage-tools.patch ntl-6.0.0-singular.patch Log: Version bump, mostly taken from sage-on-gentoo (Portage version: 2.2.8-prefix/cvs/Linux x86_64, signed Manifest commit with key 0x13CB1360)
Revision Changes Path 1.1 dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch?rev=1.1&content-type=text/plain Index: ntl-6.0.0-sage-tools.patch =================================================================== --- src.orig/src/tools.c 2012-08-06 11:54:53.652334400 +0200 +++ src/src/tools.c 2012-08-06 11:59:18.183993600 +0200 @@ -18,8 +18,35 @@ void (*ErrorCallback)() = 0; +/* + The following code differs from vanilla NTL. + + We add a SetErrorCallbackFunction(). This sets a global callback function _function_, + which gets called with parameter _context_ and an error message string whenever Error() + gets called. + + Note that if the custom error handler *returns*, then NTL will dump the error message + back to stderr and abort() as it habitually does. + + -- David Harvey (2008-04-12) +*/ + +void (*ErrorCallbackFunction)(const char*, void*) = NULL; +void *ErrorCallbackContext = NULL; + + +void SetErrorCallbackFunction(void (*function)(const char*, void*), void *context) +{ + ErrorCallbackFunction = function; + ErrorCallbackContext = context; +} + + void Error(const char *s) { + if (ErrorCallbackFunction != NULL) + ErrorCallbackFunction(s, ErrorCallbackContext); + cerr << s << "\n"; _ntl_abort(); } --- src.orig/include/NTL/tools.h 2012-08-06 11:54:52.830333000 +0200 +++ src/include/NTL/tools.h 2012-08-06 11:59:18.143993600 +0200 @@ -10,6 +10,7 @@ #include <cstdlib> #include <cmath> +#include <cstdio> #include <iostream> #else @@ -252,6 +253,12 @@ char IntValToChar(long a); +/* + This function is not present in vanilla NTL. + See tools.c for documentation. + */ +void SetErrorCallbackFunction(void (*func)(const char *s, void *context), void *context); + void Error(const char *s); 1.1 dev-libs/ntl/files/ntl-6.0.0-singular.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/ntl/files/ntl-6.0.0-singular.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/ntl/files/ntl-6.0.0-singular.patch?rev=1.1&content-type=text/plain Index: ntl-6.0.0-singular.patch =================================================================== --- src.orig/include/NTL/new.h 2012-08-06 17:12:25.658913083 +0200 +++ src/include/NTL/new.h 2012-08-06 17:11:15.002915713 +0200 @@ -12,7 +12,8 @@ #include <new> -#define NTL_NEW_OP new (std::nothrow) +// commenting std::nothrow makes this ntl work properly with Singular +#define NTL_NEW_OP new //(std::nothrow) #else