forked from Mirrors/freeswitch
1220bbcff2
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10732 d0543943-73ff-0310-b7d9-9358b9ac24b2
34 lines
1.4 KiB
Plaintext
34 lines
1.4 KiB
Plaintext
# AX_MISALIGNED_ACCESS_FAILS(MACHINE, [ACTION-IF-MISALIGNED-FAILS], [ACTION-IF-MISALIGNED-OK])
|
|
# -------------------------------------------------------------------------------------
|
|
#
|
|
# Check if a specified machine type cannot handle misaligned data. That is, multi-byte data
|
|
# types which are not properly aligned in memory fail. Many machines are happy to work with
|
|
# misaligned data, but slowing down a bit. Other machines just won't tolerate such data.
|
|
#
|
|
# This is a simple lookup amongst machines known to the current autotools. So far we only deal
|
|
# with the ARM and sparc.
|
|
# A lookup is used, as many of the devices which cannot handled misaligned access are embedded
|
|
# processors, for which the code normally be cross-compiled.
|
|
#
|
|
AC_DEFUN([AX_MISALIGNED_ACCESS_FAILS],
|
|
[AS_VAR_PUSHDEF([ac_MisalignedAccessFails], [ac_cv_misaligned_access_fails_$1])dnl
|
|
AC_CACHE_CHECK([if $1 fails on misaligned memory access], ac_MisalignedAccessFails,
|
|
[case $1 in
|
|
arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] \
|
|
| bfin \
|
|
| sparc \
|
|
| xscale | xscalee[bl] \
|
|
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
|
| bfin-* \
|
|
| sparc-* \
|
|
| xscale-* | xscalee[bl]-* )
|
|
AS_VAR_SET(ac_MisalignedAccessFails, yes)
|
|
;;
|
|
*)
|
|
AS_VAR_SET(ac_MisalignedAccessFails, no)
|
|
;;
|
|
esac])
|
|
AS_IF([test AS_VAR_GET(ac_MisalignedAccessFails) = yes], [$2], [$3])[]dnl
|
|
AS_VAR_POPDEF([ac_MisalignedAccessFails])dnl
|
|
])# MISALIGNED_ACCESS_FAILS
|