Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Oct 2008 02:37:55 -0200
From:      "Carlos A. M. dos Santos" <unixmania@gmail.com>
To:        "Michel Talon" <talon@lpthe.jussieu.fr>
Cc:        Sean Winn <sean@gothic.net.au>, freebsd-ports@freebsd.org
Subject:   Re: multimedia/xvid
Message-ID:  <e71790db0810122137l49d2697fkf7f512023d0a6bfc@mail.gmail.com>
In-Reply-To: <20081011155944.GA54404@lpthe.jussieu.fr>
References:  <20081009122839.GA58927@lpthe.jussieu.fr> <e71790db0810101811l6c77fc38ve0afecdb0c7cb92e@mail.gmail.com> <20081011073738.GA38584@lpthe.jussieu.fr> <alpine.BSF.2.00.0810120038410.94807@visi.gothic.net.au> <20081011155944.GA54404@lpthe.jussieu.fr>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 11, 2008 at 1:59 PM, Michel Talon <talon@lpthe.jussieu.fr> wrote:
> On Sun, Oct 12, 2008 at 12:42:08AM +1100, Sean Winn wrote:
>>
>> Another option is to just fix the configure script so it doesn't break on
>> nasm > 1 (it's failing on the patch level check)
>>
>> The attached file dropped in ports/multimedia/xvid/files/ seems to do the
>> trick, though I don't use xvid so I can't exactly test that the new version
>> assembles things properly.
>>
>> Something done to configure.in should be sent upstream really.
>
> Yes, fixing the configure script should be done upstream, but it
> seems that the xvid project is somewhat asleep, so better use
> yasm in the Makefile on which there is control. As you note below,
> the problem comes because the configure script tries to use the -r
> option which yasm has but not nasm, so the xvid people had really
> yasm in view when doing their work.
>
>
>> --- configure.orig    2008-10-11 13:40:34.000000000 +1100
>> +++ configure 2008-10-11 13:43:14.000000000 +1100
>> @@ -4016,7 +4016,12 @@
>>         if test "$ac_nasm" = "yes" ; then
>>                                              echo "$as_me:$LINENO: checking for nasm patch version" >&5
>>  echo $ECHO_N "checking for nasm patch version... $ECHO_C" >&6
>> -           nasm_patch=`$nasm_prog -r | cut -d '.' -f 3 | cut -d ' ' -f 1`
>> +        nasm_version=`$nasm_prog -v | cut -d '.' -f 1 | cut -d ' ' -f3`
>> +        if test -n "$nasm_version" -a "$nasm_version" -gt 1; then
>> +             nasm_patch=$minimum_nasm_patch_version
>> +        else
>> +             nasm_patch=`$nasm_prog -r | cut -d '.' -f 3 | cut -d ' ' -f 1`
>> +        fi
>>             if test -z $nasm_patch ; then
>>                nasm_patch=-1
>>             fi
>
> By the way, the performance improvement obtained by using SSE
> instructions in the assembly files is astounding.  I could not beleive
> what i was seeing, basically an x 4 improvement, that is the code
> perfectly parallelizes the computations on the 128 bits registers.
> This is a good illustration of the fact that compilers are not always
> as smart as people say, and assembly code can crush C code.

I just submitted a PR with the fix:

     http://www.freebsd.org/cgi/query-pr.cgi?pr=128042

-- 
cd /usr/ports/sysutils/life
make clean



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e71790db0810122137l49d2697fkf7f512023d0a6bfc>