hi

as libxine in fink is quite outdated, I tried the latest releases, had  
to fix a display bug for powerpc (in 1.1.9) and then stumbled upon a  
compiler/linker issue with XCode 3.0 on Leopard for all libxine  
versions.


The story is this: libxine builds and links against static libraries  
of ffmpeg. ffmpeg uses platform dependent asm code for maximum  
performance. this asm code also uses absoute adressing modes on 386-32  
(it uses relative addressing for x86-64). libxine itself is used as a  
shared library e.g. in Perian, VLC or in my libxine java bindings  
(libxine-java.net.sf). But... the linker of XCode (ld64-77) does not  
want to build a shared library if the object files contain absolute  
addressing (relocation addresses).

Note: this problem only shows up on i386-32 when using XCode 3.0...  
which is the default resp. required to use Fink on Leopard if I'm not  
wrong. xine should compile with XCode 2.5 and it also compiles with  
XCode 3.1 from the iPhone SDK.

How can libxine be packaged? Is there support Fink to request (or  
reject) a particular linker version?

What are other projects doing?
- MPlayer builds an application, so the linker does not complain
- VLC -- I forgot what they did, but it did not solve the problem
- MacPorts is disabling the MMX optimization in ffmpeg before they  
link xine against it.
- Perian fixed parts of ffmpeg's assembly code to use relative  
addressing and build the static libraries without the -mdynamic-no-pic  
flag


Discussion on the ffmpeg devel list suggest they are not going to use  
relative addressing in the assembly code for the whole library. Also  
someone mentioned "... that PIC/i386 is slow..". I cannot comment on  
that, I had enough trouble to understand Perian's fix.


Disabling MMX support generally or only on XCode 3.0 Intel i386-32  
systems does not look like a good idea. So, stopping the build with a  
warning "XCode 3.0 sucks, get the iPhone SDK to compile libxine!"  
seams like the best approach  - but it's not convincing, is it?

Any ideas?

Cheers,
  Matthias Ringwald

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel

Reply via email to