Overview
Comment: | Fix FP endianess for universal builds. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
d9bd480b943c627ebfc5ee4f423e4702 |
User & Date: | js on 2013-06-28 19:55:19 |
Other Links: | manifest | tags |
Context
2013-06-28
| ||
22:56 | PSP: Make tests terminable. check-in: 54f020d139 user: js tags: trunk | |
19:55 | Fix FP endianess for universal builds. check-in: d9bd480b94 user: js tags: trunk | |
19:15 | Rename methods to prevent signature conflicts. check-in: f3654b5cc6 user: js tags: trunk | |
Changes
Modified configure.ac from [13c314b168] to [063032f1d9].
︙ | ︙ | |||
376 377 378 379 380 381 382 383 384 385 386 387 388 389 | ]) ;; esac AC_C_BIGENDIAN([ AC_DEFINE(OF_BIG_ENDIAN, 1, [Whether we are big endian]) ]) AC_MSG_CHECKING(for SIZE_MAX) AC_EGREP_CPP(yes, [ #include <stdint.h> #include <limits.h> #ifdef SIZE_MAX | > > > | 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 | ]) ;; 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 <stdint.h> #include <limits.h> #ifdef SIZE_MAX |
︙ | ︙ | |||
415 416 417 418 419 420 421 | AC_CHECK_SIZEOF(double) AS_IF([test x"$ac_cv_sizeof_float" != x"4" -o x"$ac_cv_sizeof_double" != x"8"], [AC_MSG_ERROR( [Floating point implementation does not conform to IEEE 754!])]) AC_MSG_CHECKING(for floating point endianess) fp_endianess="unknown" | > | | | | | | | | | | | | | > > > | 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 | AC_CHECK_SIZEOF(double) AS_IF([test x"$ac_cv_sizeof_float" != x"4" -o x"$ac_cv_sizeof_double" != x"8"], [AC_MSG_ERROR( [Floating point implementation does not conform to IEEE 754!])]) AC_MSG_CHECKING(for floating point endianess) fp_endianess="unknown" 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!])]) AC_CHECK_LIB(m, fmod, LIBS="$LIBS -lm") |
︙ | ︙ |
Modified src/macros.h from [b1f9e2924b] to [171260d70c].
︙ | ︙ | |||
34 35 36 37 38 39 40 | # define OF_INLINE inline # define OF_LIKELY(cond) cond # define OF_UNLIKELY(cond) cond # define OF_CONST_FUNC #endif /* Required to build universal binaries on OS X */ | < < < < | > > > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # define OF_INLINE inline # define OF_LIKELY(cond) cond # define OF_UNLIKELY(cond) cond # define OF_CONST_FUNC #endif /* Required to build universal binaries on OS X */ #ifdef OF_UNIVERSAL # if __BIG_ENDIAN__ # define OF_BIG_ENDIAN # define OF_FLOAT_BIG_ENDIAN # elif !__LITTLE_ENDIAN__ # error OF_UNIVERSAL defined, but neither __BIG_ENDIAN__ nor __LITTLE_ENDIAN__! # endif #endif #ifdef OF_BIG_ENDIAN # define OF_BYTE_ORDER_NATIVE OF_BYTE_ORDER_BIG_ENDIAN #else # define OF_BYTE_ORDER_NATIVE OF_BYTE_ORDER_LITTLE_ENDIAN |
︙ | ︙ |
Modified src/objfw-defs.h.in from [226b05630f] to [ccf2bf99fc].
︙ | ︙ | |||
19 20 21 22 23 24 25 26 | #undef OF_HAVE_RECURSIVE_PTHREAD_MUTEXES #undef OF_HAVE_SCHED_YIELD #undef OF_HAVE_SOCKETS #undef OF_HAVE_SYMLINK #undef OF_HAVE_SYS_SOCKET_H #undef OF_HAVE_THREADS #undef OF_OBJFW_RUNTIME #undef SIZE_MAX | > | 19 20 21 22 23 24 25 26 27 | #undef OF_HAVE_RECURSIVE_PTHREAD_MUTEXES #undef OF_HAVE_SCHED_YIELD #undef OF_HAVE_SOCKETS #undef OF_HAVE_SYMLINK #undef OF_HAVE_SYS_SOCKET_H #undef OF_HAVE_THREADS #undef OF_OBJFW_RUNTIME #undef OF_UNIVERSAL #undef SIZE_MAX |