Re: RES: Libs for cross compilation

Tor Lillqvist <[email protected]> Sat, 1 Mar 2003 06:41:19 +0000
Newsgroups gmane.comp.video.gimp.windows.devel
Message-ID <[email protected]>
Friendly Ghost writes:
 > The next stage is to find out how to statically link.

Don't. So much of GTK's and Pango's functionality depends on it
finding its installation location at run time, which is handled by the
DllMain function. DLLs feel so much the "Right Thing" on Windows. Too
much hassle building also static libraries.

Please also consider what the LGPL (GNU library general public
license) says:

  If you link a program with the library, you must provide
  complete object files to the recipients so that they can relink them
  with the library, after making changes to the library and recompiling
  it.

I.e. if you link GLib, Pango, Atk or GTK statically with a program
that you distribute, you *must* also make available the object files
to your program so that users can make changes to GTK, and relink the
program. Presumable you must also make available instructions how to
build said LGPL libraries statically, as the normal distributions
doesn't provide for such builds.

 > What names static libs have?

That depends on who builds them, and how... libtool presumably would
call them (for instance) libgtk-win32-2.0.a. I think Hans Breuer has
used a "s" suffix in the basename, maybe libgtk-win32-2.0s.lib?

 > And what are .dll.a?

Import libraries (for gcc).

 > My program itself if striped weights about 60Kb. With all those libs it
 > weights about 2Mb and that's terrible.

If your program is that small, maybe you should reconsider whether GTK
is the right toolkit for it. Or maybe you should think this way:
*your* code is 60 kB, but all the functionality that GTK and Pango
gives you are an essential part of the program's user interface, too.

Where did you get the 2 MB from, the GTK, Pango and GLib runtimes are
well over 3.5 MB zipped...

 > If I'm correct that's how Patric did with his X-Chat. It only weights
 > 600Kb and it's only one file. And it is much bigger program than mine is.

I don't know X-Chat or what its creator has done, but especially in an
interactive application handling text, it would seem very silly and
narrowminded to for instance cripple GTK's i18n features, complex text
support, etc, just to make the distributable smaller.

--tml