Re: [gimpwin-dev] Re: g-libs renaming and DIR emulation



Hans Breuer wrote:

GLib's configure.in says:

# Making releases:
#   GLIB_MICRO_VERSION += 1;
#   GLIB_INTERFACE_AGE += 1;
#   GLIB_BINARY_AGE += 1;
# if any functions have been added, set GLIB_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set GLIB_BINARY_AGE _and_ GLIB_INTERFACE_AGE to 0.

[...]

So if a function gets added and some bugs are fixed every app needs
to be recompiled and redistributed, though they aren't using the
new function. This is at least not the way I always understood the
concept of dynamic libraries, but even Microsoft appears to trade
bandwidth against 'dll hell' nowadays ...

No. The part that you did skipped over said:

LT_CURRENT=`expr $GLIB_MICRO_VERSION - $GLIB_INTERFACE_AGE`
LT_AGE=`expr $GLIB_BINARY_AGE - $GLIB_INTERFACE_AGE`
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`

Thus

LT_CURRENT_MINUS_AGE = (GLIB_MICRO_VERSION - GLIB_INTERFACE_AGE) - (GLIB_GINARY_AGE - GLIB_INTERFACE_AGE)

GLIB_INTERFACE_AGE cancels out, leaving:

LT_CURRENT_MINUS_AGE = GLIB_MICRO_VERSION - GLIB_BINARY_AGE.

Thus, you get a new DLL name only when backward compatibility is broken.

--Chuck





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