> 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."