The "libvorbis-simd.patch" is included with the current ebuild and provides sse and 3dnow boosts. The sse boosts are correctly being included when 'use sse' is in effect, but the 3dnow boosts are never included because the patch requires gcc to have a -Dsimd_3dn in order to gain the benefits. So, unless the 3dnow bits were purposefully left out, CFLAGS should add -Dsimd_3dn if both 'use sse' and 'use 3dnow' are in effect. Reproducible: Always Steps to Reproduce:
No not left out on purpose - i just didn't know that it needed to be done. Will update.
Commited. Let me know if there are any issues. Thanks.
# emerge libvorbis Calculating dependencies ...done! >>> emerge (1 of 1) media-libs/libvorbis-1.0-r4 to / >>> md5 src_uri ;-) libvorbis-1.0.tar.gz libtool eutils flag-o-matic libtool eutils flag-o-matic >>> Unpacking source... >>> Unpacking libvorbis-1.0.tar.gz to /var/tmp/portage/libvorbis-1.0-r4/work 3dnow * Applying libvorbis-m4.patch... [ ok ] >>> Source unpacked. libtool eutils flag-o-matic * Working directory: /var/tmp/portage/libvorbis-1.0-r4/work/libvorbis-1.0... * Applying libtool-relink.patch... * Applying libtool-tmp.patch... * Applying libtool-sed.patch... * Applying libtool-portage.patch... creating cache ./config.cache checking for a BSD compatible install... /bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gcc... gcc checking whether the C compiler (gcc -march=i686 -O3 -pipe -Dsimd-3dn ) works... no configure: error: installation or configuration problem: C compiler cannot create executables. !!! ERROR: media-libs/libvorbis-1.0-r4 failed. !!! Function src_compile, Line 45, Exitcode 1 !!! (no error message) I see this in config.log configure:1095: checking whether the C compiler (gcc -march=i686 -O3 -pipe -Dsim d-3dn ) works configure:1111: gcc -o conftest -march=i686 -O3 -pipe -Dsimd-3dn conftest.c 1 >&5 conftest.c:0: malformed option `-D simd-3dn' configure: failed program was: #line 1106 "configure" #include "confdefs.h" libvorbis-1.0-r3 compiles fine. # emerge info Portage 2.0.48-r7 (default-1.0, gcc-2.95.3, glibc-2.2.5-r8) ================================================================= System uname: 2.4.19-gentoo-r10e i686 AMD Athlon(tm) processor GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/mnt/linuxback/portage" DISTDIR="/mnt/linuxback/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/mnt/linuxback/portage-local" USE="x86 oss 3dnow apm avi crypt cups jpeg libg++ mikmod mmx mpeg ncurses pdflib spell truetype xml2 xmms xv berkdb bonobo cdr directfb esd gdbm ggi gif gnome gnome-libs gpm gtk gtkhtml guile imlib libwww motif mozilla mysql nls oggvorbis opengl pam perl png python readline sdl slang snmp ssl svga tcltk tcpd tiff X -kde -qt -arts -java dvd encode gtk2 -quicktime" COMPILER="" CHOST="i686-pc-linux-gnu" CFLAGS="-march=i686 -O3 -pipe" CXXFLAGS="-march=i686 -O3 -pipe" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" FEATURES="sandbox ccache digest userpriv usersandbox strict"
Small typo in the ebuild. It should be simd_3dn instead of simd-3dn
Argh! I'll get it tonight - just gone to work.