2011/4/13 Tor Lillqvist <tml@iki.fi>:
Yup, I agree about *.la. I guess the same holds for *.dll.a files?
No, why would it? .dll.a files should be distributed.
Hmm, yes. I was thrown off by rm -f $RPM_BUILD_ROOT%{_mingw32_libdir}/gtk-2.0/*/engines/*.dll.a in mingw32-gtk2-engines. But of course .dll.a files for loadable modules don't need to be redistributed and .dll.a files in %{_mingw32_libdir} do have to be included in the -devel package. I'll take my coffee now.
(I don't think GNU ld's ability to use a DLL directly for import information should be used except in cases where absolutely needed.)
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?
It is easier for them if a .def file is distributed, because then they need to know just how to run lib.exe to generate the import library. Sure, you can generate a .def file from a DLL too, but it is more convoluted, either using pexports or gendef, or link -dump -exports and some manual editing.
Some packages already include .def files (e.g. glib2) and some explicitly exclude them (e.g. gtk2). In other cases it gets generated in the build tree but not installed (cairo). Would it thus be a good policy to include a .def file in the -devel package when the upstream build process already provides one?
May be somebody who actually links against OBS binaries on Windows can answer this.
Yeah, good point, I am not sure there are such people anyway;)
It seems libintl is another exception.
For "my" (no longer updated) binaries, I stopped using the static proxy-libintl in the end, and just link normally to the libintl DLL (which I insisted calling "intl.dll" for backward compatibility).
Well, the binaries from Tor on ftp.gnome.org always included pixman statically in cairo,
That was just a quick decision without much thought back when the separate pixman was introduced, and I stubbornly held on to it. If I would have continues doing builds, I would probably have switched to a normal dynamic pixman library like on Linux. Don't needlessly follow my ideas here...
Fair enough, I'll just retract my requests on the OBS to link pixman statically then.
--tml
Maarten -- To unsubscribe, e-mail: opensuse-mingw+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-mingw+help@opensuse.org