> Hi,
> just to include my favorite platform, alpha. You have to change the file
> lyx-1.2.0/boost/boost/detail/limits.hpp
> on line 43 to
> #elif defined(__i386__) || defined(__alpha__)
> And yes, the alpha is little endian.
> 
> 

Surely a better fix would be to include endian.h, or <cendian> if you are
absolutely sure it really works everywhere and need to push "modern" C++, and
use

#if __BYTE_ORDER == __LITTLE_ENDIAN

instead of looking of __i386__, __alpha__, etc. If endian.h is not present then
a probe program in the configure script might be used instead. A simple C test
program along the lines of

int main(void)
{
union { unsigned char c[sizeof(int)]; int v; } t;
int i;
for (i=0; i<sizeof(int); i++) { t.c[i]=i+1; }
if (t.v & 0xff==1) return 0;
return 1;
}

should do the job and not require any header files. AFAIK endian.h is widely
avialable, Unfortunately endian.h is not mentioned in K&R or the POSIX
programmer's guide, so might not be mandatory (just like nothing obvious
specifies snprintf(3), which is also widely avialable). PDP's weird byte order
and the MIPS either big or little feature can probably be safely ignored.

Turning the above into an autoconf macro is left as an exercise for the reader.

-- 
Duncan (-:
"software industry, the: unique industry where selling substandard goods is
legal and you can charge extra for fixing the problems."


Reply via email to