diff --git a/configure.ac b/configure.ac index 549024aa..63a09840 100644 --- a/configure.ac +++ b/configure.ac @@ -112,6 +112,14 @@ case "$host" in *) OBJ_FORMAT=elf ;; esac AC_SUBST(OBJ_FORMAT) +case "$host" in + *-gnuspe) + abi_spe=true + AC_DEFINE(FLAC__CPU_PPC_SPE) + AH_TEMPLATE(FLAC__CPU_PPC_SPE, [define if building for PowerPC with SPE ABI]) + ;; +esac +AM_CONDITIONAL(FLaC__CPU_PPC_SPE, test "x$abi_spe" = xtrue) case "$host" in *-*-cygwin|*mingw*|*emx*) diff --git a/src/libFLAC/Makefile.am b/src/libFLAC/Makefile.am index 636d4abc..2deb9587 100644 --- a/src/libFLAC/Makefile.am +++ b/src/libFLAC/Makefile.am @@ -40,8 +40,13 @@ if FLaC__SYS_DARWIN CPUCFLAGS = -faltivec -force_cpusubtype_ALL -DFLAC__NO_ASM else # Linux-gcc for PPC does not have -force_cpusubtype_ALL, it is Darwin-specific +CPUCFLAGS = +if FLaC__CPU_PPC_SPE +else +CPUCFLAGS += -maltivec -mabi=altivec +endif #@@@ PPC optimizations temporarily disabled -CPUCFLAGS = -maltivec -mabi=altivec -DFLAC__NO_ASM +CPUCFLAGS += -DFLAC__NO_ASM endif endif @@ -58,6 +63,8 @@ endif if FLaC__CPU_PPC ARCH_SUBDIRS = ppc if FLaC__HAS_AS__TEMPORARILY_DISABLED +if FLaC__CPU_PPC_SPE +else LOCAL_EXTRA_LIBADD = ppc/as/libFLAC-asm.la LOCAL_EXTRA_LDFLAGS = "-Wl,-read_only_relocs,warning" else @@ -68,6 +75,7 @@ endif endif endif endif +endif libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@