@@ -378,10 +378,13 @@ esac AC_C_BIGENDIAN([ AC_DEFINE(OF_BIG_ENDIAN, 1, [Whether we are big endian]) ]) +AS_IF([test x"$ac_cv_c_bigendian" = x"universal"], [ + AC_DEFINE(OF_UNIVERSAL, 1, [Whether we are building a universal binary]) +]) AC_MSG_CHECKING(for SIZE_MAX) AC_EGREP_CPP(yes, [ #include #include @@ -417,23 +420,27 @@ [AC_MSG_ERROR( [Floating point implementation does not conform to IEEE 754!])]) AC_MSG_CHECKING(for floating point endianess) fp_endianess="unknown" -AC_TRY_COMPILE([ - double endianess = 2.993700760838795055656993580068609688772747263874402942272934826871811872228512759832626847251963763755836687759498519784550143745834860002945223766052808125982053455555265216112722718870586961456110693379343178124592311441022662940307099598578775368547768968914916965731708568179631324904813506101190853720749196062963892799499230635163056742330563321122389331703618066046034494287335316842529021563862331183541255013987734473643350285400060357711238514186776429325214739886098119655678483017894951556639821088508565036657794343031121375178126860889964700274558728491825977274341798997758923017217660272136611938897932105874133412726223468780517578125e-259; -], [ -], [ - AS_IF([$EGREP BigEnd conftest.$ac_objext >/dev/null], [ - AC_DEFINE(OF_FLOAT_BIG_ENDIAN, 1, - [Whether floats are big endian]) - fp_endianess="big endian" - ], [ - AS_IF([$EGREP dnEgiB conftest.$ac_objext >/dev/null], [ - fp_endianess="little endian" - ]) - ]) +AS_IF([test x"$ac_cv_c_bigendian" != x"universal"], [ + AC_TRY_COMPILE([ + double endianess = 2.993700760838795055656993580068609688772747263874402942272934826871811872228512759832626847251963763755836687759498519784550143745834860002945223766052808125982053455555265216112722718870586961456110693379343178124592311441022662940307099598578775368547768968914916965731708568179631324904813506101190853720749196062963892799499230635163056742330563321122389331703618066046034494287335316842529021563862331183541255013987734473643350285400060357711238514186776429325214739886098119655678483017894951556639821088508565036657794343031121375178126860889964700274558728491825977274341798997758923017217660272136611938897932105874133412726223468780517578125e-259; + ], [ + ], [ + AS_IF([$EGREP BigEnd conftest.$ac_objext >/dev/null], [ + AC_DEFINE(OF_FLOAT_BIG_ENDIAN, 1, + [Whether floats are big endian]) + fp_endianess="big endian" + ], [ + AS_IF([$EGREP dnEgiB conftest.$ac_objext >/dev/null], [ + fp_endianess="little endian" + ]) + ]) + ]) +], [ + fp_endianess="universal" ]) AC_MSG_RESULT($fp_endianess) AS_IF([test x"$fp_endianess" = x"unknown"], [ AC_MSG_ERROR( [Floating point implementation does not conform to IEEE 754!])])