> ##########################################################################
> > +# Enable/disable ABI compatible build
> >
> +#########################################################################
> #
> > +ODP_ABI_COMPAT=1
> > +abi_compat=yes
> > +AC_ARG_ENABLE([abi-compat],
> > +    [  --enable-abi-compat     build all targets in ABI compatible mode
> (default=yes)],
> > +    [if test "x$enableval" = "xyes"; then
> > +       ODP_ABI_COMPAT=1
> > +       abi_compat=yes
> > +     else
> > +       ODP_ABI_COMPAT=0
> > +       abi_compat=no
> > +    fi])
> > +AC_SUBST(ODP_ABI_COMPAT)
> 
> I'm sorry for the late reply but to recap, I had a comment that we
> must have a way
> to tell users that we built a shared lib that isn't ABI-compatible,
> one way to do that
> would be to reset SO-version to 0:0:0 [1] and you replied that we weren't
> ABI-compatible [2] and that you were not sure how libs version number
> could
> indicate that [2].
> 
> So what I propose is that we reset the SO-version number to 0:0:0 if we
> build a
> library with ODP_ABI_COMPAT=0, then the consumers know that they have to
> rebuild their code if they wan't to build against this library.
> And you are correct about that we aren't ABI-compatible yet, however, I
> see that
> as another issue that we need to work towards.
> For this patch where we introduce a new configure flag that will for sure
> break
> for project that consumes ODP I think we need to find a way to tell them
> how
> the library have been built.
> 
> Cheers,
> Anders
> [1] https://lists.linaro.org/pipermail/lng-odp/2016-September/025608.html
> [2] https://lists.linaro.org/pipermail/lng-odp/2016-September/025619.html


I think still that the proposed change of library version numbering (and 
discussion of what each version number means) is a topic for another patch. 
This patch simply adds a new config option, which value is set "yes" by default 
and thus does not change the current behavior for shared libs. So, by default 
everything works as before, user needs to take action (remember to rebuild) 
only if takes advantage on inlining (sets compatibility to "no").

-Petri












Reply via email to