From owner-freebsd-gecko@FreeBSD.ORG Sun Nov 7 02:30:09 2010 Return-Path: Delivered-To: gecko@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCAB8106566C for ; Sun, 7 Nov 2010 02:30:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 7C5E88FC12 for ; Sun, 7 Nov 2010 02:30:09 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id oA72U9gw021927 for ; Sun, 7 Nov 2010 02:30:09 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id oA72U9A4021914; Sun, 7 Nov 2010 02:30:09 GMT (envelope-from gnats) Resent-Date: Sun, 7 Nov 2010 02:30:09 GMT Resent-Message-Id: <201011070230.oA72U9A4021914@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: gecko@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Anonymous Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8BEF106566C for ; Sun, 7 Nov 2010 02:29:22 +0000 (UTC) (envelope-from swell.k@gmail.com) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by mx1.freebsd.org (Postfix) with ESMTP id 823B68FC1C for ; Sun, 7 Nov 2010 02:29:22 +0000 (UTC) Received: by yxl31 with SMTP id 31so2949445yxl.13 for ; Sat, 06 Nov 2010 19:29:21 -0700 (PDT) Received: by 10.151.8.8 with SMTP id l8mr1486882ybi.373.1289096961279; Sat, 06 Nov 2010 19:29:21 -0700 (PDT) Received: from localhost (tor-exit-proxy2-readme.formlessnetworking.net [208.53.142.38]) by mx.google.com with ESMTPS id x45sm2406304yhc.45.2010.11.06.19.29.19 (version=SSLv3 cipher=RC4-MD5); Sat, 06 Nov 2010 19:29:20 -0700 (PDT) Message-Id: <86iq09uaro.fsf@gmail.com> Date: Sun, 07 Nov 2010 05:29:15 +0300 From: Anonymous To: FreeBSD-gnats-submit@FreeBSD.org Cc: Subject: ports/152001: [patch] www/firefox-devel: use optimized asm in libvpx on i386/amd64 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Nov 2010 02:30:09 -0000 >Number: 152001 >Category: ports >Synopsis: [patch] www/firefox-devel: use optimized asm in libvpx on i386/amd64 >Confidential: no >Severity: non-critical >Priority: low >Responsible: gecko >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Nov 07 02:30:09 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Anonymous >Release: FreeBSD 9.0-CURRENT amd64 >Organization: >Environment: >Description: Build *bundled* libvpx more like multimedia/libvpx does by using x86-linux-gcc and x86_64-linux-gcc targets. Non-x86 archs continue to use generic-gnu target. >How-To-Repeat: # let's see if arch-specific asm is actually used during build $ make configue $ grep \^VPX_ $(make -V WRKSRC)/config/autoconf.mk VPX_AS = yasm VPX_ASFLAGS = -f elf64 -rnasm -pnasm -DPIC VPX_X86_ASM = 1 # build bundled libvpx manually to save time $ gmake -C$(make -V WRKSRC)/config $ gmake -C$(make -V WRKSRC)/media/libvpx [...] yasm -o idctllm_mmx.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/idctllm_mmx.asm yasm: warning: unrecognized option `-c' yasm -o iwalsh_mmx.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/iwalsh_mmx.asm yasm: warning: unrecognized option `-c' yasm -o iwalsh_sse2.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/iwalsh_sse2.asm yasm: warning: unrecognized option `-c' yasm -o loopfilter_mmx.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/loopfilter_mmx.asm yasm: warning: unrecognized option `-c' yasm -o loopfilter_sse2.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/loopfilter_sse2.asm yasm: warning: unrecognized option `-c' yasm -o postproc_mmx.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/postproc_mmx.asm yasm: warning: unrecognized option `-c' yasm -o postproc_sse2.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/postproc_sse2.asm yasm: warning: unrecognized option `-c' yasm -o recon_mmx.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/recon_mmx.asm yasm: warning: unrecognized option `-c' yasm -o recon_sse2.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/recon_sse2.asm yasm: warning: unrecognized option `-c' yasm -o subpixel_mmx.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/subpixel_mmx.asm yasm: warning: unrecognized option `-c' yasm -o subpixel_sse2.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/common/x86/subpixel_sse2.asm yasm: warning: unrecognized option `-c' yasm -o dequantize_mmx.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vp8/decoder/x86/dequantize_mmx.asm yasm: warning: unrecognized option `-c' yasm -o emms.o -f elf64 -rnasm -pnasm -DPIC -I../../media/libvpx/ -I../../media/libvpx/vpx_ports/ -c ./vpx_ports/emms.asm yasm: warning: unrecognized option `-c' rm -f libvpx.a ar cr libvpx.a vpx_config_c.o systemdependent.o alloccommon.o blockd.o debugmodes.o dsystemdependent.o entropy.o entropymode.o entropymv.o extend.o filter_c.o findnearmv.o idctllm.o invtrans.o loopfilter.o loopfilter_filters.o mbpitch.o modecont.o modecontext.o postproc.o predictdc.o quant_common.o recon.o reconinter.o reconintra.o reconintra4x4.o segmentation_common.o setupintrarecon.o swapyv12buffer.o textblit.o treecoder.o dboolhuff.o decodemv.o decodframe.o demode.o dequantize.o detokenize.o onyxd_if.o threading.o vp8_dx_iface.o vpx_codec.o vpx_decoder.o vpx_decoder_compat.o vpx_encoder.o vpx_image.o vpx_mem.o gen_scalers.o vpxscale.o scalesystemdependant.o yv12config.o yv12extend.o loopfilter_x86.o vp8_asm_stubs.o x86_systemdependent.o x86_dsystemdependent.o idctllm_mmx.o iwalsh_mmx.o iwalsh_sse2.o loopfilter_mmx.o loopfilter_sse2.o postproc_mmx.o postproc_sse2.o recon_mmx.o recon_sse2.o subpixel_mmx.o subpixel_sse2.o dequantize_mmx.o emms.o ranlib libvpx.a >Fix: --- a.diff begins here --- Index: www/firefox-devel/Makefile =================================================================== --- www/firefox-devel/Makefile (revision 430) +++ www/firefox-devel/Makefile (working copy) @@ -87,6 +85,10 @@ ALL_TARGET= profiledbuild .endif +.if ${ARCH} == amd64 || ${ARCH} == i386 +BUILD_DEPENDS+= yasm:${PORTSDIR}/devel/yasm +.endif + pre-extract: .if defined(WITH_PGO) @${ECHO} "*****************************************************************" Index: www/firefox-devel/files/patch-configure.in =================================================================== --- www/firefox-devel/files/patch-configure.in (revision 430) +++ www/firefox-devel/files/patch-configure.in (working copy) @@ -9,3 +9,17 @@ CPU_ARCH="$OS_TEST" ;; +@@ -5938,11 +5938,11 @@ if test -n "$MOZ_WEBM"; then + AC_CHECK_PROGS(VPX_AS, $YASM yasm, "") + dnl We have YASM, see if we have assembly on this platform. + case "$OS_ARCH:$OS_TEST" in +- Linux:x86|Linux:i?86) ++ Linux:x86|Linux:i?86|FreeBSD:i386) + VPX_ASFLAGS="-f elf32 -rnasm -pnasm" + VPX_X86_ASM=1 + ;; +- Linux:x86_64) ++ Linux:x86_64|FreeBSD:amd64) + VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC" + VPX_X86_ASM=1 + ;; Index: www/firefox-devel/files/patch-media-libvpx-vpx_config.c =================================================================== --- www/firefox-devel/files/patch-media-libvpx-vpx_config.c (revision 0) +++ www/firefox-devel/files/patch-media-libvpx-vpx_config.c (revision 0) @@ -0,0 +1,16 @@ +--- media/libvpx/vpx_config_c.c~ ++++ media/libvpx/vpx_config_c.c +@@ -12,11 +12,11 @@ + /* 32 bit MacOS. */ + #include "vpx_config_x86-darwin9-gcc.c" + +-#elif defined(__linux__) && defined(__i386__) ++#elif (defined(__linux__) || defined(__FreeBSD__)) && defined(__i386__) + /* 32 bit Linux. */ + #include "vpx_config_x86-linux-gcc.c" + +-#elif defined(__linux__) && defined(__x86_64__) ++#elif (defined(__linux__) || defined(__FreeBSD__)) && defined(__x86_64__) + /* 64 bit Linux. */ + #include "vpx_config_x86_64-linux-gcc.c" + Index: www/firefox-devel/files/patch-media-libvpx-vpx_config.h =================================================================== --- www/firefox-devel/files/patch-media-libvpx-vpx_config.h (revision 0) +++ www/firefox-devel/files/patch-media-libvpx-vpx_config.h (revision 0) @@ -0,0 +1,16 @@ +--- media/libvpx/vpx_config.h~ ++++ media/libvpx/vpx_config.h +@@ -12,11 +12,11 @@ + /* 32 bit MacOS. */ + #include "vpx_config_x86-darwin9-gcc.h" + +-#elif defined(__linux__) && defined(__i386__) ++#elif (defined(__linux__) || defined(__FreeBSD__)) && defined(__i386__) + /* 32 bit Linux. */ + #include "vpx_config_x86-linux-gcc.h" + +-#elif defined(__linux__) && defined(__x86_64__) ++#elif (defined(__linux__) || defined(__FreeBSD__)) && defined(__x86_64__) + /* 64 bit Linux. */ + #include "vpx_config_x86_64-linux-gcc.h" + --- a.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: