ffmpeg multiple build flavors

Fabian Greffrath greffrath at leat.rub.de
Thu Jun 19 08:18:59 UTC 2008


Reinhard Tartler schrieb:
>  - multiple build flavors, so that we can have both an altivec and
>    non-altivec verison of the package.

Where are the MMX enabled libraries supposed to end up? I've seen that 
libc6-i6868 installs its files into /lib/i686/cmov/. Is this the right 
directory?

Just to make sure I got it right:
By now we build non-optimized static libraries, back them up, make 
clean and then build a set of non-optimized shared libraries. We want 
to extend to a third set of libraries, namely optimized shared libraries.

How about this concept:
We check DEB_HOST_ARCH_CPU. If it's "i386" or "amd64" we set a 
variable called EXTRA_FLAVOUR to "mmx" and if it's "powerpc" we set 
EXTRA_FLAVOUR to "altivec". EXTRA_FLAVOUR is empty else.
After we back up the static libraries and before we build the 
non-optimized shared libraries we run an additional configure/make 
cycle for all flavours in EXTRA_FLAVOURS (this means zero for all 
archs that have an empty EXTRA_FLAVOURS and exactly one for those that 
have it set to a value). In this build cycle we use exactly the same 
confflags as in the non-optimized build, but whithout nooptflags. We 
back up the resulting libraries in a separate directory (or with a 
suffix) and go on to the non-optimized library build. In the install 
rule we install the optimized libraries as usual.

I hope this is reasonably understandable. However, this way we do not 
need different build directories, but simply insert another build 
cycle for supported archs.

The remaining question - thus my initial question in the beginning of 
the mail - is, where exactly to put the optimized libraries?

Cheers,
Fabian



More information about the pkg-multimedia-maintainers mailing list