Re: [AD] Indexed datafiles |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
On Fri, 2006-01-06 at 01:50 +1100, Peter Wang wrote:
> On 2006-01-05, Elias Pschernig <elias@xxxxxxxxxx> wrote:
> >
> > I think the attached patch updates the version matching for the new
> > 4.2.x policy. For example:
> >
> > - You compile with 4.1.12, then only linking against 4.1.12 is ok. For
> > WIP versions, we provide no binary compatibility at all.
> >
> > - You compile with 4.2.1, then linking against 4.2.1, 4.2.2, ... are ok,
> > but against 4.2.0 is not. (I.e. we do not provide forward binary
> > compatibility anymore, so you can link against a newer DLL, but not
> > against an older.)
>
> I think enforcing a DLL upgrade for every single release might be a
> little too strong. Even though we may break forwards compatibility with
> some releases, (1) it probably won't happen that often, and (2) most
> users won't be affected anyway.
>
> A compromise may be to ask Allegro users to check for a minimum version
> of Allegro (from a forwards-compatible series) that their program
> requires. We would have to make that check easy to do, of course, but I
> expect most programs don't need such a check anyway.
>
Aha, so forward compatibility after all, just not strict. Well, what
about a function: get_allegro_version(int *a, int *b, int *c)
Then if you want to use e.g. the list_config_entries function, you would
do:
get_allegro_version(&a, &b, &c);
if (!(a >= 4 && b >= 2 && c >= 1))
abort_with_error("Need at least Allegro 4.2.1 DLL.\n");
And otherwise, it would run even with the 4.2.0 DLL.
--
Elias Pschernig