Re: Question about Makefile templates for gtk




To hopefully cut through some of the confusion:

 - On some systems, linking one shared library against another is meaningless,
   so libtool does not do it.

 - On sane systems, linking one shared library against another means that 
   the linked against library is added as a dependency to the library
   that is being linked.

   That means, that when you load one library, the other library is automatically
   loaded.

   Adding a library to _LIBADD will cause this sort of dependency to be 
   made by libtool when possible. 

   The library being linked against must be installed on many systems.
   (I think because these systems actually put a full path to the 
   library in the dependency.) This is not necessary on other systems,
   such as ELF systems. However, libtool never allows you to link one 
   library against another uninstalled library.

 - AIX does its own peculiar thing. Shared libraries on AIX are
   different from on any other system known to man.

   The details were explained to me at one point, but I no longer
   remember them. Basically, though, AIX really wants to actually
   link against all the symbols in the shared library when the 
   shared library is created.

   At least later versions of AIX have a compiler flag to
   allow undefined symbols when building a shared library.
   I presume that this flag does not result in a completely
   broken library if undefined symbols are encountered - 
   it would seem to be pointless.

   This flag was added to libtool; I presume with some testing.

So, though I don't claim to understand everything that is going on,
that's a rough outline.

We can't simply link against gdk in the gtk/ Makefile.am because
libtool will barf on it since that library isn't installed.

We can possibly do magic in an automake conditional - though
I have a bad feeling that the different versions of AIX are
somewhat different in how this all works.

Regards,
                                        Owen



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]