2007.10.23 08:38 "[Tiff] universal build patch", by Kai-Uwe Behrmann

2007.10.23 20:56 "Re: [Tiff] universal build patch", by Toby Thain

On 23-Oct-07, at 4:17 PM, Andrey Kiselev wrote:

On Tue, Oct 23, 2007 at 11:12:33AM -0500, Bob Friesenhahn wrote:

We can easily switch to this method instead of autoconf macro. I am only concerning about portability of this approach.

It is 100% portable as long as you stick to using Apple's modified GCC 4.X and OS X. Other targets are of no consequence. :-)

Solaris defines _LITTLE_ENDIAN or _BIG_ENDIAN by including <sys/types.h>

My feeling is that it the only completely correct approach is to configure/build on each native target since otherwise some decisions made may be wrong.

Whether this is true can be deduced from the set of parameters determined at configure-time.

Perhaps 32-bit OS X has managed to constrain PPC and Intel differences to only endian order but this is the exception rather than the rule. With Mac OS X Leopard (Arriving October 26) perhaps the rules will change (the rules for Apple always change).

I am sure that AC_C_BIGENDIAN macro can deduce the target byte order using some heuristics (that macro works in case of cross-compilation).

For separate configures, everything already works, of course.

The hitherto unsolved problem is building universally from a single configure, which is sometimes necessary. The runtime patch seems a clever solution?


So it can be adopted for OS X case too. The only problem for me is that I do not have a proper environment to develop and test such a macro. It shouldn't be too complicated. So my preference is to modify a test rather than libarary itself. I don't see any serious reason to replace the compile time switch.

> _______________________________________________
> Tiff mailing list: Tiff@lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/tiff
> http://www.remotesensing.org/libtiff/