Commit 7566d3d4 authored by Erik de Castro Lopo's avatar Erik de Castro Lopo
Browse files

configure.ac : Tweak for x32 architecture.

The x32 architecture uses and ILP32 (32 bit ints, longs and pointers)
on an x86_64 CPU. Since the CPU is x86_64 we need to set FLAC__CPU_X86_64
even though the pointer size is 32 bits.

Patch-from: Stuart Shelton
Closes: https://sourceforge.net/p/flac/bugs/427/
parent 336f6a54
...@@ -105,19 +105,30 @@ AC_CHECK_SIZEOF(void*,1) ...@@ -105,19 +105,30 @@ AC_CHECK_SIZEOF(void*,1)
asm_optimisation=no asm_optimisation=no
case "$host_cpu" in case "$host_cpu" in
amd64|x86_64) amd64|x86_64)
if test $ac_cv_sizeof_voidp = 4 ; then case "$host" in
# This must be a 32 bit user space running on 64 bit kernel so treat *gnux32)
# this as ia32. # x32 user space and 64 bit kernel.
cpu_ia32=true cpu_x86_64=true
AC_DEFINE(FLAC__CPU_IA32) AC_DEFINE(FLAC__CPU_X86_64)
AH_TEMPLATE(FLAC__CPU_IA32, [define if building for ia32/i386]) AH_TEMPLATE(FLAC__CPU_X86_64, [define if building for x86_64])
else asm_optimisation=$asm_opt
# x86_64 user space and kernel. ;;
cpu_x86_64=true *)
AC_DEFINE(FLAC__CPU_X86_64) if test $ac_cv_sizeof_voidp = 4 ; then
AH_TEMPLATE(FLAC__CPU_X86_64, [define if building for x86_64]) # This must be a 32 bit user space running on 64 bit kernel so treat
fi # this as ia32.
asm_optimisation=$asm_opt cpu_ia32=true
AC_DEFINE(FLAC__CPU_IA32)
AH_TEMPLATE(FLAC__CPU_IA32, [define if building for ia32/i386])
else
# x86_64 user space and kernel.
cpu_x86_64=true
AC_DEFINE(FLAC__CPU_X86_64)
AH_TEMPLATE(FLAC__CPU_X86_64, [define if building for x86_64])
fi
asm_optimisation=$asm_opt
;;
esac
;; ;;
i*86) i*86)
cpu_ia32=true cpu_ia32=true
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment