[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
On Thu, 12 Apr 2012 09:42:06 +0200, Tobias Hansen <tobias.han@xxxxxxxxxx> wrote:
> Am 12.04.2012 01:03, schrieb Peter Wang:
> > On Wed, 11 Apr 2012 23:02:29 +0200, Tobias Hansen <tobias.han@xxxxxxxxxx>
> wrote:
> >> Do you assign your
> >> version numbers with this in mind, so that using them as sonames is
> >> feasible? Do you always keep the libraries binary compatible when
> >> changing the third part of the version? Does binary compatibility
> >> usually break when you change the second part of the version?
> >
> > Yes, yes and yes.
> >
>
> Ok, in that case, we could go a step further and track newly added
> symbols between versions of the same soname. (So games compiled with
> 5.0.6 but using no newly introduced symbols will work with 5.0.5.)
>
> The problem here is that both Allegro 4.4 and 5 seem to export private
> symbols. For example, liballegro-dialog exports these symbols:
>
> _al_append_native_text_log@xxxxxxxxxx 5.0.6
> _al_close_native_text_log@xxxxxxxxxx 5.0.6
> _al_open_native_text_log@xxxxxxxxxx 5.0.6
> _al_show_native_file_dialog@xxxxxxxxxx 5.0.6
> _al_show_native_message_box@xxxxxxxxxx 5.0.6
> al_append_native_text_log@xxxxxxxxxx 5.0.6
> al_close_native_text_log@xxxxxxxxxx 5.0.6
> al_create_native_file_dialog@xxxxxxxxxx 5.0.6
> al_destroy_native_file_dialog@xxxxxxxxxx 5.0.6
> al_get_allegro_native_dialog_version@xxxxxxxxxx 5.0.6
> al_get_native_file_dialog_count@xxxxxxxxxx 5.0.6
> al_get_native_file_dialog_path@xxxxxxxxxx 5.0.6
> al_get_native_text_log_event_source@xxxxxxxxxx 5.0.6
> al_open_native_text_log@xxxxxxxxxx 5.0.6
> al_show_native_file_dialog@xxxxxxxxxx 5.0.6
> al_show_native_message_box@xxxxxxxxxx 5.0.6
>
> The ones starting with an underscore are private, right? Are they
> exported for a reason?
Ignorance and laziness, mostly. Addons are allowed to use private
symbols from the main library, so not everything can be hidden.
> Could you remove them?
If it's easy to do *and* maintain, we can try it on the 5.1 branch.
I think it's probably too risky for the 5.0 branch.
Users are not supposed to use any private symbols so you can just
disregard them, no?
Peter