Mailinglist Archive: opensuse-mingw (34 mails)

< Previous Next >
Re: [opensuse-mingw] OBS repositories and static libraries
  • From: Maarten Bosmans <mkbosmans@xxxxxxxxx>
  • Date: Wed, 13 Apr 2011 11:46:36 +0200
  • Message-id: <BANLkTi=0WaW8G3Qsc5vBPYgRvSJPCF-SBg@mail.gmail.com>
2011/4/13 Tor Lillqvist <tml@xxxxxx>:
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@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-mingw+help@xxxxxxxxxxxx

< Previous Next >