... reviving old threads, there have been new developments ...

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
> 
> A few observations about our requirements:
> 
> - nasm 2.09.07 required for avx
> - nasm 2.09.03 fixes the macro expansion problem with %+
> - nasm 2.08    required for sse4
> 
> 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.

I prodded the Cygwin nasm maintainer and he put out a new package of
2.10.05 two and a half weeks ago.

That leaves only the RHEL6-derived distros w/o a yasm or nasm capable
of building libav.

I suggest that we require an assembler capable of dealing with AVX
instructions.  That will simplify configure and the yasm code and not
leave any systems behind that currently work.

Littering the yasm code with %ifdefs to support legacy systems is ugly
and brittle.  Nobody develops on those systems, so devs will continue
to forget adding all required %ifdefs to their code and binaries will
crash at runtime on those fringe systems.  Better to error out during
configure and have people get a working toolchain.

Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to