On Thu, Jul 11, 2002 at 03:20:33PM -0700, Ryan Bloom wrote:
> > Bumping the MMN works for things like Apache, but not for flood,
> > subversion, or any of the countless other APR-based apps that have
> > sprung up lately.
> > 
> > I'll agree that changing the typename doesn't solve the problem of
> > mismatched binary compatibility, but it does make it obvious to the app
> > author where the interface has changed. The renaming simply gives us
> > compile-time type-checking.
> > 
> > Maybe APR needs to have its own magic number. Is there a way to
> > make a version check mandatory, or are we stuck with a voluntary check?

APR already has a version number. See include/apr_version.h. We haven't
really started to use it strictly (yet).

The apr_version.h system allows an application to check version information
at both compile-time and run-time. We do not make any kind of check
mandatory, however, because it is entirely possible for an application to
alter its interaction with APR based on the version information that it
queries (at runtime). This kind of run-time query-based altering of behavior
is important for applications to be able to run against a wide variety of
(installed) APR libraries, if they want to put in the effort.

> Versioning has been on the todo list for a long time now.  Perhaps the
> apr_time_t change is a good enough reason to add it ASAP.  Then, we can
> do the versioning and the apr_time_t change at the same time, and this
> problem is solved completely.

There are really just a couple things left for the versioning, and then to
simply crack down and impose the versioning rules, then make a release under
that version number and the rules.

(see http://apr.apache.org/versioning.html for more info (*))

Cheers,
-g

(*) the part about replacing functions (via macros) is bogus and I need to
rip out; it is not feasible to do that, which I'll explain further in the
document

-- 
Greg Stein, http://www.lyra.org/

Reply via email to