>>>>> "Angus" == Angus Leeming <[EMAIL PROTECTED]> writes:

Angus> Jean-Marc Lasgouttes wrote:
>> It seems that I am really not able to compile 1.3.0cvs on tru64
>> unix with cxx. Reasons are:
>> 
>> - there is no snprintf in tru64 4.0f, so xforms has to provide its
>> own. the one provided in xforms lib does not compile on tru64, but
>> it does after a patch that I sent to the xforms list. So far, so
>> good.

Angus> I'm surprised, as I too had to send a patch to get things to
Angus> compile, but it was included in 1.0release. (I use 4.0e here).

I have to admit that I never saw the message arrive to the xforms
mailing list... Did I post it after all? I append the relevant patch
to this message. The problem is that I do not have isinf() here.

>> - LyX's configure script does not know that it has to use
>> -lformssnp on systems that do not have snprintf. I have a patch for
>> that. So far so good.

Angus> That is because it uses the snprintf functions in src/support.
Angus> It shouldn't matter whether these functions come from
Angus> libformssnp.a (as they do when compiling one of the xforms demo
Angus> programs) or from libsupport.a (as they do here when compiling
Angus> LyX under 4.0e).

But how do we do the xforms autodetection in this case? Configure
tells me that it does not find xforms...

>> - boost really thinks that all C functions are in std:: and uses
>> std::fprintf and things like that all over the place. This is not
>> good at all with cxx and probably sun's CC. I am not sure what to
>> do about that.

Angus> There is a cxx compilation flag, -nopure_cname, that the
Angus> DEC/Compaq/HP support people told me to use. Here I configure
Angus> LyX with:

This is only true for cxx 6.5 or whatever. I am stuck with 6.2 here.

JMarc

--- snprintf.c.orig	Mon Jan 13 18:03:33 2003
+++ snprintf.c	Mon Jan 13 18:04:53 2003
@@ -526,15 +526,15 @@
 				prec = DEFPREC;
 fp_begin:		_double = va_arg(ap, double);
 			/* do this before tricky precision changes */
-			if (isinf(_double)) {
-				if (_double < 0)
-					sign = '-';
-				cp = "Inf";
+			if (isnan(_double)) {
+				cp = "NaN";
 				size = 3;
 				break;
 			}
-			if (isnan(_double)) {
-				cp = "NaN";
+			if (!finite(_double)) {
+				if (_double < 0)
+					sign = '-';
+				cp = "Inf";
 				size = 3;
 				break;
 			}

Reply via email to