It makes much more sense to control our own CFLAGS and avoiding fPIC breaks
some arches too. Assume we know what we're doing and remove all the messing 
around.

RP 23/2/10

Upstream-Status: Inappropriate [configuration]

Index: a52dec-0.7.4/configure.in
===================================================================
--- a52dec-0.7.4.orig/configure.in	2010-02-23 14:51:50.000000000 +0000
+++ a52dec-0.7.4/configure.in	2010-02-23 14:52:36.000000000 +0000
@@ -14,62 +14,6 @@
 AC_PROG_CC
 AC_PROG_GCC_TRADITIONAL
 
-if test x"$GCC" = x"yes"; then
-
-    dnl GCC-specific flags - try to optimize them sometime
-    dnl -Wall -Werror moved to the end to not disturb the configure script
-
-    dnl -O3
-    changequote(<<,>>)
-    OPT_CFLAGS=`echo "$CFLAGS"|sed "s/-O[0-9]*//g"`
-    changequote([,])
-    OPT_CFLAGS="$OPT_CFLAGS -O3"
-    AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS])
-
-    dnl -fomit-frame-pointer
-    OPT_CFLAGS="$CFLAGS -fomit-frame-pointer"
-    AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS])
-
-    dnl arch-specific flags
-    case "$host" in
-    i?86-* | k?-*)
-	case "$host" in
-	i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";;
-	i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";;
-	i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";;
-	i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";;
-	k6-*)   OPT_CFLAGS="$CFLAGS -mcpu=k6";;
-	esac
-	AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
-    sparc-* | sparc64-*)
-	OPT_CFLAGS="$CFLAGS -mtune=ultrasparc"
-	AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
-    mips-sgi-irix6.*)	dnl do we need to be that specific ?
-	OPT_CFLAGS="$CFLAGS -mabi=64"
-	AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
-    esac
-elif test x"$CC" = x"tcc" -a x"`$CC -version 2>&1 | grep TenDRA`" != x""; then
-    dnl TenDRA portability checking compiler
-    TENDRA=yes
-    CFLAGS="-Xp -Yansi -f`pwd`/include/tendra.h -DELIDE_CODE"
-    enable_mlib=no
-    enable_oss=no
-    enable_solaris_audio=no
-elif test x"$CC" = x"icc" -a x"`$CC -V 2>&1 | grep Intel`" != x""; then
-    dnl Intel C++ compiler
-    CFLAGS="-g -O3 -unroll -ip"
-else
-    dnl non-gcc flags - we probably need exact configuration triplets here.
-    case "$host" in
-    mips-sgi-irix6.*)
-	OPT_CFLAGS="$CFLAGS -64"
-	AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
-    sparc-sun-solaris*)
-	OPT_CFLAGS="$CFLAGS -xCC -fast -xO5"
-	AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
-    esac
-fi
-
 dnl Checks for libtool - this must be done after we set cflags
 AC_DISABLE_SHARED
 AC_LIBTOOL_WIN32_DLL
Index: a52dec-0.7.4/liba52/configure.incl
===================================================================
--- a52dec-0.7.4.orig/liba52/configure.incl	2010-02-23 14:51:44.000000000 +0000
+++ a52dec-0.7.4/liba52/configure.incl	2010-02-23 14:51:59.000000000 +0000
@@ -1,9 +1,6 @@
 AC_SUBST([LIBA52_CFLAGS])
 AC_SUBST([LIBA52_LIBS])
 
-dnl avoid -fPIC when possible
-LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic"
-
 AC_ARG_ENABLE([double],
     [  --enable-double         use double-precision samples])
 if test x"$enable_double" = x"yes"; then
