Bug#502993: Altivec detection broken
Package: libsdl1.2
Version: 1.2.13-4
Severity: normal
Tags: patch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
The configure script incorrectly concludes that no Altivec code can be compiled
because just #including altivec.h throws an #error without specifying -maltivec
as well (and possibly vice versa). The attached patch fixes this by just trying
the four combinations of -maltivec or -faltivec with or without #including
altivec.h.
(Of course, debian/patches/100_relibtoolize.diff needs to be updated as
well to propagate the fix to the actual configure script)
- -- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable'), (102, 'experimental')
Architecture: powerpc (ppc)
Kernel: Linux 2.6.26.6
Locale: LANG=de_CH.UTF-8, LC_CTYPE=de_CH.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
- -- no debconf information
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iD8DBQFI/fh+WoGvjmrbsgARApLgAJ982jlidX4aTcTiDhN+a/IsF1jECACfcC6l
lB6d+iAjbab8jutBpvqPVfQ=
=c8CK
-----END PGP SIGNATURE-----
Index: libsdl1.2-1.2.13/configure.in
===================================================================
--- libsdl1.2-1.2.13.orig/configure.in 2008-10-21 16:19:05.000000000 +0200
+++ libsdl1.2-1.2.13/configure.in 2008-10-21 16:27:11.000000000 +0200
@@ -749,64 +749,66 @@
AC_HELP_STRING([--enable-altivec], [use altivec assembly blitters on PPC [[default=yes]]]),
, enable_altivec=yes)
if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_altivec = xyes; then
- have_altivec_h_hdr=no
- AC_CHECK_HEADER(altivec.h, have_altivec_h_hdr=yes)
-
save_CFLAGS="$CFLAGS"
have_gcc_altivec=no
- AC_MSG_CHECKING(for Altivec with GCC -maltivec option)
+ have_altivec_h_hdr=no
altivec_CFLAGS="-maltivec"
CFLAGS="$save_CFLAGS $altivec_CFLAGS"
- if test x$have_altivec_h_hdr = xyes; then
- AC_TRY_COMPILE([
- #include <altivec.h>
- vector unsigned int vzero() {
- return vec_splat_u32(0);
- }
- ],[
- ],[
- have_gcc_altivec=yes
- ])
- AC_MSG_RESULT($have_gcc_altivec)
- else
- AC_TRY_COMPILE([
- vector unsigned int vzero() {
- return vec_splat_u32(0);
- }
- ],[
- ],[
- have_gcc_altivec=yes
- ])
- AC_MSG_RESULT($have_gcc_altivec)
+ AC_MSG_CHECKING(for Altivec with GCC altivec.h and -maltivec option)
+ AC_TRY_COMPILE([
+ #include <altivec.h>
+ vector unsigned int vzero() {
+ return vec_splat_u32(0);
+ }
+ ],[
+ ],[
+ have_gcc_altivec=yes
+ have_altivec_h_hdr=yes
+ ])
+ AC_MSG_RESULT($have_gcc_altivec)
+
+ if test x$have_gcc_altivec = xno; then
+ AC_MSG_CHECKING(for Altivec with GCC -maltivec option)
+ AC_TRY_COMPILE([
+ vector unsigned int vzero() {
+ return vec_splat_u32(0);
+ }
+ ],[
+ ],[
+ have_gcc_altivec=yes
+ ])
+ AC_MSG_RESULT($have_gcc_altivec)
fi
if test x$have_gcc_altivec = xno; then
- AC_MSG_CHECKING(for Altivec with GCC -faltivec option)
+ AC_MSG_CHECKING(for Altivec with GCC altivec.h and -faltivec option)
altivec_CFLAGS="-faltivec"
CFLAGS="$save_CFLAGS $altivec_CFLAGS"
- if test x$have_altivec_h_hdr = xyes; then
- AC_TRY_COMPILE([
- #include <altivec.h>
- vector unsigned int vzero() {
- return vec_splat_u32(0);
- }
- ],[
- ],[
- have_gcc_altivec=yes
- ])
- AC_MSG_RESULT($have_gcc_altivec)
- else
- AC_TRY_COMPILE([
- vector unsigned int vzero() {
- return vec_splat_u32(0);
- }
- ],[
- ],[
- have_gcc_altivec=yes
- ])
- AC_MSG_RESULT($have_gcc_altivec)
- fi
+ AC_TRY_COMPILE([
+ #include <altivec.h>
+ vector unsigned int vzero() {
+ return vec_splat_u32(0);
+ }
+ ],[
+ ],[
+ have_gcc_altivec=yes
+ have_altivec_h_hdr=yes
+ ])
+ AC_MSG_RESULT($have_gcc_altivec)
+ fi
+
+ if test x$have_gcc_altivec = xno; then
+ AC_MSG_CHECKING(for Altivec with GCC -faltivec option)
+ AC_TRY_COMPILE([
+ vector unsigned int vzero() {
+ return vec_splat_u32(0);
+ }
+ ],[
+ ],[
+ have_gcc_altivec=yes
+ ])
+ AC_MSG_RESULT($have_gcc_altivec)
fi
CFLAGS="$save_CFLAGS"
Reply to: