Diego Biurrun <[email protected]> writes:

> On Mon, Aug 06, 2012 at 03:54:10PM +0100, Måns Rullgård wrote:
>> Måns Rullgård <[email protected]> writes:
>> >>> Now that's debian.  What about other systems, like cygwin?  Or 
>> >>> AncientBSD?
>> >>
>> >> Cygwin comes with nasm 2.08 (of course you can compile yasm there).
>> >
>> > You can compile yasm anywhere.  I thought this whole exercise was about
>> > supporting what comes with the systems whenever possible.
>> 
>> OK, so let's make a list.
>> 
>> System                  nasm            yasm
>> ----------------------------------------------
>> CentOS 6                2.07
>> Debian stale            2.08.01         0.8.0
>> Debian testing          2.10.01         1.1.0
>> Debian unstable         2.10.01         1.1.0
>> Fedora 14               2.09.03         1.0.1
>> Fedora 15               2.09.07         1.1.0
>> Fedora 16               2.09.08         1.1.0
>> Fedora 17               2.09.08         1.2.0
>> Gentoo                  2.10.01         1.2.0
>> OpenSUSE 11             2.07            1.1.0
>> OpenSUSE 12             2.09.08         1.1.0
>> RHEL 6                  2.07
>> Scientific Linux 6      2.07
>> Ubuntu Lucid            2.07            0.8.0
>> Ubuntu Maverick         2.08.01         1.1.0
>> Ubuntu Oneiric (11.10)  2.09.08         1.1.0
>> Ubuntu Precise (12.04)  2.09.10         1.1.0
>> 
>> FreeBSD 9.0             2.09.10         1.1.0
>> NetBSD                  2.07            1.2.0
>> OpenBSD 5.1             2.08.01         1.2.0
>> 
>> OSX (fink)              2.09.10         1.2.0
>> OSX (macports)          2.10.03         1.2.0
>> 
>> Cygwin                  2.08.02
>
> Thanks, this is a good overview.  The only system missing there is
> OS/2, which is of course fringe, but IIRC it has no yasm at all.
>
> The OS/2 build instructions at
>
> http://www.edm2.com/index.php/FFmpeg
>
> recommend grabbing the latest OS/2 nasm snapshot, but apparently they
> are no longer prebuilt for OS/2.  The 2.10 release has no OS/2 binaries,
> but 2.09.10 has, there are 2.10 binaries available from OS/2 forums.

IIRC, yasm simply does not support OS/2 at all, so building it is not an
option there.

>> With the first set of 5 patches I sent yesterday, we can support nasm
>> 2.09.07 or later.
>> 
>> If we ifdef the avx code and somehow work around the %+ bug, we can
>> support nasm versions back to 2.08.
>> 
>> If we additionally ifdef sse4 code, we can support nasm 2.07, which
>> would cover all the systems above.
>> 
>> Limiting support to 2.09.07 or later would require installing unpackaged
>> nasm/yasm versions on Cygwin and RHEL-like distros.  A few more would
>> need to install yasm rather than nasm.
>> 
>> Restoring support for nasm 2.08 would leave only RHEL in the cold.
>
> We could turn this around as well and say that requiring nasm 2.09.07
> or yasm 0.8.0 would allow us to drop the avx ifdeffery.  Also, the test
> in configure would become very simple: the avx test would become the
> yasm/nasm test.
>
> This would only leave the RHEL-derived distros and Cygwin out in the
> cold, but supporting nasm 2.08 or even 2.07 requires adding some very
> ugly hacks to the codebase, which have a high chance of getting
> rejected.
>
> So I would suggest making yasm 0.8.0 and nasm 2.09.07 the minimum
> requirement.  This covers all current systems except RHEL 6 derivatives
> and Cygwin while having minimal impact on our codebase.  Sounds like
> a good deal to me.

I don't think RHEL matters much, but supporting out of the box cygwin
might gains us some PR points.

The patch I posted for nasm 2.08 support is ugly, and I'd probably
reject it myself if someone else sent it.  That doesn't mean that a
better fix is impossible, someone just has to find it.  You're giving up
a little too easily.

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to