>>>>> "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; }