2011/4/12 Fridrich Strba
Hello, good people,
I wanted just to point out some policies we decided when we started this mingw cross-compiling in OBS. These policies were based on our experience with win32 porting.
Thanks for bringing this up. I was thinking of asking the list first, but then decided to just submit the requests on OBS directly. Can we write these policies down on a wiki or something?
One is that we don't distribute the *.la files. They hard-code the configure time paths and are basically worthless for linking. If something does not link without them there is a problem somewhere else :)
Yup, I agree about *.la. I guess the same holds for *.dll.a files? No static libraries means that there are no *.a (or *.lib) files in the -devel packages either. Does that mean that a -devel pacakage only contains include files and pkg-config files? (perhaps together with docs and helper scripts/binaries) What about *.def files? I am thinking of facilitating people wanting to link against dynamic libraries on Windows using MSVC. Do they need a .def file or is the DLL enough, just like it is for cross-compiling with mingw? May be somebody who actually links against OBS binaries on Windows can answer this.
Another policy is that we don't distribute static libraries unless there is a huge reason for this. The exception nowadays is the iconv implementation that we use win_iconv, because it only translates between iconv APIs and win32 native APIs and distribute it as a dll would not make any sense, especially that it is not developed as such by the developer.
It seems libintl is another exception.
It is true that in the win32 world, many people, me including (Tor will remember) liked to make as much binaries as possible statically linked so that they can distribute only one *.exe. But, from experience, a multitude of dlls is better even for pixman that might be at one point used by something else then cairo.
Well, the binaries from Tor on ftp.gnome.org always included pixman statically in cairo, that's where I got the idea from. But the policy makes sense and there is actually already another package that depends on pixman: gtk2-engine-murrine, although I think I'm the only one interested in that package. If there is a wiki page explaining these policies, then a rationale for only providing DLLs (such as enabling the user to upgrade to newer versions with security fixes) should go there too.
Cheers
Fridrich
Maarten -- To unsubscribe, e-mail: opensuse-mingw+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-mingw+help@opensuse.org