On Wed, 2010-05-19 at 16:45 +0300, Eero Tamminen wrote:
> ext Cornelius Hald wrote:
> > 
> > Are you sure about _binary_ compatibility?
> 
> That's a good question as there are so many places where it can break.
> 
> Like ARM vs. x86.

Obviously, a MeeGo binary compatibility story would have to include at
least two supported hardware profiles.

If there are good reasons to support older/different ARM profiles, we
could even go to three or more.  But each new profile increases the
support workload, so each new platform proposal should have a clear and
strong justification behind it.

> Or GCC upgrade which isn't ABI compatible for C++
> (as has happened quite often in the past).

It's been a long time since we've had a serious ABI break in g++.

> And what about debuggability of optimized code?  For example having
> frame pointers vs. frame unwiding (I've understood MeeGo is going for
> latter).

Would end-users even care?  I imagine all kinds of non-standard things
could be permitted during development, as long as they all got turned
off or filtered out for the final, production build.  (Or not, as long
as they didn't impact binary compatibility.)

> Then there's the packaging angle to consider.  If something is compiled
> against newer libraries, the resulting package is normally going to have
> a dependency to these newer versions of the libraries and cannot be
> installed to release or device with older libraries although their ABI
> subset would be compatible to the new versions.

Under most circumstances, I can't imagine why apps would get compiled
against newer libraries.  Presumably, most app developers will be using
the MeeGo SDK, at least for their final production builds.

There could be an issue with newer MeeGo releases, say a MeeGo 1.1 app
running on a MeeGo 1.0 device.  But there are other hurdles to cross if
we want to support that model (what to do with new 1.1 functionality,
for instance).  As long as we do our job correctly, and 1.0 apps
continue to work on 1.1 devices, then we have at least a 90% solution:
just build your app against the oldest MeeGo version you want to
support.


_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev

Reply via email to